Dependența funcțională în DBMS: ce este, tipuri și exemple

Ce este dependența funcțională?

Dependență funcțională (FD) este o constrângere care determină relația dintre un atribut și un alt atribut într-un sistem de management al bazelor de date (DBMS). Dependența funcțională ajută la menținerea calității datelor din baza de date. Joacă un rol vital să găsești diferența dintre designul bun și rău al bazei de date.

O dependență funcțională este indicată de o săgeată „→”. Dependența funcțională a lui X de Y este reprezentată de X → Y. Să înțelegem Dependența funcțională în DBMS cu un exemplu.

Exemplu:

Numar de angajati numele angajatului Salariu Orașul
1 Dana 50000 San Francisco
2 Francis 38000 Londra
3 Andrew 25000 Tokyo

În acest exemplu, dacă știm valoarea numărului de angajat, putem obține numele angajatului, orașul, salariul etc. Prin aceasta, putem spune că orașul, numele angajatului și salariul depind funcțional de numărul de angajat.

Termeni cheie

Iată câțiva termeni cheie pentru dependența funcțională în baza de date:

Termeni cheie Descriere
Axiomă Axiomele este un set de reguli de inferență utilizate pentru a deduce toate dependențele funcționale dintr-o bază de date relațională.
Descompunere Este o regulă care sugerează că dacă aveți un tabel care pare să conțină două entități care sunt determinate de aceeași cheie primară, atunci ar trebui să luați în considerare împărțirea lor în două tabele diferite.
Dependent Este afișat pe partea dreaptă a diagramei de dependență funcțională.
determinant Este afișat în partea stângă a Diagramei de dependență funcțională.
Uniune Sugerează că, dacă două tabele sunt separate, iar PK-ul este același, ar trebui să vă gândiți să le puneți. împreună

Regulile dependențelor funcționale

Mai jos sunt cele mai importante trei reguli pentru dependența funcțională în baza de date:

  • Regula reflexivă –. Dacă X este un set de atribute și Y este_subset_of X, atunci X deține o valoare a lui Y.
  • Regula de creștere: când x -> y este valabil și c este set de atribute, atunci ac -> bc este valabil și. Aceasta înseamnă adăugarea de atribute care nu schimbă dependențele de bază.
  • Regula tranzitivității: Această regulă este foarte asemănătoare cu regula tranzitivă din algebră dacă x -> y este valabil și y -> z, atunci x -> z este valabil și. X -> y se numește ca funcțional care determină y.

Tipuri de dependențe funcționale în DBMS

Există în principal patru tipuri de dependență funcțională în DBMS. Următoarele sunt tipurile de dependențe funcționale în DBMS:

  • Dependență multivalorică
  • Dependență funcțională trivială
  • Dependență funcțională non-trivială
  • Dependența tranzitivă

Dependență cu mai multe valori în DBMS

Dependența cu mai multe valori apare în situația în care există mai multe atribute independente cu mai multe valori într-un singur tabel. O dependență cu mai multe valori este o constrângere completă între două seturi de atribute dintr-o relație. Necesită ca anumite tupluri să fie prezente într-o relație. Luați în considerare următorul exemplu de dependență cu valori multiple pentru a înțelege.

Exemplu:

Model de mașină Maf_an Culori
H001 2017 Metalic
H001 2017 BIO
H005 2018 Metalic
H005 2018 Albastru
H010 2015 Metalic
H033 2012 Gri

În acest exemplu, maf_year și culoarea sunt independente unele de altele, dar depind de car_model. În acest exemplu, se spune că aceste două coloane sunt dependente de mai multe valori de car_model.

Această dependență poate fi reprezentată astfel:

model_mașină -> an_maf

model_mașină-> culoare

Dependență funcțională trivială în DBMS

Dependența Trivial este un set de atribute care se numesc trivial dacă setul de atribute este inclus în acel atribut.

Deci, X -> Y este o dependență funcțională trivială dacă Y este un submult al lui X. Să înțelegem cu un exemplu de dependență funcțională trivială.

De exemplu:

Emp_id Emp_name
AS555 Harry
AS811 George
AS999 Kevin

Luați în considerare acest tabel cu două coloane Emp_id și Emp_name.

{Emp_id, Emp_name} -> Emp_id este o dependență funcțională trivială, deoarece Emp_id este un subset al {Emp_id,Emp_name}.

Dependență funcțională non-trivială în DBMS

Dependența funcțională, cunoscută și sub numele de dependență netrivială, apare atunci când A->B este adevărat, unde B nu este un submult al lui A. Într-o relație, dacă atributul B nu este un subset al atributului A, atunci este considerat ca un non-trivial. dependenţă.

Companie CEO Vârstă
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Apple Tim Cook 57

Exemplu:

(Companie} -> {CEO} (dacă cunoaștem compania, știm numele CEO)

Dar CEO-ul nu este un subset al companiei și, prin urmare, este o dependență funcțională netrivială.

Dependența tranzitivă în SGBD

O dependență tranzitivă este un tip de dependență funcțională care se întâmplă atunci când „t” este format indirect din două dependențe funcționale. Să înțelegem cu următorul exemplu de dependență tranzitivă.

Exemplu:

Companie CEO Vârstă
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Alibaba Jack Ma 54

{Companie} -> {CEO} (dacă cunoaștem compania, știm numele CEO-ului acesteia)

{CEO } -> {Vârsta} Dacă îl cunoaștem pe CEO, știm vârsta

Prin urmare, conform regulii de dependență tranzitivă:

{Compania} -> {Vârsta} ar trebui să țină, asta are sens pentru că dacă cunoaștem numele companiei, îi putem ști vârsta.

Notă: Trebuie să rețineți că dependența tranzitivă poate apărea numai într-o relație de trei sau mai multe atribute.

Ce este normalizarea?

Normalizarea este o metodă de organizare a datelor în baza de date care vă ajută să evitați redundanța datelor, anomaliile de inserare, actualizare și ștergere. Este un proces de analiză a schemelor de relații pe baza diferitelor lor dependențe funcționale și a cheii primare.

Normalizarea este inerentă teoriei bazelor de date relaționale. Poate avea ca efect duplicarea acelorași date în baza de date, ceea ce poate duce la crearea de tabele suplimentare.

Avantajele dependenței funcționale

  • Dependența funcțională evită redundanța datelor. Prin urmare, aceleași date nu se repetă în mai multe locații Baza de date
  • Vă ajută să mențineți calitatea datelor din baza de date
  • Vă ajută să definiți semnificațiile și constrângerile bazelor de date
  • Vă ajută să identificați modelele proaste
  • Vă ajută să găsiți faptele referitoare la proiectarea bazei de date

Rezumat

  • Dependența funcțională este atunci când un atribut determină un alt atribut în a sistem DBMS.
  • Axiomă, Descompunere, Dependent, Determinant, Uniune sunt termeni cheie pentru dependența funcțională
  • Patru tipuri de dependență funcțională sunt 1) Multivalore 2) Triviale 3) Netriviale 4) Tranzitive
  • Dependența cu mai multe valori apare în situația în care există mai multe atribute independente cu mai multe valori într-un singur tabel
  • Dependența Trivial apare atunci când un set de atribute care sunt numite trivial dacă setul de atribute este inclus în acel atribut
  • Dependența netrivială apare atunci când A->B este adevărat, unde B nu este un submult al lui A
  • Un tranzitiv este un tip de dependență funcțională care se întâmplă atunci când este format indirect din două dependențe funcționale
  • Normalizarea este o metodă de organizare a datelor în baza de date care vă ajută să evitați redundanța datelor

Rezumați această postare cu: