Diskuzní fórum

Normalizace DFM

Normalizace DFM3.1.2009novinka

cau dokazal by mi nekdo rict jak by mohla vypadat normalizace do 3 Normalni formy teto tabulky:

Transakce: číslo účtu, kód banky, číslo pobočky, jméno majitele účtu, adresa majitele účtu, vklad, výběr, variabilní symbol, datum, číslo účtu příjemce, kód banky příjemce.

vsem diky za snahu

reagovatZadal Plysak87 REG   Předměty → Datové a funkční modelování   6 reakcí → nejnovější 13.1.2009 18:13
  • 4.1.2009 20:01:22novinka

    Rawn napsala

    :

    Ahoj! Pokusím se to nějak vyložit…

    Jestli má být relace ve 3 normální formě, musí být i v 1. a 2. Takže:

    1. (1NF) – atomičnost

      jméno majitele účtu rozdělit na jméno a příjmení

      adresu rozdělit na ulici, č. popisné, město, atd.

    2. (2NF) – atributy závislé na PK (musí s ním souviset)

      (nevím, co jsi tu označil jako primární klíč(PK), ale asi bych dala
      číslo účtu spolu s kódem banky)
      rozdělila bych položky do dvou tabulek:

      tab. Majitel – číslo účtu (PK) (C,10)
      kód banky (PK) (C,4)
      jméno majitele (C,25)
      příjmení majitele (C,35)
      ulice majitele (C,50)
      č. popisné majitele (C,6)
      město majitele (C,50)

      tab. Transakce – číslo účtu majitele-odesíletele (CK)
      kód banky majitele-odesílatele (CK)
      číslo účtu majitele-příjemce (CK)
      kód banky majitele-příjemce (CK)
      ((CK) tzn. cizí klíč z tab. Majitel)
      č. pobočky (C,?)
      variabilní symbol (C,4)
      vklad (N,8)
      výběr (N,8)
      datum (D)

      (nejraději bych přidala i tabulku banky, ale v zadání nejsou k tomuto kroku zadané atributy)

    3. (3NF) – neklíčové atributy jsou navzájem nezávislé

      (nevidím mezi atributy žádné dva, které by vyjadřovaly to samé;
      kdyby tam třeba byl atribut Název pobočky, rozšířila by se
      databáze o další tabulku)

      Takže hotovo.

      Nemám patent na mozek, takže je možné, že jsem udělala chybu, ale snad to i tak k něčemu bude.

    Hodně štěstí u zkoušek! :D

    • 10.1.2009 11:01:13novinka

      michalh napsal

      :

      Na primární klíč složený z čísla BÚ bych byl více opatrný. Co když „Majitel“ změní číslo účtu? To by se mu ztratila historie všech plateb. A vůbec nechci domyslet co by se stalo, až by ten „Majitel“ přišel a řekl že má ty účty dva.

      Rozdělení na tabulky správné, akorát provázání id_majitel (PK)

      • 10.1.2009 21:01:48novinka

        Rawn napsala

        :

        Souhlasím, ale v tabulce jsem označila primární klíč jako složený (Č. účtu + kód banky). V tomto případě by se to stát nemělo. Uvažuji správně?

      • 11.1.2009 11:01:50novinka

        michalh napsal

        :

        Vycházím z podmínky, že primární klíč nelze měnit

        Jak řešit, když přijde majitel účtu po půl roce s tím, že změnil banku (tedy číslo účtu i kód banky)?

        V tvém modelovém případě by musel vložit do systému novou osobu majitele s novým účtem. (tady už porušujeme 2. normální formu)

        A tento majitel, bude chtít vědět na konci roku sumu kolik mu kdo zaplatil na všechny jeho účty. (a tady už systém zkolabuje)

        Ano, tvůj modelový případ je podle skript možná správný. Ale já bych dal vždy do každé tabulky jednoznačný identifikátor ID (a vyhnul se těmto možným komplikacím)

        • 13.1.2009 11:01:25novinka

          Rawn napsala

          :

          :-) Hmm… Máš pravdu. Já jen nesnáším umělé primární klíče… :-D

          • 13.1.2009 18:01:41novinka

            mytrix napsal

            :

            to je tim, zes to vzitovte nenasadila do praktickeho vyuziti.. az bys mela vytvaret dotazy na podobne tabulky, pak by te to hned preslo, te ujistuju a predla by sis radosti, jak jsou umele klice jednoduche ;)

            Jinak Koch ma bohuzel ve skriptech v DFM dost zasadni chyby.

Jste u konce - nyní můžete reagovat na konkrétní příspěvek kliknutím na odkaz "reagovat" nacházející se na konci příslušné odpovědi nebo můžete reagovat na hlavní téma diskuze.

Vyhledávání
Kalendář aneb právě dnes

Dnes je 19.května 2012
je 20. týden roku (sudý)
a svátek má Ivo.

Narozeniny dnes slaví:

Přejeme vše nejlepší!

A co dnes nabízí menza?