Ynlieding ta databankrelaasjes

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.

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:

Learers
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:

Studinten
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