Neljäs normaalimuoto (4NF) on yksi relaatiotietokantarelaation mahdollisista normaalimuodoista .
Relaatiomuuttuja R on neljännessä normaalimuodossa, jos se on BCNF :ssä ja kaikki ei-triviaalit moniarvoiset riippuvuudet ovat itse asiassa toiminnallisia riippuvuuksia [1] sen ehdokasavaimista .
Määritelmän vastaava sanamuoto on:
Relaatiomuuttuja R on neljännessä normaalimuodossa, jos ja vain jos tämän relaatiomuuttujan R attribuuteista on olemassa osajoukot A ja B , joille ei-triviaali moniarvoinen riippuvuus A ↠ B täyttyy , kaikki suhteen attribuutit muuttuja R riippuu myös toiminnallisesti A:sta [2] .
Oletetaan, että ravintolat tuottavat erilaisia pizzoja ja ravintolatoimitus toimii vain tietyillä kaupungin alueilla. Vastaavan relaatiomuuttujan yhdistetty ensisijainen avain sisältää kolme attribuuttia: {Ravintola, Pizzan tyyppi, Toimitusalue} .
Tällainen relaatiomuuttuja ei ole 4NF:n mukainen, koska siinä on seuraava moniarvoinen riippuvuus:
Toisin sanoen, kun esimerkiksi lisäät uudentyyppistä pizzaa, sinun on syötettävä yksi uusi tuple jokaiselle toimitusalueelle. Voi olla looginen poikkeama, jossa vain tietyt toimitusalueet ravintolan palvelemista alueista vastaavat tiettyä pizzatyyppiä.
Anomalian estämiseksi sinun on hajotettava suhde asettamalla riippumattomia faktoja eri suhteisiin. Tässä esimerkissä sinun tulee jakaa {Ravintola, pizzatyyppi} ja {Ravintola, toimitusalue} .
Jos alkuperäiseen relaatiomuuttujaan kuitenkin lisätään attribuutti, joka on toiminnallisesti riippuvainen mahdollisesta avaimesta, esimerkiksi hinta sisältäen toimituskulut ( {Ravintola, Pizzan tyyppi, Toimitusalue} → Hinta ), tuloksena oleva relaatio tulee olemaan 4NF:ssä eikä sitä voida enää hajottaa ilman häviöitä . Yllä olevia moniarvoisia riippuvuuksia kutsutaan tässä tapauksessa injektoiduiksi riippuvuuksiksi .
Venäjän kieli
Siirrettävä
ulkomaalainen
normaaleja muotoja | |
---|---|