none
Smysluplnost teorie 1NF, 2NF... RRS feed

  • Dotaz

  •  

    Jsem nováčkem v SQL Server a studuji i základy relačního návrhu databáze. Teď jsem narazil na normalizaci databází a po pravdě řečeno nechápu teorii o jednotlivých normalizačních formách. Pokud jsem stále v obraze, tak normalizace je o tom, abych se nedozvídal informaci dvakrát, nevytvářel nadbytečná data. Naprosto ale nechápu o čem je teorie popisující 1NF, 2NF, 3NF, 4NF a co já vím kde to vlastně končí. Snad stačí vědět co to je relace, primární a cizí klíč, co to je dotaz, co je lookup table. Na co třídění do NF?
    pondělí 7. ledna 2008 6:38

Odpovědi

  •  

    To máte jako s každou teorií a praxí.

    Na to, abyste v krámě zaplatil housky taky nemusíte být matematik.

    ...jsou však situace, kdy se matematika hodí.

     

    Obdobně relační DB návrh. Praxe Vás naučí/naučila, jak máte dělat PK, FK, jak postavit DB schema. No a tahle teorie k tomu je systematické pojmenování těch postupů, jejich formální zdůvodnění, popř. popsání metod, jak se algoritmicky dobrat k požadované NF.

     

    Moje zkušenost je taková, že DB schémata vytvářená začátečníky (mé začátky nevyjímaje) jsou prasárny nad prasárny. Přitom ty nejhorší chyby lze odstranit několika málo pravidly, které se dají popsat do pěti řádek textu a je úplně jedno, jestli se to nadepíše "Best Practices", nebo "Normální formy", nebo jakkoliv jinak.

     

    Pokud jste se pustil do studia NF, tak je to chválihodné a věřte tomu, že námaha spojená s vytvořením kvalitního DB schematu stojí za to. DB mívají dlouho životnost a refactoring DB schématu po letech běhu aplikace je peklo.

    středa 9. ledna 2008 9:41
    Moderátor
  • Jo je to Bois-Coddova forma ... a tez se ji rika 4.NF. Oni ty formy jsou dobre hlavne pro ty zacinajici db-architekty, aby meli "nejake voditko" na tvorbu dobreho schematu databaze. Formy tez ukazuji jak treba resit vazbu M:N atd.

     

    Jakmile ziskate vice praxe s projekty a hlavne prijde na radu optimalizace databaze na vykon, tak zjistite ze se obcas musi 3.NF porusit a redundance dat muze pak hrat velkou roli pri zvyseni vykonu dotazu.

     

    Osobne si myslim, ze je lepsi zacit studiem NF nez se pustit bezhlave do tvorby db-schematu.

    pátek 8. srpna 2008 7:21

Všechny reakce

  • NF jsou tusim teorii databazi obecne.

    Jde o to, aby navrh byl minimalne ve 3.NF a vyhoda te teorie je, ze se to da pomoci ni vypocitat, takze se clovek nemusi spolehat na svuj "odhad". (otazka je, jestli v pocitani clovek nenadela vic chybSmile ). S 3.NF by pak nemely byt data redundantni, ale pozor, zase ne vzdycky se vyplati mit navrh v nejvyssi mozne NF.

    Mno moje znalosti jsou omezene, necht me nekdo z chytrejsich opravi.
    úterý 8. ledna 2008 0:34
  • Vzpomínám, že nás učili 1NF, 2NF, 3NF a BCNF ...teď se omlouvám, už si to přesně nepamatuji... [Bois-Codd-ova] normální forma.

    Ano, je to o REDUNDANCI, ale i ta je někdy dobrá kvůli JEDNODUCHOSTI A RYCHLOSTI, takže bych se tím zas tak moc netrápil
    úterý 8. ledna 2008 21:07
  •  

    To máte jako s každou teorií a praxí.

    Na to, abyste v krámě zaplatil housky taky nemusíte být matematik.

    ...jsou však situace, kdy se matematika hodí.

     

    Obdobně relační DB návrh. Praxe Vás naučí/naučila, jak máte dělat PK, FK, jak postavit DB schema. No a tahle teorie k tomu je systematické pojmenování těch postupů, jejich formální zdůvodnění, popř. popsání metod, jak se algoritmicky dobrat k požadované NF.

     

    Moje zkušenost je taková, že DB schémata vytvářená začátečníky (mé začátky nevyjímaje) jsou prasárny nad prasárny. Přitom ty nejhorší chyby lze odstranit několika málo pravidly, které se dají popsat do pěti řádek textu a je úplně jedno, jestli se to nadepíše "Best Practices", nebo "Normální formy", nebo jakkoliv jinak.

     

    Pokud jste se pustil do studia NF, tak je to chválihodné a věřte tomu, že námaha spojená s vytvořením kvalitního DB schematu stojí za to. DB mívají dlouho životnost a refactoring DB schématu po letech běhu aplikace je peklo.

    středa 9. ledna 2008 9:41
    Moderátor
  • Jo je to Bois-Coddova forma ... a tez se ji rika 4.NF. Oni ty formy jsou dobre hlavne pro ty zacinajici db-architekty, aby meli "nejake voditko" na tvorbu dobreho schematu databaze. Formy tez ukazuji jak treba resit vazbu M:N atd.

     

    Jakmile ziskate vice praxe s projekty a hlavne prijde na radu optimalizace databaze na vykon, tak zjistite ze se obcas musi 3.NF porusit a redundance dat muze pak hrat velkou roli pri zvyseni vykonu dotazu.

     

    Osobne si myslim, ze je lepsi zacit studiem NF nez se pustit bezhlave do tvorby db-schematu.

    pátek 8. srpna 2008 7:21