De databank "relaasje" of "relaasje" beskriuwt de manier wêrop dat gegevens yn tabellen ferbûn binne.
Nijcomers nei de wrâld fan databases hawwe faak in hurd tiid dat it ferskil tusken in databank en in tabblêd sjen. Se sjogge tabellen fan gegevens en erkennen dat databases jo soargje om gegevens op nije wizen te organisearjen en te bestjoeren, mar net fêst te stellen de betsjutting fan 'e relaasjes tusken gegevens dy't relaasje databanktechnyk syn namme jaan.
Ferhâldingen jouwe jo de ferbiningen tusken ferskillende database tabellen op sterke manieren beskriuwe. Dizze relaasjes kinne dan levere wurde om krêftige cross-table-fragen út te fieren, bekend as joins.
Typen fan databankrelaasjes
Der binne trije ferskillende types fan databankrelaasjes, elk neamd neffens it tal tabelrigen dy't belutsen wurde kinne yn 'e relaasje. Elk fan dizze trije relaasjetypen bestiet tusken twa tabellen.
- Ien-oan-ien relaasjes foarkomme as elke yngong yn 'e earste tabel ien, en inkeld ien, tsjinpartij yn' e twadde tabel. Ien-oan-ien relaasjes wurde selden brûkt, om't it faak effektiver is om ienfâldich te meitsjen fan alle ynformaasje yn in single tabel. Guon database-ûntwerpers meitsje gebrûk fan dizze relaasje mei it meitsjen fan tabellen dy't in subset fan de gegevens fan in oar tabel befetsje.
- Ien-oant-protte relaasjes binne de meast foarkommende type fan database-relaasje. Se komme foarkommen as elke record yn Tabel A ien of mear records yn Tabel B komt, mar elke record yn Tabel B komt oerien mei mar ien rekord yn Tabel A. Bygelyks is de relaasje tusken in learaar tafel en in studintetabel yn in basisskoalle Databank soe wierskynlik in ien-in-protte relaasje wêze, om't elke studint mar ien learaar hat, mar elke learaar hat meardere learlingen. Dit ien-te-ûntwerp helpt te dûbele data.
- In protte-oan-in protte ferhâldingen foarkomme as elke record yn Tabel A ien of mear ynskriften yn Tafel B entspricht, en elke record yn Tabel B komt oerien mei ien of mear ynstellingen yn Tabel A. Bygelyks de relaasje tusken in learkrêft en in kursussen Tafel soe wierskynlik in soad wêze omdat elke learaar mear as ien kursus liede kin, en elke kursus kin mear as ien ynstrukteur hawwe.
Self-Referencing Relationships: In Spesjale Case
Self-referencing relaasjes foarkom as der mar ien tafel is. Ien mienskiplik foarbyld is in personielstafel dy't ynformaasje jout oer de tafersjoch fan elke meiwurker. Elke opsjenner is ek in meiwurker en hat syn of har eigen supervisor. Yn dit gefal is der in ien-in-protte self-referencing-relaasje, lykas elke meiwurker ien tafersjoch hat, mar elk opsichter kin mear as ien meiwurker hawwe.
Ferbannen fan relaasjes mei bûtenlânske kaaien
Jo skeakelje relaasjes tusken tabellen troch in frjemdske kaai te beskriuwen. Dizze kaai fertelt de relaasje-databank hoe't de tabellen ferbûn binne. Yn in soad gefallen is in kolom yn Tabel A primêre toetsen dy't refereard binne fan Tabel B.
Besykje it foarbyld fan 'e leararen en studinten tabels wer. De tabel fan 'e learaar befettet gewoan in ID, in namme, en in kursus kolom:
InstructorID | Teacher_Name | Ferrin |
---|---|---|
001 | John Doe | Ingelsk |
002 | Jane Schmoe | Math |
De learlingen tafel befettet in ID, namme, en in bûtenlânske toetseboerd:
StudentID | Studintnamme | Teacher_FK |
---|---|---|
0200 | Lowell Smith | 001 |
0201 | Brian Short | 001 |
0202 | Corky Mendez | 002 |
0203 | Monica Jones | 001 |
De kolom Teacher_FK yn 'e Studinten tabel ferwiist de primêre kaaiwearde fan in ynstrukteur yn' e Learers tabel.
Faak wurde database-ûntwerpers brûke "PK" of "FK" yn de kolomnamme om maklik in primêre kaai of bûtenlânske toetseboerd te identifisearjen.
Tink derom dat dizze twa tabels in ien-in-protte relaasje tusken de leararen en de learlingen yllustrearje.
Relaasjes en referinsjele yntegriteit
As jo in frjemdske kaai tafoege oan in tabel, kinne jo in konfiguraasje fan databank oanmeitsje dy't de referinsjele yntegriteit tusken de twa tabellen behearsket. Dit soarget derfoar dat relaasjes tusken tafels konsekwint bliuwe. As ien tafel in frjemde toetseboerd hat oan in oare tabel, stelt it begryp fan referinsjele yntegriteit dat elke frjemde kaaiwearde yn Tabel B ferwiist nei in besteand rekord yn Tabel A.
Implementearjende relaasjes
Ofhinklik fan jo databank binne jo relaasjes tusken tabellen op ferskillende wizen ynfiere. Microsoft Access leveret in wizigje dy't jo maklik ljepblêden tafoegje en ek referinsjesynfestigens te ferwêzentlikjen.
As jo direkt SQL skriuwe, meitsje jo earst de tabellearers, wêrtroch't in ID-kolom ferkend is om de primêre kaai te wêzen:
CREATE TABLE Learkrêften (
InstructorID INT AUTO_INCREMENT PRIMARY KEY,
Teacher_Name VARCHAR (100),
Kurs VARCHAR (100)
);
As jo de tabel fan 'e Studinten oanmeitsje, ferklearje jo de column_FK-kolom om in frjemdske kaai te jaan dy't de kolom "InstructorID" yn' e tabel 'Learers' referenzet:
CREATE TABLE Studinten (
StudentID INT AUTO_INCREMENT PRIMARY KEY,
Student_Name VARCHAR (100), Teacher_FK INT,
FOREIGN KEY (Teacher_FK) REFERENCES Leararen (InstructorID))
);
Gebrûk fan relaasjes ta tafels te krijen
As jo ien of mear relaasjes yn jo database bewarje, kinne jo har macht brûke troch SQL JOIN-fragen te brûken om ynformaasje te kombinearjen fan meardere tabellen. De meast foarkommende type taheakke is in SQL INNER JOIN, of in ienfâldich join. Dizze type taheakjen jout alle akten dy't de oanbiedingsstipe foldogge út meardere tabellen. Bygelyks, dizze JOIN-kondysje sil de Student_Name, Teacher_Name, en Kursus weromjaan wêr't de bûtenlânske kaai yn 'e Studinten-tafel de primêre kaai yn' e tabeletearders oerienkomt:
SELECT Students.Student_Name, Teachers.Teacher_Name, Teachers.Course
FROM Studinten
INNER JOIN Learkrêften
ON Students.Teacher_FK = Teachers.InstructorID;
Dizze antwurd jout in tabel sa't dit is:
Tebek werom fan 'e SQL Join Statement
Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish