Podczas wykładu mój wykładowca pokazał nam stół bez klucza podstawowego. Po przesłuchaniu powiedział, że w 3NF, kiedy usuwasz zależności przechodnie, możesz mieć tabelę bez klucza podstawowego.
Jednak żaden klucz podstawowy nie sugeruje, że nie ma zależności funkcjonalnych - ale 3NF polega na usunięciu zależności przechodnich i nauczono mnie, że każda tabela musi mieć klucz podstawowy do normalizacji, ponieważ wszystko zależy od zależności funkcjonalnych.
Wiem, że utworzenie tabeli bez klucza podstawowego jest w pełni możliwe, ale czy ta baza danych jest uważana za znormalizowaną, jeśli ta tabela istnieje?
Powinienem dodać, że tabela nie ma żadnego „unikalnego klucza”, żadnego podstawowego, żadnego złożonego, żadnego obcego.
Przedstawiona tabela ma trzy atrybuty, z których żaden nie jest oznaczony jako podstawowy lub unikalny. Zapytałem, czy to pomyłka, a on odpowiedział, że nie ma takiej możliwości. Zakwestionowałem tę uwagę, ponieważ żadnej z informacji w tabeli nie można jednoznacznie zidentyfikować, a on stwierdził, że tak jest w porządku. Jest to sprzeczne z tym, czego nauczono mnie na temat normalizacji.
count
atrybut do elementów?3NF odnosi się do tabeli zgodnej z pierwszymi 3 zasadami normalizacji danych.
Trzecia reguła wymaga klucza. Masz rację, stół wykładowcy nie był 3NF.
źródło