Dependența multivaluptă și a patra formă normală
În acel moment, sa atras atenția asupra faptului că dependențele funcționale nu sunt suficiente pentru a reprezenta în modelul relațional semantica domeniilor subiectului care se referă la caracteristica relațiilor obiect-proprietate. În acest sens, a fost introdusă noțiunea de dependență multi-valoroasă.
Să luăm în considerare semnificația acestei dependențe de exemplu de relația LECTURE cu atribute-obiecte, profesor, manual. Este în 3NF, deoarece nu există dependențe funcționale între atri-bu-ta-mi și cheia este toate cele trei atri-bu-ta. Semnificația acestei relații este următoarea: "Acest subiect este predat de către aceștia și astfel de profesori și prelegerile pe această temă sunt recomandate pentru utilizarea acestor manuale".
Nu am prezentat în mod accidental aceste atribute sub forma unei structuri ierarhice, deoarece aceasta este cea care reflectă cel mai bine înțelesul legăturilor dintre atributele specificate. Nu avem informații specifice despre relația profesorilor cu manualele, nu știm ce profesor de manuale predă o disciplină specifică. Cu toate acestea, (ar trebui să fie întotdeauna specificate cel puțin, deoarece aceste atribute constituie cheia, iar valorile atributelor cheie) prezentarea acestei relații avem în fiecare din coloana de mașini sale pentru a specifica toate cele trei atribute. Singura cale de ieșire din această situație este următoarea: în cazul în care un subiect, cum ar fi o bază de date, profesori asociați Ivanov, Petrov și manuale privind elementele fundamentale ale bazei de date Introducere în baza de date și teoria bazei de date, în raport cu fiecare dintre aceste cadre didactice trebuie să fie legate (asociate) cu fiecare manual ca acest lucru este prezentat în exemplul de mai jos. Nu există altă cale.
Cu alte cuvinte, trebuie să precizăm următoarea comunicare semantică între profesori și manual-mi: „Acest curs învață o astfel de facultate și pentru a da prelegeri despre acest subiect au Execu-Dhu - th-T Toate aceste cărți.“
Aici ajungem la următoarea teză:
Teza: Dacă domeniul nu există nici o legătură directă între Atri-bu-ta-mi A și B, și la noi, din orice motive, o astfel de comunicare trebuie să fie fixat în raport, singura soluție corectitudinea NYM este de a stabili că toate valorile atributul A sunt asociate cu toate valorile atributului B și invers.
Trebuie remarcat faptul că independența cadrelor didactice din manuale, și vice-versa, precum și interpretarea acestei independențe, conform tezei de mai sus arată că, în acest sens Lectures atributele profesorilor și elaborarea manualelor au o proprietate importantă:
Multe manuale care sunt asociate cu un anumit subiect coincid cu un set de manuale care sunt asociate cu o pereche de semnificații <предмет, преподаватель> (trei "manuale" sunt asociate cu subiectul "DB", aceleași trei manuale sunt asociate cu perechi de semnificații <"БД","Иванов"> și <"БД","Петров">). Dimpotrivă, mulți profesori care sunt asociați cu un anumit subiect coincid cu o multitudine de profesori care sunt asociați cu o pereche de semnificații <предмет, учебник>.
Această proprietate este fundamentală în înțelegerea unei relații multi-evaluate.
Evident, o astfel de atitudine este redundantă și duce la dificultăți în efectuarea operațiunilor de manipulare. Lectorul este inclus în atributul Profesorului de câte ori există manuale și acest lucru ar trebui să fie amintit de fiecare dată, efectuând operațiuni de inserare a ștergerii și înlocuirii cadrelor didactice. Același lucru este valabil și pentru manuale.
În acest sens, a fost introdusă noțiunea de dependență multiplă.
Definiția. Lăsați un R raport cu atribute (atribute sau seturi) A, B, C. Se spune că există o dependență multivaloare (Dependență multivaloare) B A (sau A determina semnificațiile B) și este notat ca A ®® B dacă la dat valorile atributului de la A există un set de valori de atribute asociate din B și acest set de valori B nu depinde în niciun fel de valorile atributelor din C.
De exemplu, în legătură cu LECTURĂ, atributul Profesorul depinde foarte mult de atributul obiect (Subiect ® ® Instructor), iar Tutorialul atributului depinde în mod semnificativ de Subiectul (Subiectul® ® Tutorial).
Oferim o definiție formală a unei dependențe multivite. Fie relatia R definita pe setul de atribute M si A, B - subseturi ale M, unde A si B se pot intersecta. Definim prin BR (a) setul de proiecții ale tuplilor relației R prin atributele lui B, care sunt asociate cu o tuplă specială proiectată conform atributelor A, adică:
Fie C = M - (A B). Apoi spunem că BR (a) în R are o dependență multiplă A ® ® B dacă
Cu alte cuvinte, setul de valori de atribut B care apare în tuplurile relației R cu valoarea dată a atributelor A apare și la fiecare combinație a valorilor lui a și c Î C, ca Î R [A, C]. Astfel, mulțimea valorilor lui B pentru o dată a nu depinde de valorile lui C care apar împreună cu a.
Prin definiția A ® ® Æ pentru orice set de atribute A lui R. Mai mult decât atât, A ® ® B se menține întotdeauna dacă R este definit numai pe setul de atribute A. Aceste două tipuri de dependențe multivate se numesc triviali deoarece sunt prezente în orice relație.
Evident, orice dependență funcțională este multivaluată, dar nu invers. Cu toate acestea, dependențele funcționale și polisemantice sunt semnificativ diferite. Dependența funcțională A ® B este determinată numai de A și B, iar existența dependenței multivate A ® ® B este o proprietate a întregului set de atribute R.