[SQL] Każda tabela jest w trzeciej postaci normalnej

max123321
Użytkownik
Użytkownik
Posty: 3389
Rejestracja: 26 maja 2016, o 01:25
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 975 razy
Pomógł: 3 razy

[SQL] Każda tabela jest w trzeciej postaci normalnej

Post autor: max123321 »

"Każda tabela w pierwszej postaci normalnej mająca dokładnie trzy kolumny jest w trzeciej postaci normalnej." Czy to zdanie jest prawdziwe? Jeśli tak, uzasadnij krótko odpowiedź, jeśli nie podaj kontrprzykład.

Jak to zrobić?
Ostatnio zmieniony 21 cze 2019, o 23:41 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

Re: [SQL] Każda tabela jest w trzeciej postaci normalnej

Post autor: Afish »

Weź zależności funkcyjne \(\displaystyle{ A \rightarrow B, B \rightarrow C}\) i wtedy trzeci atrybut nie jest w całości zależny od klucza.
Dudenzz
Użytkownik
Użytkownik
Posty: 93
Rejestracja: 8 mar 2009, o 18:21
Płeć: Mężczyzna
Pomógł: 19 razy

Re: [SQL] Każda tabela jest w trzeciej postaci normalnej

Post autor: Dudenzz »

Afish pisze:Weź zależności funkcyjne \(\displaystyle{ A \rightarrow B, B \rightarrow C}\) i wtedy trzeci atrybut nie jest w całości zależny od klucza.
To jest przykład zależności przechodniej, a nie częściowej, której w 3NF też być nie powinno.
Ukryta treść:    
Tabela jest w 2NF jeżeli jest w 1NF i nie zawiera zależności częściowych, tabela jest w 3NF jeżeli jest w 2NF i nie zawiera zależności przechodnich.

Przykład relacji zawierającej zależność częściową:

\(\displaystyle{ U = \{A,B,C\}}\)
\(\displaystyle{ F = \{A \rightarrow C\}}\)

Atrybuty kluczowe w tym schemacie to \(\displaystyle{ A}\) oraz \(\displaystyle{ B}\). Atrybut \(\displaystyle{ C}\) nie zależy od całego klucza, a tylko od jego części.
ODPOWIEDZ