Introducere în relațiile cu bazele de date

Cuprins:

Introducere în relațiile cu bazele de date
Introducere în relațiile cu bazele de date
Anonim

Termenii bazei de date relaționale și relaționale descriu modul în care datele din tabele sunt conectate. O bază de date relațională constă dintr-o serie de două sau mai multe tabele legate printr-o anumită cheie. O bază de date relațională diferă de bazele de date nestructurate, care sunt comune în inițiativele de date mari. Bazele de date relaționale tind să necesite reguli stricte cu privire la modul în care sunt definite tabelele și ce constituie o relație validă între tabele.

Image
Image

Tipuri de relații cu baze de date

Relațiile vă permit să descrieți conexiunile dintre tabelele bazei de date în moduri puternice. Aceste relații pot fi apoi valorificate pentru a efectua interogări puternice încrucișate, cunoscute sub numele de JOIN-uri.

Există trei tipuri de relații de bază de date, fiecare numită în funcție de numărul de rânduri de tabel implicate în relație. Fiecare dintre aceste trei tipuri de relații există între două tabele.

  • Relațiile unu-la-unu apar atunci când fiecare intrare din primul tabel are un singur omolog în al doilea tabel. Relațiile unu-la-unu sunt rareori folosite deoarece este adesea mai eficient să puneți toate informațiile într-un singur tabel. Unii designeri de baze de date profită de această relație creând tabele care conțin un subset de date dintr-un alt tabel.
  • Relațiile unu-la-mai multe sunt cel mai frecvent tip de relație de bază de date. Acestea apar atunci când fiecare înregistrare din tabelul A corespunde uneia sau mai multor înregistrări din tabelul B, dar fiecare înregistrare din tabelul B corespunde unei singure înregistrări din tabelul A. De exemplu, relația dintre un tabel pentru profesori și un tabel pentru elevi dintr-o școală elementară baza de date ar fi probabil o relație unu-la-mulți, deoarece fiecare elev are un singur profesor, dar fiecare profesor are mai mulți elevi. Acest design unu-la-mulți ajută la eliminarea datelor duplicate.
  • Relații de la mai multe la multe apar atunci când fiecare înregistrare din tabelul A corespunde uneia sau mai multor înregistrări din tabelul B și fiecare înregistrare din tabelul B corespunde uneia sau mai multor înregistrări în tabelul A. De exemplu, relația dintre un tabel de profesori și un tabel de cursuri ar fi probabil de la mulți la mulți, deoarece fiecare profesor poate instrui mai mult de un curs și fiecare curs poate avea mai mult de un instructor.

Linia de bază

Relațiile de auto-referință apar atunci când este implicat un singur tabel. Un exemplu comun este un tabel de angajați care conține informații despre supervizorul fiecărui angajat. Fiecare supervizor este, de asemenea, un angajat și are un supervizor. În acest caz, există o relație de auto-referință unu-la-mulți, deoarece fiecare angajat are un supervizor, dar fiecare supervizor poate avea mai mult de un angajat.

Crearea de relații cu chei străine

Creați relații între tabele prin specificarea unei chei externe. Această cheie spune bazei de date relaționale cum sunt legate tabelele. În multe cazuri, o coloană din tabelul A conține chei primare la care se face referire din tabelul B.

Luați în considerare exemplul tabelelor Profesori și Studenți. Tabelul Profesori conține un ID, un nume și o coloană de curs:

ID instructor Nume_Profesor Curs
001 John Doe engleză
002 Jane Schmoe Mate

Tabelul Studenți include un ID, un nume și o coloană cu cheie străină:

StudentID Nume_Student Teacher_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monica Jones 001

Coloana Teacher_FK din tabelul Studenți face referire la valoarea cheie primară a unui instructor din tabelul Profesori. Deseori, designerii de baze de date folosesc PK sau FK în numele coloanei pentru a identifica o cheie primară sau o coloană cheie externă.

Aceste două tabele ilustrează o relație unu-la-mulți dintre profesori și elevi.

Relații și integritate referențială

După adăugarea unei chei externe la un tabel, creați o constrângere a bazei de date care impune integritatea referențială între cele două tabele. Acest pas asigură că relațiile dintre tabele rămân consistente. Când un tabel are o cheie străină pentru un alt tabel, integritatea referenţială necesită ca orice valoare a cheii străine din tabelul B să se refere la o înregistrare existentă în tabelul A.

Implementarea relațiilor

În funcție de baza de date, veți implementa relațiile dintre tabele în moduri diferite. Microsoft Access oferă un expert care vă permite să conectați tabele și, de asemenea, să impuneți integritatea referențială.

Dacă scrieți SQL direct, creați mai întâi tabelul Profesori, declarând o coloană ID ca fiind cheia principală:

CREATE TABLE Profesori (InstructorID INT AUTO_INCREMENT PRIMARY KEY, Teacher_Name VARCHAR(100), Curs VARCHAR(100));

Când creați tabelul Studenți, declarați coloana Teacher_FK ca fiind o cheie externă care face referire la coloana InstructorID din tabelul Teachers:

CREATE TABLE Elevi (StudentID INT AUTO_INCREMENT PRIMARY KEY, Student_Name VARCHAR(100), Teacher_FK INT, FREIGN KEY (Teacher_FK) REFERINȚE Profesori)(Instructor));

Folosirea relațiilor pentru a se alătura meselor

După ce creați una sau mai multe relații în baza de date, profitați de puterea acestora folosind interogări SQL JOIN pentru a combina informațiile din mai multe tabele. Cel mai obișnuit tip de îmbinare este un SQL INNER JOIN, care este o simplă îmbinare. Acest tip de alăturare returnează toate înregistrările care îndeplinesc condiția de alăturare dintr-unul sau mai multe tabele.

De exemplu, această condiție JOIN returnează Student_Name, Teacher_Name și Course, unde cheia externă din tabelul Studenți se potrivește cu cheia primară din tabelul Teachers:

SELECT Students. Student_Name, Teachers. Teacher_Name, Teachers. Course

FROM Students

INNER JOIN TeachersON Students. Teacher_FK=Teachers. InstructorID;

Această declarație produce un tabel de genul acesta:

Nume_Student Nume_Profesor Curs
Lowell Smith John Doe engleză
Brian Short John Doe engleză
Corky Mendez Jane Schmoe Mate
Monica Jones John Doe engleză

Recomandat: