Hatodik normálforma
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 |
King, Donald | 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
Orvos neve | 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 |
King, Donald | neurológus |
Harris, Sarah | szemész |
2.2. TÁBLA
Orvos neve | Tapasztalat (évek) |
---|---|
Smith, James | 23. |
Miller, Michael | 4 |
Thomas, Linda | 5. |
Scott, Nancy | 1 |
Allen, Brian | 12. |
Turner, Steven | 3 |
Collins, Kevin | 7 |
King, Donald | 1 |
Harris, Sarah | 2 |
2.3. TÁBLA
Orvos neve | Szakterület |
---|---|
Smith, James | szakember |
Miller, Michael | rezidens |
Thomas, Linda | rezidens |
Scott, Nancy | rezidens |
Allen, Brian | szakember |
Turner, Steven | rezidens |
Collins, Kevin | szakember |
King, Donald | rezidens |
Harris, Sarah | rezidens |
Jegyzetek
[szerkesztés]- ↑ Date, Darwen & Lorentzos 2003.
- ↑ a b c Date, Darwen & Lorentzos 2014.
- ↑ Harrington 2009.
- ↑ Date, Darwen & Lorentzos 2003, 141–160. o.
- ↑ Harrington 2009, 125–126. o.
- ↑ Date, Darwen & Lorentzos 2003, 176. o.
- ↑ Zimanyi 2006.
- ↑ Snodgrass.
- ↑ dbdebunk.
- ↑ See the Anchor Modeling website for a website that describes a data warehouse modelling method based on the sixth normal form
- ↑ 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]- Date, C.J.. The relational database dictionary: a comprehensive glossary of relational terms and concepts, with illustrative examples, O'Reilly Series Pocket references. O'Reilly Media, Inc., 90. o. (2006). ISBN 978-0-596-52798-3