Relațiile sunt adezivul care ține tabelele împreună. Acestea sunt utilizate pentru a conecta informații legate între tabele.
Puterea relației se bazează pe modul în care este definită cheia primară a unei entități conexe. O relație este slabă sau neidentificativă dacă cheia primară a entității înrudite nu conține o componentă cheie primară a entității părinte. Exemplele de baze de date corporative includ:
- Client (CustID. CustName)
- Comandă (OrderID, CustID, Data)
O relație este puternică identificativă atunci când cheia primară a entității conexe conține componenta cheie primară a entității părinte. Exemplele includ:
- Curs (CrsCode, DeptCode, Descriere)
- Clasa (CrsCode, Section, ClassTime …)
Tipuri de relații
Mai jos sunt descrieri ale diferitelor tipuri de relații.
Relație unu la mulți (1:M)
O relație unu la mulți (1:M) ar trebui să fie norma în orice proiectare a bazei de date relaționale, și se găsește în toate mediile de baze de date relaționale. De exemplu, un departament are mulți angajați. Figura 8.7 arată relația unuia dintre acești angajați cu departamentul.
Figura 8.7. Exemplu de relație unu la mulți.
Schema relațională:
ANGAJAT (EID, Nume, Adresa, Data nașterii, Salariu, Dep. ID
DEPARTAMENT (Dep. ID, Nume, Birou)
Relație unu la unu (1:1)
O relație unu la unu (1:1) este relația unei entități cu o singură altă entitate și invers. Ar trebui să fie rar întțlnită în orice proiectare a bazei de date relaționale. De fapt, ar putea indica faptul că două entități aparțin efectiv aceluiași tabel.
Un exemplu din baza de date COMPANY este că un angajat este asociat cu un soț și un soț este asociat cu un angajat.
Relații mulți la mulți (M:N)
Pentru o relație mulți la mulți, considerați următoarele puncte:
- Nu poate fi implementată ca atare în modelul relațional.
- Poate fi schimbată în două relații 1:M.
- Poate fi implementată prin divizare pentru a produce un set de relații 1:M.
- Aceasta implică implementarea unei entități compozite.
- Creează două sau mai multe relații 1:M.
- Tabelul de entități compozite trebuie să conțină cel puțin cheile primare ale tabelelor originale.
- Tabelul de legătură conține mai multe apariții ale valorilor cheii externe.
- Pot fi desemnate atribute suplimentare după cum este necesar.
- Se pot evita problemele inerente unei relații M:N prin crearea unei entități compozite sau a unei entități punte. De exemplu, un angajat poate lucra la mai multe proiecte SAU un proiect poate avea mulți angajați care lucrează la el, în funcție de regulile de afaceri. Sau, un student poate avea multe clase și o clasă poate conține mulți studenți.
Figura 8.8 prezintă un alt aspect al relației M:N în care un angajat are date de începere diferite pentru diferite proiecte. Prin urmare, avem nevoie de un tabel JOIN care să conțină EID, Code și StartDate.
Figura 8.8. Exemplu în care angajatul are date de începere diferite pentru diferite proiecte.
Schema relațională:
ANGAJAT (EID, Nume, Adresa, Data nașterii, Salariu)
PROIECT (Cod, Nume, Buget)
START (EID, Cod, Data Start)
Exemplu de mapare a unui tip de relație binară M:N
- Pentru fiecare relație binară M: N, identificați două relații.
- A și B reprezintă două tipuri de entități care participă la R.
- Creați o nouă relație S pentru a reprezenta R.
- S trebuie să conțină PK-urile lui A și B. Acestea împreună pot fi PK în tabelul S SAU acestea împreună cu un alt atribut simplu în noul tabel R pot fi PK.
- Combinarea tastelor primare (A și B) va face cheia primară a lui S.
Relație unară (recursivă)
O relație unară, numită și recursivă, este una în care există o relație între aparițiile aceluiași set de entități. În această relație, cheile primare și externe sunt aceleași, dar reprezintă două entități cu roluri diferite. Vezi Figura 8.9 pentru un exemplu.
Pentru unele entități într-o relație unitară, se poate crea o coloană separată care se referă la cheia primară a aceluiași set de entități.
Figura 8.9. Exemplu de relație unară.
Schema relațională:
ANGAJAT (EID, Nume, Adresa, Data nașterii, Salariu, Super-EID)
Relații ternare
O relație ternară este un tip de relație care implică relații mulți la mulți între trei tabele.
Consultați Figura 8.10 pentru un exemplu de mapare a unui tip de relație ternară. Notă n-ară înseamnă tabele multiple într-o relație. (Amintiți-vă, N = mulți.)
- Pentru fiecare relație n-ari (> 2), creați o nouă relație pentru a reprezenta relația.
- Cheia principală a noii relații este o combinație a cheilor primare ale entităților participante care dețin partea N (multe).
- În majoritatea cazurilor unei relații n-ari, toate entitățile participante dețin o parte mai mare.
Figura 8.10. Exemplu de relație ternară.
Schema relațională:
FURNIZOR (SID, Nume, Adresa)
PROIECT (Cod, Nume, Buget)
PARTE (ID Parte, Nume Parte, Culoare)
Furnizare (SID, Cod, ID Parte, Cantitate, Data)
Termeni cheie
- cheie alternativă: toate cheile candidate care nu sunt alese ca cheie principală
- cheie candidat: o cheie simplă sau compusă care este unică (nu există două rânduri într-un tabel cu aceeași valoare) și minime (este necesară fiecare coloană)
- entități caracteristice: entități care furnizează mai multe informații despre un alt tabel
- atribute compuse: atribute care constau dintr-o ierarhie de atribute
- cheie compusă: compusă din două sau mai multe atribute, dar trebuie să fie minime
- entități dependente: aceste entități depind de alte tabele pentru semnificația lor
- atribute derivate: atribute care conțin valori calculate din alte atribute
- entități derivate: vezi entități dependente
- EID: identificarea angajaților (ID)
- entitate: un lucru sau obiect din lumea reală cu o existență independentă care poate fi diferențiată de alte obiecte
- model de date entitate-asociere (ER): numit și schemă ER, sunt reprezentate prin diagrame ER. Acestea sunt potrivite pentru modelarea datelor pentru utilizare cu baze de date.
- schemă entitate-asociere: vezi modelul de date entitate-asociere
- set de entități: o colecție de entități de tip entitate la un moment dat
- tip de entitate: o colecție de entități similare
- cheie externă (FK): un atribut dintr-un tabel care face referință la cheia primară dintr-un alt tabel SAU poate fi nul
- entitate independentă : ca elemente de bază ale unei baze de date, pe aceste entități se bazează alte tabele
- nucleu: vezi entitate independentă
- cheie: un atribut sau un grup de atribute ale căror valori pot fi utilizate pentru a identifica în mod unic o entitate individuală într-un set de entități
- atribute cu mai multe valori: atribute care au un set de valori pentru fiecare entitate
- n-ar: tabele multiple într-o relație
- nul: un simbol special, independent de tipul de date, care înseamnă fie necunoscut, fie inaplicabil; nu înseamnă zero sau gol
- relație recursivă: vezi relația unară
- relații: asocierile sau interacțiunile dintre entități; folosit pentru a conecta informații conexe între tabele
- puterea relației: pe baza modului în care este definită cheia primară a unei entități conexe
- cheie secundară un atribut utilizat strict în scopuri de recuperare
- atribute simple: extrase din domeniile valorii atomice
- SIN: numărul asigurărilor sociale
- atribut cu o singură valoare: vezi atribute simple
- atribut stocat: salvat fizic în baza de date
- relație ternară: un tip de relație care implică relații mulți la mulți între trei tabele.
- relație unară: una în care există o relație între aparițiile aceluiași set de entități.
Sursa: Adrienne Watt, Database Design – 2nd Edition. Descărcare gratuită de la B.C. Open Textbook Collection. © 2014 Adrienne Watt and Nelson Eng. Licența (inclusiv imagini) CC BY 4.0. Traducere Nicolae Sfetcu
© 2021 MultiMedia Publishing, Baze de date, Volumul 1
Lasă un răspuns