Hyrje në marrëdhëniet e bazës së të dhënave

Termi "relacionale" ose "marrëdhënia" e bazës së të dhënave përshkruan mënyrën e lidhjes së të dhënave në tabela.

Të sapoardhurit në botën e bazave të të dhënave shpesh e kanë vështirë të shohin dallimin midis një baze të të dhënave dhe një spreadsheet. Ata shohin tabelat e të dhënave dhe pranojnë se bazat e të dhënave ju lejojnë të organizoni dhe të kërkoni të dhëna në mënyra të reja, por nuk kuptoni rëndësinë e marrëdhënieve midis të dhënave që i japin teknologjisë relacionale të bazës së të dhënave emrin e saj.

Marrëdhëniet ju lejojnë të përshkruani lidhjet mes tabelave të ndryshme të bazës së të dhënave në mënyra të fuqishme. Këto marrëdhënie pastaj mund të nxirren për të kryer pyetje të fuqishme ndër-tavoline, të njohura si bashkime.

Llojet e marrëdhënieve të bazës së të dhënave

Ekzistojnë tri lloje të ndryshme të marrëdhënieve të bazës së të dhënave, secila e quajtur sipas numrit të rreshtave të tabelës që mund të përfshihen në marrëdhënie. Secila prej këtyre tre llojeve të marrëdhënieve ekziston midis dy tabelave.

Marrëdhëniet Vetë-Referuese: Një Rast Special

Marrëdhëniet e vetë-referencës ndodhin kur ka vetëm një tryezë të përfshirë. Një shembull i zakonshëm është një tabelë e Punonjësve që përmban informacion rreth mbikëqyrësit të çdo punonjësi. Secili mbikëqyrës është gjithashtu i punësuar dhe ka mbikëqyrësin e vet. Në këtë rast, ekziston një marrëdhënie e vet-referencës një-me-shumë, pasi çdo punonjës ka një mbikëqyrës, por secili mbikëqyrës mund të ketë më shumë se një punonjës.

Krijimi i marrëdhënieve me çelësat e jashtëm

Ju krijoni marrëdhënie midis tabelave duke specifikuar një çelës të huaj. Ky kyç tregon bazën e të dhënave relacionale se si lidhen tabelat. Në shumë raste, një kolonë në Tabelën A përmban çelësat primarë që referohen nga Tabela B.

Shqyrto përsëri shembullin e tabelave të Mësuesve dhe Studentëve. Tabela Mësuesit përmban vetëm një ID, një emër dhe një kolonë kursesh:

mësuesit
InstructorID Teacher_Name kurs
001 John Doe anglisht
002 Jane Schmoe Math

Tabela Studentët përfshin një ID, emër dhe një kolonë të huaj kryesore:

studentët
StudentID Emri i studentit Teacher_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monica Jones 001

Kolona Teacher_FK në tryezën e Studentëve referon vlerën primare të një instruktori në tabelën e mësuesve.

Shpesh, hartuesit e bazës së të dhënave do të përdorin "PK" ose "FK" në emrin e kolonës për të identifikuar lehtë një çelës primar ose kolonë të huaj.

Vini re se këto dy tabela ilustrojnë një marrëdhënie të vetme mes mësuesve dhe nxënësve.

Marrëdhëniet dhe Integriteti Referues

Pasi të keni shtuar një çelës të jashtëm në një tabelë, atëherë mund të krijoni një kufizim të bazës së të dhënave që imponon integritetin referent midis dy tabelave. Kjo siguron që marrëdhëniet midis tabelave të mbeten të qëndrueshme. Kur një tabelë ka një çelës të huaj në një tabelë tjetër, koncepti i integritetit referent deklaron se çdo vlerë e rëndësishme e çelësit në Tabelën B duhet t'i referohet një regjistri ekzistues në Tabelën A.

Zbatimi i Marrëdhënieve

Në varësi të bazës së të dhënave tuaja, ju zbatoni marrëdhëniet midis tabelave në mënyra të ndryshme. Microsoft Access siguron një magjistar që lehtësisht ju lejon të lidhni tabela dhe të zbatoni integritetin referent.

Nëse po shkruani direkt SQL, së pari do të krijoni tabelën Mësuesit, duke deklaruar që një kolonë ID të jetë çelësi kryesor:

CREATE TABELA Mësimdhënësit (

Instruktori ID INT AUTO_INCREMENT KEY FILLESTAR,
Mësimdhënësi VARCHAR (100),
Kursi VARCHAR (100)
);

Kur krijoni tryezën e Studentëve, ju deklaroni që kolona Teacher_FK të jetë një çelës i huaj që referohet në kolonën e instruktorit në tabelën e mësuesve:

CREATE TABLE Studentët (
StudentID INT AUTO_INCREMENT KEY FILLESTAR,
Student_Name VARCHAR (100), Teacher_FK INT,
KEY FOREIGN (Teacher_FK) REFERENCAT Mësimdhënësit (ID instruktor))
);

Përdorimi i Marrëdhënieve me Bashkimin e Tabelave

Pasi të keni krijuar një ose më shumë marrëdhënie në bazën e të dhënave, mund të shfrytëzoni fuqinë e tyre duke përdorur SQL JOIN pyetje për të kombinuar informacionin nga tabela të shumta. Lloji më i zakonshëm i bashkëngjitjes është një SQL INNER JOIN, ose një bashkim i thjeshtë. Ky lloj bashkimi i kthen të gjitha të dhënat që plotësojnë kushtin e bashkimit nga tabela të shumëfishta. Për shembull, ky kusht JOIN do të kthejë Student_Name, Teacher_Name dhe Course kur çelësi i jashtëm në tryezën e Studentëve përputhet me çelësin primar në tabelën e mësuesve:

SELECT Students.Student_Name, Teachers.Teacher_Name, Teachers.Course
NGA Nxënësit
INNER JOIN Mësuesit
ON Students.Teacher_FK = Teachers.InstructorID;

Kjo deklaratë prodhon një tabelë si kjo:

U kthye nga deklarata SQL Join

Student_NameTeacher_NameCourseLowell SmithJohn DoeAnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish