Termat e bazës së të dhënave relacionale dhe marrëdhënie përshkruajnë mënyrën se si lidhen të dhënat në tabela. Një bazë të dhënash relacionale përbëhet nga një seri dy ose më shumë tabelash të lidhura nga një çelës specifik. Një bazë të dhënash relacionale ndryshon nga bazat e të dhënave të pastrukturuara, të cilat janë të zakonshme në iniciativat e të dhënave të mëdha. Bazat e të dhënave relacionale priren të kërkojnë rregulla strikte se si përcaktohen tabelat dhe çfarë përbën një marrëdhënie të vlefshme midis tabelave.
Llojet e marrëdhënieve të bazës së të dhënave
Marrëdhëniet ju lejojnë të përshkruani lidhjet midis tabelave të bazës së të dhënave në mënyra të fuqishme. Këto marrëdhënie më pas mund të përdoren për të kryer pyetje të fuqishme të ndërsjella, të njohura si JOIN.
Ekzistojnë tre lloje të marrëdhënieve të bazës së të dhënave, secila e emërtuar sipas numrit të rreshtave të tabelës të përfshirë në marrëdhënie. Secili prej këtyre tre llojeve të marrëdhënieve ekziston ndërmjet dy tabelave.
- Marrëdhëniet një për një ndodhin kur çdo hyrje në tabelën e parë ka vetëm një homolog në tabelën e dytë. Marrëdhëniet një-për-një përdoren rrallë sepse shpesh është më efikase të vendosësh të gjithë informacionin në një tabelë të vetme. Disa projektues të bazës së të dhënave përfitojnë nga kjo marrëdhënie duke krijuar tabela që përmbajnë një nëngrup të të dhënave nga një tabelë tjetër.
- Marrëdhëniet një-me-shumë janë lloji më i zakonshëm i marrëdhënieve të bazës së të dhënave. Ato ndodhin kur çdo rekord në tabelën A korrespondon me një ose më shumë regjistrime në tabelën B, por çdo rekord në tabelën B korrespondon me vetëm një rekord në tabelën A. Për shembull, marrëdhënia midis një tabele të Mësuesit dhe një tabele Studenti në një shkollë fillore baza e të dhënave ka të ngjarë të jetë një marrëdhënie një me shumë sepse çdo student ka vetëm një mësues, por çdo mësues ka disa studentë. Ky dizajn një-në-shumë ndihmon në eliminimin e të dhënave të dyfishta.
- Marrëdhënie shumë-me-shumë ndodhin kur çdo regjistrim në tabelën A korrespondon me një ose më shumë regjistrime në tabelën B dhe çdo rekord në tabelën B korrespondon me një ose më shumë regjistrime në Tabelën A. Për shembull, marrëdhënia ndërmjet një tabele të Mësuesit dhe një tabelë kursesh ka të ngjarë të jetë shumë-me-shumë sepse çdo mësues mund të udhëzojë më shumë se një lëndë dhe çdo kurs mund të ketë më shumë se një instruktor.
Përfundim
Marrëdhëniet e vetë-referencimit ndodhin kur ka vetëm një tabelë të përfshirë. Një shembull i zakonshëm është një tabelë e punonjësve që përmban informacione për mbikëqyrësit e secilit punonjës. Çdo mbikëqyrës është gjithashtu një punonjës dhe ka një mbikëqyrës. Në këtë rast, ekziston një marrëdhënie vetë-referuese një-me-shumë, pasi çdo punonjës ka një mbikëqyrës, por çdo mbikëqyrës mund të ketë më shumë se një punonjës.
Krijimi i marrëdhënieve me çelësat e huaj
Ju krijoni marrëdhënie midis tabelave duke specifikuar një çelës të huaj. Ky çelës i tregon bazës së të dhënave relacionale se si lidhen tabelat. Në shumë raste, një kolonë në tabelën A përmban çelësat kryesorë që janë referuar nga Tabela B.
Shqyrtoni shembullin e tabelave Mësuesit dhe Studentët. Tabela e Mësuesit përmban një ID, një emër dhe një kolonë kursi:
InstruktorID | Emri_Mësues | Kurs |
001 | John Doe | Anglisht |
002 | Jane Schmoe | Matematikë |
Tabela Studentët përfshin një ID, emër dhe një kolonë me çelës të huaj:
Studenti | Emri_Studenti | Teacher_FK |
0200 | Lowell Smith | 001 |
0201 | Brian Short | 001 |
0202 | Tapë Mendez | 002 |
0203 | Monica Jones | 001 |
Kollona Teacher_FK në tabelën Studentët i referohet vlerës kryesore kryesore të një instruktori në tabelën Mësuesit. Shpesh, projektuesit e bazës së të dhënave përdorin PK ose FK në emrin e kolonës për të identifikuar një kolonë kryesore ose çelës të huaj.
Këto dy tabela ilustrojnë një marrëdhënie një me shumë midis mësuesve dhe studentëve.
Marrëdhëniet dhe Integriteti Referencial
Pasi të shtoni një çelës të huaj në një tabelë, krijoni një kufizim bazë të dhënash që zbaton integritetin referencial midis dy tabelave. Ky hap siguron që marrëdhëniet ndërmjet tabelave të mbeten të qëndrueshme. Kur një tabelë ka një çelës të huaj për një tabelë tjetër, integriteti referencial kërkon që çdo vlerë e çelësit të huaj në tabelën B duhet t'i referohet një regjistrimi ekzistues në tabelën A.
Zbatimi i Marrëdhënieve
Në varësi të bazës së të dhënave tuaja, ju do të zbatoni marrëdhëniet midis tabelave në mënyra të ndryshme. Microsoft Access ofron një magjistar që ju lejon të lidhni tabela dhe gjithashtu të zbatoni integritetin e referencës.
Nëse jeni duke shkruar direkt SQL, së pari krijoni tabelën Teachers, duke deklaruar një kolonë ID si çelësin kryesor:
CREATE TABLE Teachers (InstructorID INT AUTO_INCREMENT PRIMARY KEY, Teacher_Name VARCHAR(100), Kursi VARCHAR(100));
Kur krijoni tabelën Studentët, ju e deklaroni kolonën Teacher_FK të jetë një çelës i huaj duke iu referuar kolonës InstructorID në tabelën e Mësuesve:
KRIJON TABELA Studentët (StudentID INT AUTO_INCREMENT ÇELËSI KRYESOR, Student_Name VARCHAR(100), Teacher_FK INT, FOREIGN RE_KEYT));
Përdorimi i marrëdhënieve për t'u bashkuar me tabelat
Pasi të krijoni një ose më shumë lidhje në bazën tuaj të të dhënave, shfrytëzoni fuqinë e tyre duke përdorur pyetjet SQL JOIN për të kombinuar informacione nga tabela të shumta. Lloji më i zakonshëm i bashkimit është SQL JOIN INNER, i cili është një bashkim i thjeshtë. Ky lloj bashkimi kthen të gjitha rekordet që plotësojnë kushtin e bashkimit nga një ose më shumë tabela.
Për shembull, ky kusht JOIN kthen Emri_Studenti, Emri_Mësuesi dhe Kursi, ku çelësi i huaj në tabelën Studentët përputhet me çelësin kryesor në tabelën Mësuesit:
SELECT Students. Student_Emri, Teachers. Teacher_Name, Teachers. Course
FROM Students
INNER JOIN TeachersON Studentët. Teacher_FK=Mësuesit;
Kjo deklaratë prodhon një tabelë diçka si kjo:
Emri_Studenti | Emri_Mësues | Kurs |
Lowell Smith | John Doe | Anglisht |
Brian Short | John Doe | Anglisht |
Tapë Mendez | Jane Schmoe | Matematikë |
Monica Jones | John Doe | Anglisht |