Diskuzní fórum
Normalizace DFM
- Normalizace DFM3.1.2009

-
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:22


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:
- (1NF) – atomičnost
jméno majitele účtu rozdělit na jméno a příjmení
adresu rozdělit na ulici, č. popisné, město, atd.
- (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)
- (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:13


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:48


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:50


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:25


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


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.
-
13.1.2009 18:01:41
-
13.1.2009 11:01:25
-
10.1.2009 21:01:48
- (1NF) – atomičnost
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.