Fjärde normalformen (4NF) är en av de möjliga normala formerna av en relationsdatabasrelation .
En relationsvariabel R är i fjärde normalform om den är i BCNF och alla icke-triviala flervärdiga beroenden är faktiskt funktionella beroenden [1] på dess kandidatnycklar .
Motsvarande lydelse av definitionen är:
Relationsvariabeln R är i den fjärde normalformen om och endast om det finns delmängder A och B av attributen för denna relationsvariabel R , för vilka ett icke-trivialt flervärdigt beroende A ↠ B är uppfyllt , alla attribut för relationen variabel R är också funktionellt beroende av A [2] .
Låt oss anta att restauranger producerar olika typer av pizza, och att restaurangleveranser endast fungerar i vissa delar av staden. Den sammansatta primärnyckeln för motsvarande relationsvariabel innehåller tre attribut: {Restaurang, Typ av pizza, Leveransområde} .
En sådan relationsvariabel överensstämmer inte med 4NF eftersom det finns följande flervärdiga beroende:
Det vill säga, när du till exempel lägger till en ny typ av pizza, måste du ange en ny tupel för varje leveransområde. Det kan finnas en logisk anomali där endast vissa leveransområden från de områden som serveras av restaurangen kommer att motsvara en viss typ av pizza.
För att förhindra en anomali måste du bryta ner relationen genom att placera oberoende fakta i olika relationer. I det här exemplet bör du delas upp i {Restaurant, Typ av pizza} och {Restaurang, Delivery area} .
Men om ett attribut läggs till den ursprungliga relationsvariabeln som är funktionellt beroende av den potentiella nyckeln, till exempel priset inklusive kostnaden för leverans ( {Restaurang, Typ av pizza, Leveransområde} → Pris ), då den resulterande relationen kommer att finnas i 4NF och det kan inte längre brytas ner utan förluster . Ovanstående flervärdiga beroenden kallas i detta fall injicerade beroenden .
ryska
Överförbar
utländsk
normala former | |
---|---|