Дерекқорды жобалаудағы көп жақты тәуелділік

Көптеген тәуелділік төртінші қалыпты нысанды бұзады

Реляциялық дерекқорда, бір дерекқор кестесінде сақталған ақпарат сол кестеде сақталған басқа ақпаратты бірегей түрде анықтаған кезде тәуелді болады. Бірнеше мәнді тәуелділік кестеде бір немесе бірнеше жолдардың болуы сол кестеде бір немесе бірнеше басқа жолдардың болуын білдіреді. Басқа жолмен, кестеде екі атрибут (немесе бағандар) бір-бірінен тәуелсіз, бірақ екеуі де үшінші төлсипатқа байланысты.

Бірнеше мәнді тәуелділік стандартты төртінші стандартты қалыпты (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 Спорт
Рави Футбол
Рави Волейбол
Рави Теннис
Бет Теннис
Бет Футбол

Қарапайым қалыпқа келтіру күрделі кестелерді жеңілдету арқылы жиі шешіледі, сондықтан оларда бірыңғай кесте жасауға тырысқаннан гөрі, бір ой немесе тақырыпқа қатысты ақпарат бар, сондықтан олар өте көп түрлі ақпаратты қамтиды.