Szósta postać normalna

Szósta postać normalna ( 6NF ) to termin w teorii relacyjnych baz danych , używany na dwa różne sposoby.

6NF (C. Definicja daty)

Christopher J. Date i inni zdefiniowali szóstą postać normalną jako postać normalną , w oparciu o rozszerzenie algebry relacyjnej.

Operatory relacyjne, takie jak join , są uogólnione, aby wspierać naturalne przetwarzanie danych interwałowych, takich jak sekwencje dat lub momentów w czasie, na przykład w tymczasowych bazach danych . Szósta postać normalna jest następnie oparta na tym uogólnionym połączeniu w następujący sposób:

Zmienna relacyjna R [tabela] jest w szóstej postaci normalnej (w skrócie 6NF) wtedy i tylko wtedy, gdy w ogóle nie spełnia żadnych nietrywialnych zależności łączenia — gdzie, jak poprzednio, zależność łączenia jest trywialna wtedy i tylko wtedy, gdy przynajmniej jedna z projekcji (prawdopodobnie U_projections) przejmuje zbiór wszystkich atrybutów danej zmiennej relacyjnej [tabeli].

Data i in. podali również następującą definicję:

Relvar R jest w szóstej postaci normalnej (6NF) wtedy i tylko wtedy, gdy każdy JD [Zależność łączenia] R jest trywialny — gdzie JD jest trywialny wtedy i tylko wtedy, gdy jeden z jego składników jest w całości równy odpowiedniemu nagłówkowi.

Każda relacja w 6NF jest również w 5NF .

Szósta postać normalna ma na celu rozłożenie zmiennych relacyjnych na składowe nieredukowalne. Chociaż może to być stosunkowo nieistotne w przypadku zmiennych relacji innych niż czasowe, może być ważne w przypadku zmiennych czasowych lub innych danych przedziałowych. Na przykład, jeśli relacja obejmuje nazwę dostawcy, status i miasto, możemy również chcieć dodać dane czasowe, takie jak czas, w którym te wartości są lub były ważne (np. dla danych historycznych), ale trzy wartości mogą zmieniać się niezależnie od siebie i w różnym tempie. Możemy na przykład chcieć prześledzić historię zmian Statusu; przegląd kosztów produkcji może ujawnić, że zmiana była spowodowana zmianą miasta dostawcy, a co za tym idzie, opłatami za dostawę.

Więcej informacji na temat agregacji czasowej w SQL można znaleźć w Zimanyi. Aby zapoznać się z innym podejściem, zobacz TSQL2 .

Postać normalna klucza domeny

Niektórzy autorzy używali terminu szósta postać normalna inaczej: jako synonim postaci normalnej klucza domeny (DKNF). To użycie poprzedza prace Date i wsp.

Stosowanie

Szósta postać normalna jest obecnie używana w niektórych hurtowniach danych , w których korzyści przeważają nad wadami, na przykład przy użyciu modelowania kotwicy . Chociaż użycie 6NF prowadzi do eksplozji tabel, nowoczesne bazy danych mogą usuwać tabele z wybranych zapytań (za pomocą procesu zwanego „eliminacją tabel”) tam, gdzie nie są one wymagane, a tym samym przyspieszać zapytania, które uzyskują dostęp tylko do kilku atrybutów.

Przykłady

Aby tabela była w szóstej postaci normalnej, najpierw musi być w piątej postaci normalnej , a następnie wymaga, aby każda tabela spełniała tylko trywialne zależności łączenia. Weźmy prosty przykład z tabelą już w 5NF: tutaj, w tabeli users, każdy atrybut nie jest pusty, a kluczem podstawowym jest nazwa użytkownika:

Tabela_użytkowników

Nazwa użytkownika Dział Status

Ta tabela jest w 5NF, ponieważ każda zależność łączenia jest implikowana przez unikalny klucz kandydujący tabeli (nazwa użytkownika). Mówiąc dokładniej, jedynymi możliwymi zależnościami łączenia są: {nazwa użytkownika, status}, {nazwa użytkownika, dział}.

Wersja 6NF wyglądałaby tak:

Użytkownicy

Nazwa użytkownika Status

dział_użytkowników

Nazwa użytkownika Dział

Tak więc z jednej tabeli w 5NF, 6NF tworzy dwie tabele.

Oto kolejny przykład:

TABELA 1

Imię medyka Zawód Typ Praktyka w latach
Smitha Jamesa ortopedyczny specjalista 23
Miller Michał ortopedyczny nowicjusz w kościele 4
Tomasz Linda neurolog nowicjusz w kościele 5
Scotta Nancy'ego ortopedyczny rezydent 1
Allena Briana neurolog specjalista 12
Turnera Stevena okulista nowicjusz w kościele 3
Collinsa Kevina okulista specjalista 7
Król Donald neurolog rezydent 1
Harris Sarah okulista rezydent 2

Zależności łączenia tabeli to {nazwisko lekarza, zawód}, {nazwisko lekarza, praktyka w latach} i {nazwisko lekarza, typ}. Stąd mogliśmy zobaczyć, że taka tabela to 2NF (ze względu na pojawienie się zależności przechodniej). Poniższe tabele próbują przenieść to do 6NF:

TABELA 2.1

Imię medyka Zawód
Smitha Jamesa ortopedyczny
Miller Michał ortopedyczny
Tomasz Linda neurolog
Scotta Nancy'ego ortopedyczny
Allena Briana neurolog
Turnera Stevena okulista
Collinsa Kevina okulista
Król Donald neurolog
Harris Sarah okulista

TABELA 2.2

Imię medyka Praktyka w latach
Smitha Jamesa 23
Miller Michał 4
Tomasz Linda 5
Scotta Nancy'ego 1
Allena Briana 12
Turnera Stevena 3
Collinsa Kevina 7
Król Donald 1
Harris Sarah 2

TABELA 2.3

Imię medyka Typ
Smitha Jamesa specjalista
Miller Michał nowicjusz w kościele
Tomasz Linda nowicjusz w kościele
Scotta Nancy'ego rezydent
Allena Briana specjalista
Turnera Stevena nowicjusz w kościele
Collinsa Kevina specjalista
Król Donald rezydent
Harris Sarah rezydent

Bibliografia

  •   Data, Chris J .; Darwen, Hugh ; Lorentzos, Nikos A. (styczeń 2003). Dane czasowe i model relacyjny: szczegółowe badanie zastosowania teorii przedziałów i relacji do problemu zarządzania czasową bazą danych . Oksford: Elsevier LTD. ISBN 1-55860-855-9 .
  •   Data, Chris J .; Darwen, Hugh ; Lorentzos, Nikos A. (12 sierpnia 2014). Teoria czasu i relacyjna - Temporalne bazy danych w modelu relacyjnym i SQL . Elsevier-Morgan Kaufmann. ISBN 9780128006313 .
  • Snodgrass, Richard T. „TSQL2 Temporal Query Language” .
  • Zimanyi, E. (czerwiec 2006). „Agregaty czasowe i uniwersalna kwantyfikacja czasowa w standardowym SQL” (PDF) . ACM SIGMOD Rekord, tom 35, numer 2, strona 16 . ACM .
  • Date, Chris J. „ON DK/NF NORMAL FORM” . Zarchiwizowane od oryginału w dniu 6 kwietnia 2012 r.
  •   Harrington, Jan L. (2009). Projektowanie i wdrażanie relacyjnej bazy danych: jasno wyjaśnione . Elsevier-Morgan Kaufmann. ISBN 9780123747303 .

Dalsza lektura