Dependență multivalorică

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 2 iunie 2019; verificările necesită 2 modificări .

Dependența multivalorică (de asemenea MZZ ) este o generalizare a conceptului de dependență funcțională , utilizată pe scară largă în teoria bazelor de date . În conceptul de forme normale , este introdus pentru a defini formal a patra formă normală

Definiții

Să existe o relație cu schema , precum și două subseturi arbitrare de atribute . Lasă .

În acest caz, depinde de , dacă și numai dacă setul de valori ale atributelor corespunzătoare perechii de relații date depinde și nu de .

Exprimată simbolic prin scriere

.


Oficial

O dependență cu mai multe valori este numită trivială dacă cel puțin una dintre următoarele condiții este adevărată:

Exemplu

Să presupunem că avem o relație care include o listă de discipline academice, literatura recomandată și numele lectorilor care predau cursurile corespunzătoare:

Discipline academice
Disciplina Carte Lector
MatAn Kudryavtsev Ivanov A.
MatAn Fikhtengolts Petrov B.
MatAn Kudryavtsev Petrov B.
MatAn Fikhtengolts Ivanov A.
MatAn Kudryavtsev Smirnov V.
MatAn Fikhtengolts Smirnov V.
VM Kudryavtsev Ivanov A.
VM Kudryavtsev Petrov B.

Întrucât lectorii care citesc subiectul și cărțile recomandate pe subiect nu depind unul de celălalt, această relație conține o dependență multivalorică. Această atitudine are o serie de anomalii. Una dintre ele este că dacă vrem să recomandăm o carte nouă într-un curs MatAn, va trebui să adăugăm atâtea intrări noi câte lectori sunt în MatAn și invers.

Formal, există două MZZ-uri: {Disciplina} {Carte}|{Lector} .

În primul rând, este redundant. Și în al doilea rând, pentru o astfel de relație, este necesar să se dezvolte un mecanism suplimentar de control al integrității. Soluția optimă a problemei ar fi să descompunem relația în două cu titlurile {Disciplina, Carte} și {Disciplina, Lector} . O astfel de descompunere ar fi în 4NF . Admisibilitatea descompunerii este stabilită de teorema lui Fagin (vezi mai jos).

Teoreme

Perechi conectate

Fagin a arătat că dependențele cu mai multe valori formează perechi conectate (în notație de definiție):

.

Prin urmare, ele sunt adesea reprezentate împreună în notație simbolică:

Dependențe funcționale

Orice dependență funcțională este multivalorică. Cu alte cuvinte, o dependență funcțională este o dependență cu mai multe valori în care setul de valori dependente corespunzătoare unei valori date a determinantului are întotdeauna puterea unitară .

Reguli de ieșire

În 1977, Bury, Fagin și Howard au descoperit că regulile de inferență ale lui Armstrong pot fi generalizate și extinse atât la dependențe funcționale, cât și la dependențe multivalorice.

Să presupunem că avem o relație și un set de atribute . Pentru a scurta înregistrarea, vom scrie în schimb simplu .


Grupa 1: reguli de bază.


Grupa 2: Sunt derivate mai multe reguli suplimentare pentru a simplifica sarcina de a deduce dependențe cu mai multe valori.


Grupa 3: Se stabilește o legătură între dependențele funcționale și cu mai multe valori.


Grupa 4: pentru dependențe funcționale, derivate din regulile de mai sus.


Regulile de inferență ale lui Armstrong, împreună cu regulile grupurilor 1 și 3 prezentate aici, formează o formă completă (folosindu-le, se pot deriva toate celelalte dependențe multi-valori implicate de setul lor dat) și de încredere („dependențe multi-valori suplimentare” nu pot fi dedusă; dependența multivalorică derivată este valabilă oriunde este un set de dependențe multivalorice din care a fost derivată) un set de reguli pentru deducerea dependențelor cu mai multe valori.

Aplicație

Descompunerea relației

Teorema lui Fagin

Să fie dat raportul . O relație va fi egală cu uniunea proiecțiilor sale dacă și numai dacă relația satisface o dependență multivalorică netrivială .

Această teoremă este o versiune mai strictă a teoremei lui Heath .

Vezi și

Literatură

  • K. J. Data. Introduction to Database Systems = Introduction to Database Systems. - Ed. a 8-a. - M . : „Williams” , 2006. - S. 1328. - ISBN 0-321-19784-4 .