Hatodik normálforma

A Wikipédiából, a szabad enciklopédiából

A hatodik normálforma (6NF) a relációs adatbázis-elméletben használt kifejezés, amelyet két különböző módon használnak.

6NF (C. Date meghatározása szerint)[szerkesztés]

Christopher J. Date és mások meghatároztak egy hatodik normálformát, mint egy normális formája alapján egy kiterjesztése a relációs algebrának. [1] [2] [3]

A relációs operátorokat, például a csatlakozásokat, általánosítják, hogy támogassák az intervallumadatok természetes kezelését, például a dátum vagy az idő pillanatsorozatait, például az időbeli adatbázisokban. [4] [2] [5] hatodik normálforma ezen az általános összekapcsoláson alapul, az alábbiak szerint:

A relvar R [tábla] hatodik normálformában van (rövidítve 6NF) akkor és csak akkor, ha egyáltalán nem elégít ki nem triviális csatlakozási függőségeket - ahol, mint korábban, a csatlakozási függőség akkor és csak akkor is triviális, ha a vetítések közül legalább az egyik (esetleg érintett U_projections) átveszi az érintett relvar [tábla] összes attribútumát. [6]

Date és a többiek a következő meghatározást is megadták:

A Relvar R akkor és csak akkor van hatodik normálformában, ha R minden JD [Csatlakozási függőség] triviális - ahol egy JD akkor és csak akkor triviális, ha az egyik alkotóeleme teljes egészében megegyezik a vonatkozó címsorral. [2]

Bármely kapcsolat a 6NF-ben kielégíti az 5NF-et is.

A hatodik normálforma célja a relatív változók bontása redukálhatatlan komponensekkel. Noha ez a nem időbeli relatív változók esetében viszonylag jelentéktelen lehet, fontos lehet, ha időbeli változókkal vagy más intervallumadatokkal foglalkozunk. Például, ha egy reláció tartalmazza a szállító nevét, állapotát és városát, akkor időbeli adatokat is hozzáadhatunk, például azt az időt, amely alatt ezek az értékek érvényesek vagy érvényesek voltak (pl. A múltbeli adatokra), de a három értéket egymástól függetlenül és eltérő ütemben változhatnak. Például nyomon követhetjük az Állapot változásainak előzményeit; a termelési költségek áttekintése feltárhatja, hogy a változást a szállító városváltása okozta, és ezért a szállítási költségeket számolták el.

Az SQL időbeli összesítéséről további információkat lásd Zimanyi. [7] Más megközelítésért lásd: TSQL2. [8]

DKNF[szerkesztés]

Egyes szerzők másként használták a hatodik normálforma kifejezést: a domain/kulcs normálforma (DKNF) szinonimájaként. Ennek a használata Date és a többiek munkáját megelőzte. [9]

Használat[szerkesztés]

A hatodik normálformát jelenleg néhány adattárházban használják, ahol az előnyei meghaladják a hátrányaikat,[10] például az Anchor Modeling használatával. Noha a 6NF használata táblák robbanásához vezet, a modern adatbázisok kivághatják a táblákat a kiválasztott lekérdezésekből (a „tábla eliminálásának nevezett folyamat segítségével”), ahol nincs szükség rájuk, és így felgyorsíthatják a csak több attribútumhoz hozzáférő lekérdezéseket.

Példák[szerkesztés]

Ahhoz, hogy egy tábla 6NF-ben legyen, előbb meg kell felelnie az 5NF-nek, majd meg kell követelni, hogy minden táblázat csak triviális csatlakozási függőségeket elégítsen ki. Vegyünk egy egyszerű példát,[11] amelynek táblája már szerepel az 5NF-ben: Itt, a felhasználók táblában minden attribútum nem null, és az elsődleges kulcs a felhasználónév:

Felhasználónév Osztály Állapot

Ez a táblázat 5NF-ben található, mert minden egyes csatlakozási függőséget a tábla egyedi jelöltkulcsa (Felhasználónév) jelent. Pontosabban, az egyetlen lehetséges csatlakozási függőség a következő: {felhasználónév, állapot}, {felhasználónév, osztály}.

A 6NF verzió így néz ki:

Felhasználónév Állapot

Users_dept

Felhasználónév Osztály

Tehát az 5NF egyik táblázatából a 6NF két táblázatot állít elő.

A következő egy példa:

TÁBLA 1

Orvos neve Szakterület típus Gyakorlati évek
Smith James ortopédiai szakember 23
Miller Michael ortopédiai próbaidő 4
Thomas Linda neurológus próbaidő 5
Scott Nancy ortopédiai rezidens 1
Allen Brian neurológus szakember 12
Turner Steven szemész próbaidő 3
Collins Kevin szemész szakember 7
Donald király neurológus rezidens 1
Harris Sarah szemész rezidens 2

A táblázat csatlakozási függőségei: {orvos neve, foglalkozása}, {orvos neve, gyakorlat években} és {orvos neve, típus}. Ezért láthattuk, hogy egy ilyen táblázat 2NF (a tranzitív függőség megjelenése miatt). A következő táblázatok megpróbálják 6NF-re hozni:

2.1. TÁBLA

Medic név Foglalkozása
Smith James ortopédiai
Miller Michael ortopédiai
Thomas Linda neurológus
Scott Nancy ortopédiai
Allen Brian neurológus
Turner Steven szemész
Collins Kevin szemész
Donald király neurológus
Harris Sarah szemész

2.2. TÁBLA

Medic név Gyakorlati évek
Smith James 23.
Miller Michael 4
Thomas Linda 5.
Scott Nancy 1
Allen Brian 12.
Turner Steven 3
Collins Kevin 7
Donald király 1
Harris Sarah 2

2.3. TÁBLA

Orvos neve Szakterület
Smith James szakember
Miller Michael próbaidő
Thomas Linda próbaidő
Scott Nancy rezidens
Allen Brian szakember
Turner Steven próbaidő
Collins Kevin szakember
Donald király rezidens
Harris Sarah rezidens

Jegyzetek[szerkesztés]

  1. Date, Darwen & Lorentzos 2003.
  2. a b c Date, Darwen & Lorentzos 2014.
  3. Harrington 2009.
  4. Date, Darwen & Lorentzos 2003, 141–160. o.
  5. Harrington 2009, 125–126. o.
  6. Date, Darwen & Lorentzos 2003, 176. o.
  7. Zimanyi 2006.
  8. Snodgrass.
  9. dbdebunk.
  10. See the Anchor Modeling website for a website that describes a data warehouse modelling method based on the sixth normal form
  11. Example provided by: http://www.anattatechnologies.com/q/2011/07/normalization-6nf/ Archiválva 2017. március 25-i dátummal a Wayback Machine-ben

További információk[szerkesztés]