![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 5.01.2006 Skąd: Kraków Ostrzeżenie: (10%) ![]() ![]() |
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? ![]() 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. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
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? -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 5.01.2006 Skąd: Kraków Ostrzeżenie: (10%) ![]() ![]() |
Cytat(SongoQ @ 2006-01-12 03:17:30) P.S. Sesja sie zbliza a na wyklady sie nie chodzilo? ![]() ![]() 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. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
To mi wyglada na korepetycje. A ja drogi jestem
![]() Pozniej postaram sie na przykladach pokazac, jak znajde czas oczywiscie. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 5.01.2006 Skąd: Kraków Ostrzeżenie: (10%) ![]() ![]() |
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. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 28.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
lektura tego powinna wystarczyc w zrozumieniu postaci normalnych
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@espeen To jest teoria, niektore przyklady nie zawsze sie wykorzystuje, to zalezy od stopnia skomplikowania struktury.
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 5.01.2006 Skąd: Kraków Ostrzeżenie: (10%) ![]() ![]() |
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. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
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. -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 5.01.2006 Skąd: Kraków Ostrzeżenie: (10%) ![]() ![]() |
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ć:) |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
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. -------------------- eh, co polska wódka to polska wódka
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 5.01.2006 Skąd: Kraków Ostrzeżenie: (10%) ![]() ![]() |
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 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:17 |