Многообразната зависимост нарушава четвъртата нормална форма
В релационна база данни зависимостта се запазва, когато информацията, съхранявана в същата таблица на база данни, уникално определя друга информация, съхранявана в същата таблица. Многостепенна зависимост възниква, когато наличието на един или повече редове в таблицата предполага наличието на един или повече други редове в същата таблица. Поставете по друг начин, че два атрибута (или колони) в таблицата са независими една от друга, но и двете зависят от трети атрибут.
Многовариантната зависимост предотвратява стандартната четвърта нормална форма (4NF). Релационните бази данни следват пет нормални форми, които представляват насоки за запис на проекти. Те предотвратяват актуалните аномалии и несъответствия в данните. Четвъртата нормална форма разглежда взаимоотношенията "много към едно" в база данни .
Функционална зависимост и многобройна зависимост
За да се разбере многобройната зависимост, е полезно да се преразгледа функционалната зависимост.
Ако атрибутът X уникално определя атрибут Y, тогава Y е функционално зависим от X. Това е написано като X -> Y. Например в таблицата Students по-долу Student_Name определя Major:
Student_Name | голям |
---|---|
Рави | История на изкуството |
Бет | Химия |
Тази функционална зависимост може да бъде написана: Student_Name -> Major . Всеки Student_Name определя точно един майор и не повече.
Ако искате базата данни да проследява и спорта, който тези студенти вземат, може би си мислите, че най-лесният начин да направите това е просто да добавите друга колона, озаглавена Спорт:
Student_Name | голям | спорт |
---|---|---|
Рави | История на изкуството | футбол |
Рави | История на изкуството | волейбол |
Рави | История на изкуството | Тенис |
Бет | Химия | Тенис |
Бет | Химия | футбол |
Проблемът тук е, че и Рави, и Бет играят многобройни спортове. Необходимо е да добавите нов ред за всеки допълнителен спорт.
Тази таблица въведе многобройна зависимост, тъй като магистърът и спортът са независими една от друга, но и двете зависят от ученика.
Това е прост пример и лесно се идентифицира, но зависимостта от няколко вида може да се превърне в проблем в голяма, сложна база данни.
Многозависима зависимост е написана X -> -> Y. В този случай:
Student_Name -> -> Майор
Student_Name -> -> Спорт
Това се чете като "Student_Name multidetermines Major" и "Student_Name multidetermines Sport".
Многовариантната зависимост винаги изисква най-малко три атрибута, защото тя се състои от най-малко два атрибута, които зависят от една трета.
Многовариантна зависимост и нормализация
Таблица с многонационална зависимост нарушава стандарта за нормализиране на четвъртата нормална форма (4NK), защото създава ненужни съкращения и може да допринесе за несъответстващи данни. За да донесете това до 4NF, е необходимо тази информация да бъде прекъсната на две таблици.
Таблицата по-долу има функционална зависимост на Student_Name -> Major и няма многобройни зависимости:
Student_Name | голям |
---|---|
Рави | История на изкуството |
Рави | История на изкуството |
Рави | История на изкуството |
Бет | Химия |
Бет | Химия |
Докато тази таблица има и една функционална зависимост на Student_Name -> Sport:
Student_Name | спорт |
---|---|
Рави | футбол |
Рави | волейбол |
Рави | Тенис |
Бет | Тенис |
Бет | футбол |
Ясно е, че нормализирането често се разрешава чрез опростяване на сложните таблици, така че те да съдържат информация, свързана с една идея или тема, вместо да се опитват да направят една таблица да съдържа твърде много разнородна информация.