Көптеген тәуелділік төртінші қалыпты нысанды бұзады
Реляциялық дерекқорда, бір дерекқор кестесінде сақталған ақпарат сол кестеде сақталған басқа ақпаратты бірегей түрде анықтаған кезде тәуелді болады. Бірнеше мәнді тәуелділік кестеде бір немесе бірнеше жолдардың болуы сол кестеде бір немесе бірнеше басқа жолдардың болуын білдіреді. Басқа жолмен, кестеде екі атрибут (немесе бағандар) бір-бірінен тәуелсіз, бірақ екеуі де үшінші төлсипатқа байланысты.
Бірнеше мәнді тәуелділік стандартты төртінші стандартты қалыпты (4NF) алдын алады. Реляциялық дерекқорлар жазба дизайны бойынша нұсқаулықты білдіретін қалыпты 5 пішінді ұстанды. Олар жаңартулардың ауытқуларына және деректердегі сәйкессіздіктерге жол бермейді. Төртінші қалыпты пішін деректер базасында көптеген қатынастарға қатысты.
Функционалды тәуелділік және көп мәнді тәуелділік
Бірнеше мәнді тәуелділікті түсіну үшін, функционалдық тәуелділіктің қандай екенін қайта қарау пайдалы.
Егер X атрибуты Y атрибутын анықтаса, онда Y функционалды түрде X-ге байланысты болады. Бұл X -> Y сияқты жазылады. Мысалы, төмендегі Оқушылар кестесінде Student_Name Major анықтайды:
Student_Name | Майоры |
---|---|
Рави | Өнер тарихы |
Бет | Химия |
Бұл функционалдық тәуелділікті жазуға болады: Student_Name -> Major . Әрбір Student_Name дәл бір Major анықтайды және көп емес.
Егер дерекқорда осы студенттердің спортпен айналысқанын қаласаңыз, мұны ең жеңіл әдіс ретінде Спорт деп аталатын басқа бағанды қосу керек деп ойлайсыз:
Student_Name | Майоры | Спорт |
---|---|---|
Рави | Өнер тарихы | Футбол |
Рави | Өнер тарихы | Волейбол |
Рави | Өнер тарихы | Теннис |
Бет | Химия | Теннис |
Бет | Химия | Футбол |
Мәселе мынада, бұл Ravi және Beth бірнеше спорт түрлерімен айналысады. Әрбір қосымша спорт үшін жаңа қатар қосу керек.
Бұл кесте көп деңгейлі тәуелділікті енгізді, себебі негізгі және спорт бір-бірінен тәуелсіз, бірақ екеуі де студентке тәуелді.
Бұл қарапайым мысал және оңай анықталатын, бірақ көп мәнді тәуелділік ірі, күрделі дерекқорда проблема болуы мүмкін.
Көптеген тәуелділік X -> -> Y деп жазылған. Бұл жағдайда:
Student_Name -> -> Major
Student_Name -> -> Спорт
Бұл «Student_Name multidetermines Major» және «Student_Name multidermines Sport» деп оқылады.
Бірнеше мағыналы тәуелділік әрқашан кем дегенде үш атрибутты талап етеді, себебі ол кем дегенде екіден үш атаудан тәуелді.
Көпмәуелді тәуелділік және қалыпқа келтіру
Бірнеше мәнді тәуелділікке ие кесте төртінші Қалыпты пішіннің (4NK) қалыпқа келтіру стандартын бұзады, себебі ол артық қажетсіздіктерді жасайды және сәйкессіз деректерге үлес қосады. Оны 4NF-ге дейін жеткізу үшін бұл ақпаратты екі кестеге бөліп тастау керек.
Төменде келтірілген кесте Student_Name -> Major және функционалды тәуелділікке ие:
Student_Name | Майоры |
---|---|
Рави | Өнер тарихы |
Рави | Өнер тарихы |
Рави | Өнер тарихы |
Бет | Химия |
Бет | Химия |
Бұл кестеде Student_Name -> Sport: Student_Name бір функционалды тәуелділігі бар.
Student_Name | Спорт |
---|---|
Рави | Футбол |
Рави | Волейбол |
Рави | Теннис |
Бет | Теннис |
Бет | Футбол |
Қарапайым қалыпқа келтіру күрделі кестелерді жеңілдету арқылы жиі шешіледі, сондықтан оларда бірыңғай кесте жасауға тырысқаннан гөрі, бір ой немесе тақырыпқа қатысты ақпарат бар, сондықтан олар өте көп түрлі ақпаратты қамтиды.