Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Postacie normalne?
Forum PHP.pl > Forum > Bazy danych
espeen
Witam.
Jak wiadomo gdy tworzymy bazę danych staramy się aby była ona w jak najwyższej postaci normalnej.
Mam pytanie czy ktoś może w prosty sposób wyjaśnić o co chodzi z tymi postaciami i jak wygląda baza w 1NF, 2NF, 3NF, 3.5 NF (inaczej BCNF), 4NF i 5 NF?questionmark.gif

Tylko prosiłbym o wyjaśnienie tego po polsku tzn w łatwym języku ponieważ nie trudno znaleść to w fachowej literaturze ale bardzo trudno się w tym połapać.
Dodam że bardzo mi się spieszy aby to zrozumieć wiec proszę pisać jak najszybciej.
SongoQ
Temat przenosze do baz danych, postacie normalne wystepuja w kazdej bazie relacyjnej.

Cytat
Jak wiadomo gdy tworzymy bazę danych staramy się aby była ona w jak najwyższej postaci normalnej

Niezupelnie, niektore schematy pozostaja np w 1NF.

Cytat
Mam pytanie czy ktoś może w prosty sposób wyjaśnić o co chodzi z tymi postaciami i jak wygląda baza

Szkoda powtarzac to co mozesz znalezc w google, jesli konkretnie czegos nie bedziesz wiedzial to pisz na forum, ale raczej nie ma sensu abym tutaj przeklejal teorie z innej strony. W sieci znajdziesz opis jak i przyklady relacji dla roznych postaci normalnych. Przewaznie w projektach uzywa sie od 1NF do 3NF, zadziej sie wykorzystuje postac normalna Boyce-Codda, no chyba ze to jest typowy problem z "powtarzanymi ulicami w roznych miastach".

Lepiej bedzie jesli sam pogooglach i poczytasz a ewentualne pytania i przyklady bedziesz kierowal na forum.

P.S. Sesja sie zbliza a na wyklady sie nie chodzilo?
espeen
Cytat(SongoQ @ 2006-01-12 03:17:30)
P.S. Sesja sie zbliza a na wyklady sie nie chodzilo?


winksmiley.jpg Najpierw trzeba zdobyć zaliczenie z przedmiotu tongue.gif

A co do kopiowania innych stron to nie chodziło mi o to tylko o to aby ktoś swoimi słowami powiedział co to jest 1NF itd. A nie żeby mi pisał definicje typu :

Definicja Pierwszej postaci normalnej:
Zależność funkcyjna dwóch zbiorów arybutów X,Y w relacji jest wtety, kiedy dla każdej krotki wartość atrybutu Y jest zdeterminowana przez wartość w X

Tak więc w dalszym ciągu proszę o normalne wytłumaczenie tego problemu.
SongoQ
To mi wyglada na korepetycje. A ja drogi jestem tongue.gif
Pozniej postaram sie na przykladach pokazac, jak znajde czas oczywiscie.
espeen
Cytat(SongoQ @ 2006-01-12 03:17:30)
Niezupelnie, niektore schematy pozostaja np w 1NF.


Zgodze się że niektóre schmaty pozostają w pierwszej postaci normalnej, a czasem zadarza się że nawet i pierwsza postać to nie jest ale to nie świadczy dobrze osobie, która zaprojektowała bazę.
Fkatycznie bardzo często przesadą jest uparte doprowadzanie bazy do 5NF ponieważ często spowalnia to czas zapytań do bazy jednak 3 lub 3,5 NF to raczej standard.
Adiasz
lektura tego powinna wystarczyc w zrozumieniu postaci normalnych
SongoQ
@espeen To jest teoria, niektore przyklady nie zawsze sie wykorzystuje, to zalezy od stopnia skomplikowania struktury.
espeen
Cytat(SongoQ @ 2006-01-13 21:56:17)
niektore przyklady nie zawsze sie wykorzystuje, to zalezy od stopnia skomplikowania struktury.

Ja nie mówie o bazkach które mają dwie tabele i ktoś sobie na nich robi selecty. Mi chodzi o duże bazy w których zastosowanie 1NF spowodowałoby że głupi SELECT trwałby całą noc.
SongoQ
Cytat
spowodowałoby że głupi SELECT trwałby całą noc.

Wsumie to troche odbiega od tematu bo to juz jest problem z dostrajaniem zapytania. Jednym z zalozen poruszonego przez Ciebie tematu jest wyeliminowanie bledow. Jestem ciekaw ilu projektantow baz danych trzyma sie takich zalozen.
espeen
Myślę że wielu ponieważ postacie normalne są po to aby projektować lepsze bazy wiec powinno się je stosować choć faktycznie może nie koniecznie aż do 5NF bo przeciętnie kończy się na 3NF i w zupełności to wystarczy.

Ale nic nie odbiegajmy od tematu, bo nie chodzi o to czy jest sens stosować postacie normalne tylko chodzi o to czy ktoś może je wyjaśnić:)
em1X
Z chęcia bym wytlumaczyl, ale nie bardzo juz to pamietam. Egzamin mialem z tego w czerwcu ubieglego roku:

pamietam jedynie, ze I postać normalna jest wtedy, gdy nie wystepuje redundancja danych w tabeli. Czyli mozna zalozyc, ze w poprawnym modelu relacyjnym I postac normalna wystepuje zawsze.
espeen
Definicji postaci normalnych jest tyle że się w głowie nie mieści. Ja nauczyłem się tych najlepiej przyswajalnych i nie narzekam:

1NF - wartości atrybutów (kolumn) są nieelementarne czyli pojedyncze
2NF - kolumny nie wchodzące w skład klucza głównego są od niego w pełni funkcyjnie zależne
3NF - kolumny nie wchodzące w skład klucza są zależne funkcyjnie od klucza kandydującego
4NF - polega na wyeliminowaniu zależności 1 do wielu między kolumnami nie należącymi do klucza głównego
5NF - rozbicie na jak największa ilość tabel.
BCNF - jest tak mało popularna że szkoda pisać jej definicje
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.