Podczas rozmowy kwalifikacyjnej niektórzy rekruterzy pytają o paradygmat baz danych, studiowałem bazy danych na studiach, ale nie słyszałem o tym paradygmadzie, albo nauczyciel o nim wspomniał i nie zwracałem na to uwagi?
Obecnie w relacyjnych bazach danych znajduje się sześć paradygmatów: pierwszy (1NF), drugi paradygmat (2NF), trzeci paradygmat (3NF), paradygmat Bass-Cod (BCNF), czwarty paradygmat (4NF) oraz piąty paradygmat (5NF, znany również jako paradygmat doskonały).
Zazwyczaj używamy pierwszego paradygmatu (1NF), drugiego (2NF) oraz trzeciego (3NF), czyli "trzech paradygmatów" omawianych w tym artykule.
Pierwszy paradygmat (1NF): Wymaga, aby każda kolumna tabeli bazy danych była niepodzielnym elementem danych atomowych.
Ilustrują:
W powyższej tabeli kolumny "Informacje o rodzinie" ani "Informacje o szkole" nie spełniają wymagań atomowości, więc nie spełniają pierwszego paradygmatu i są korygowane następująco:
Widać, że każda skorygowana kolumna jest niepodzielna, więc spełnia pierwszy paradygmat (1NF);
Paradygmat 2 (2NF): Na podstawie 1NF atrybuty niekodujące muszą być całkowicie zależne od kodów kandydatów (eliminacja częściowej zależności funkcji atrybutów niegłównych od kodu głównego na podstawie 1NF)
Drugi paradygmat musi zapewnić, że każda kolumna w tabeli bazy danych jest powiązana z kluczem głównym, a nie tylko jego częścią (głównie dla federacyjnych kluczy głównych).
Ilustrują:
W przypadku pokazanym na powyższym diagramie to samo zamówienie może zawierać różne produkty, więc klucz główny musi być kombinacją "numer zamówienia" i "numer produktu".
Jednak można stwierdzić, że ilość produktu, zniżka produktu i cena produktu są powiązane z "numerem zamówienia" i "numerem produktu", natomiast kwota zamówienia i czas zamówienia są powiązane wyłącznie z "numerem zamówienia" i nie mają nic wspólnego z "numerem produktu".
Nie spełnia on wymagań drugiego paradygmatu i jest dostosowywane następująco, który należy podzielić na dwie tabele:
Trzeci paradygmat (3NF): Na podstawie 2NF żaden atrybut nie-główny nie zależy od innych atrybutów nie-głównych (eliminując zależności transmisji na podstawie 2NF)
Trzeci paradygmat musi zapewnić, że każda kolumna danych w tabeli danych jest bezpośrednio powiązana z kluczem głównym, a nie pośrednio.
Ilustrują:
W powyższej tabeli wszystkie atrybuty zależą całkowicie od liczby uczniów, więc drugi paradygmat jest spełniony, ale "płeć nauczyciela klasowego" i "wiek nauczyciela" bezpośrednio zależą od "imienia nauczyciela klasowego".
Zamiast głównego klucza "numer ucznia" należy wprowadzić następujące korekty:
W ten sposób spełnione są wymagania trzeciego paradygmatu.
ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。
BCNF (Paradygmat Bovce Codd Normal Form Bacchus)
Trzecim paradygmatem korekcji jest zapobieganie zależności jednej kolumny klucza głównego od innych kolumn klucza głównego. Gdy 3NF eliminuje niektóre zależności funkcji i zależności funkcji transferowych od głównego kodu atrybutu, nazywa się to BCNF.
Charakterystyczny:
1. Wszystkie główne atrybuty są całkowicie funkcjonalnymi zależnościami od każdego kodu
2. Wszystkie główne atrybuty są całkowicie zależne od funkcji od kodu, który go nie zawiera
3. Nie ma atrybutów w pełni funkcjonalnych i zależnych od jakiegokolwiek zestawu właściwości niekodowych
Na przykład tabela zapasów (nazwa magazynu, nazwa administratora, nazwa produktu, ilość), kluczem głównym jest (nazwa magazynu, nazwa administratora, nazwa produktu), która spełnia trzy poprzednie paradygmaty, ale istnieje zależność między nazwą magazynu a nazwą administratora, więc usunięcie magazynu spowoduje usunięcie administratora, więc BCNF nie jest zadowolony.
4NF Czwarty paradygmat
Atrybuty niepodstawowe nie powinny mieć wielu wartości. Jeśli istnieje wartość wielowartościowa, narusza to czwarty paradygmat. 4NF to wzorzec relacyjny restrykcyjny, który nie dopuszcza niebanalnych i niezależnych od funkcji wielowartościowych zależności między własnościami.
Na przykład tabela informacji kontaktowych użytkownika (identyfikator użytkownika, telefon stacjonarny, telefon komórkowy), gdzie identyfikator użytkownika jest kluczem głównym, spełniającym BCNF, ale użytkownik może mieć wiele telefonów stacjonarnych lub telefonów komórkowych, wtedy taki projekt jest nierozsądny i powinien zostać zmieniony na (identyfikator użytkownika, typ kontaktu, numer telefonu).
Uwaga: Jeśli bierze się pod uwagę tylko zależności funkcji, paradygmatem o najwyższym stopniu normalizacji wzorców relacyjnych jest BCNF. Jeśli rozważymy zależności wielowartościowe, to jest to 4NF.
5NF Piąty Paradygmat
Piąty paradygmat jest ostatecznym, eliminującym zależność połączenia w 4NF, a piąty paradygmat musi spełniać następujące wymagania:
1. Czwarty paradygmat musi zostać spełniony
2. Tabele muszą być rozkładalne na mniejsze tabele, chyba że logicznie mają ten sam klucz główny co oryginalna tabela.
W ogólnych zastosowaniach praktycznych piąty paradygmat nie musi być brany pod uwagę.
Przeniesiono z:Logowanie do linku jest widoczne. Odniesienie:Logowanie do linku jest widoczne.
|