Junior
Hoe wordt de relatie in een relationele database bereikt?
sobes.tech AI
Antwoord van AI
Relaties in relationele databasesystemen (RDBMS) worden bereikt met behulp van buitenlandse sleutels (Foreign Keys).
Een buitenlandse sleutel is een kolom of een set kolommen in een tabel die verwijst naar de primaire sleutel in een andere tabel. Op deze manier wordt een relatie tussen de records in twee tabellen gelegd.
Voorbeelden van relatie types:
- Een-op-veel (One-to-Many): Een record in de eerste tabel is verbonden met meerdere records in de tweede tabel. Bijvoorbeeld, een afdeling kan veel werknemers hebben. In de tabel
Employeeszal een buitenlandse sleutel zijn die verwijst naar de primaire sleutel in de tabelDepartments. - Veel-op-veel (Many-to-Many): Meerdere records in de eerste tabel zijn verbonden met meerdere records in de tweede tabel. Bijvoorbeeld, een student kan meerdere cursussen volgen, en een cursus kan door meerdere studenten worden gevolgd. Dit wordt geïmplementeerd met een tussentabel (relatietabel) die buitenlandse sleutels bevat die verwijzen naar de primaire sleutels van beide tabellen.
- Een-op-een (One-to-One): Een record in de eerste tabel is slechts verbonden met één record in de tweede tabel. Dit type relatie is minder gebruikelijk en wordt vaak gebruikt om een tabel verticaal te splitsen of optionele gegevens op te slaan. Het wordt geïmplementeerd met een buitenlandse sleutel in de tweede tabel die verwijst naar de primaire sleutel in de eerste, vaak met een unieke beperking op de buitenlandse sleutel.
Voorbeeld van het maken van een tabel met een buitenlandse sleutel in SQL:
-- Maak de tabel Departments
CREATE TABLE Departments (
department_id INT PRIMARY KEY, -- Primaire sleutel
department_name VARCHAR(100)
);
-- Maak de tabel Employees met een buitenlandse sleutel
CREATE TABLE Employees (
employee_id INT PRIMARY KEY,
employee_name VARCHAR(100),
department_id INT, -- Kolom voor de buitenlandse sleutel
FOREIGN KEY (department_id) REFERENCES Departments(department_id) -- Definitie van de buitenlandse sleutel
);
Buitenlandse sleutels zorgen voor referentiële integriteit van de gegevens, waardoor het creëren van "spook"-koppelingen wordt voorkomen (wanneer een buitenlandse sleutel verwijst naar een niet-bestaand record in de gerelateerde tabel).