Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Normalizacja do BCNF
jg44
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 14
Dołączył: 14.07.2011
Skąd: Gliwice / Wrocław

Ostrzeżenie: (0%)
-----


Witam,
czy mógłby mi ktoś przybliżyć, jak wygląda znormalizowanie bazy do 3.5NF (BCNF)? Znalazłem kilka definicji w necie, ale jakoś nie do końca potrafię je ogarnąć:

1) "Relacja jest w BCNF wtedy i tylko wtedy, gdy każdy jej atrybut zależy funkcjonalnie tylko od jej klucza głównego." - to czasami nie jest definicja 3NF? Poza tym co to znaczy, że relacja ma klucz główny? W relacji łączymy więcej niż jedną tabelę, więc może być przecież tak, że w każda z łączonych tabel będzie miała swój klucz główny. Oznacza to zatem, że aby relacja była w BCNF, to musi być tylko jeden klucz główny?

2) "BCNF - jedynymi elementami determinującymi są klucze kandydujące." - czy elementy determinujące (np. A i B) to takie, że pewne wartości z A zawsze występują z pewnymi wartościami z B? Rozumiem, że A występują w jednej tabeli a B w drugiej?

3) No i wikipedia: "Jeśli dla dwóch atrybutów X i Y, Y zależy fukncyjnie od X i nie jest w nim zawarty, to X jest kluczem lub zawiera klucz." - dla mnie to jest dalej definicja 3NF.

Z góry dziękuję
pozdrawiam

Ten post edytował jg44 7.07.2012, 08:08:15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jg44
post
Post #2





Grupa: Zarejestrowani
Postów: 122
Pomógł: 14
Dołączył: 14.07.2011
Skąd: Gliwice / Wrocław

Ostrzeżenie: (0%)
-----


Zgadza się, normalizacja powyżej 3NF raczej nie ma sensu, jednak podobno jest tak, że "jeśli baza jest znormalizowana do 3NF, to prawie zawsze spełnia również wymogi BCNF". Projektując bazę znormalizowałem ją właśnie do 3NF i z ciekawości chciałbym wiedzieć, czy może przypadkiem jest też BCNF (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 11:11