Dom Rozwój Co to jest trzecia postać normalna (3nf)? - definicja z techopedia

Co to jest trzecia postać normalna (3nf)? - definicja z techopedia

Spisu treści:

Anonim

Definicja - Co oznacza trzecia postać normalna (3NF)?

Trzecia postać normalna (3NF) jest trzecim krokiem w normalizacji bazy danych i opiera się na pierwszej i drugiej normalnej formie, 1NF i 2NF.

3NF stwierdza, że ​​należy usunąć wszystkie odwołania do kolumn w odnośnych danych, które nie są zależne od klucza podstawowego. Innym sposobem na umieszczenie tego jest to, że tylko kolumny klucza obcego powinny być używane do odwoływania się do innej tabeli, a żadne inne kolumny z tabeli nadrzędnej nie powinny istnieć w tabeli, do której się odwołuje.

Techopedia wyjaśnia Third Normal Form (3NF)

Rozważ bazę danych banku, która zawiera dwie tabele: CUSTOMER_MASTER do przechowywania danych klienta i ACCOUNT_MASTER do przechowywania informacji o rachunkach bankowych, w tym o tym, który klient posiada dane konto. W takim przypadku musi istnieć sposób połączenia dwóch tabel, aby powiązać konto z klientem, który jest jego właścicielem. Można to zrobić za pomocą klucza obcego. Jest to kolumna w tabeli ACCOUNT_MASTER, która wskazuje lub odwołuje się do odpowiedniej kolumny (zwanej kluczem podstawowym) w tabeli nadrzędnej CUSTOMER_MASTER. Nazwijmy tę kolumnę CustID.

Załóżmy, że klient Andrew Smith tworzy konto w tabeli CUSTOMER_MASTER o numerze CustID 20454. Pan Smith posiada konto oszczędnościowe o numerze S-200802-005, którego dane są przechowywane w tabeli ACCOUNT_MASTER. Oznacza to, że tabela ACCOUNT_MASTER będzie miała kolumnę o nazwie CustID, która nie jest oryginalnym fragmentem danych. Zamiast tego ma również wartość 20454, która po prostu odwołuje się do tego samego CustID w tabeli CUSTOMER_MASTER.

Teraz 3NF dyktuje, że w naszej tabeli ACCOUNT_MASTER jedyne informacje, które przechowujemy na temat klienta, to CustID (20454) jako klucz obcy, i odnosi się on do klienta, który jest właścicielem tego samego CustID w tabeli CUSTOMER_MASTER, i identyfikuje go (Andrew Smith ). Żadne inne dane o naszym kliencie (takie jak imię i nazwisko, data urodzenia, płeć itd.) Nie powinny być przechowywane w tabeli ACCOUNT_MASTER, ani w żadnej innej tabeli, ponieważ wszystkie te dane o nim są już przechowywane w CUSTOMER_MASTER. W ten sposób jedynym danymi klienta przechowywanymi poza tabelą CUSTOMER_MASTER jest CustID. Daje to atrakcyjne dywidendy, zapewniając brak powielania danych, co z kolei sprawia, że ​​zapytania działają znacznie wydajniej i zmniejsza ilość wymaganego miejsca.

Co to jest trzecia postać normalna (3nf)? - definicja z techopedia