In het verlengde van het artikel Access - relaties volgt helemaal onderaan de complete SQL-instructie voor het aanmaken van de tabellen, relaties en rijen.
Wanneer deze SQL-instructie succesvol is geïmporteerd en uitgevoerd kan met behulp van de volgende SQL-instructie de resultaten van de rechter afbeelding worden gegenereerd.
SELECT B.bed_naam, B.bed_adres, B.bed_postcode, M.med_naam, M.med_tel FROM Bedrijven as B, Medewerkers as M, Bedrijf_Medewerker as BM WHERE B.bed_id = BM.bed_id AND M.med_id = BM.med_id;
Zoals in de bovenstaande afbeelding is af te lezen zijn er twee bedrijven en vijf medewerkers. Eén bedrijf kent meerdere medewerkers en één medewerker kan bij meerdere bedrijven werken, zie medewerker 3. In dit geval is er dus sprake van een veel op veel relatie.
In de bovenstaande afbeelding worden de relaties nog eens gevisualiseerd. Met behulp van de koppeltabel [Bedrijf_Medewerker] komt de veel-op-veel relatie tot stand tussen de tabellen [Bedrijven] en [Medewerkers].
-- ------------------------------------------- -- MS SQL Server 2014 -- pascalterheege.nl -- tabellen aanmaken -- ------------------------------------------- CREATE TABLE Bedrijven ( bed_id char(10) NOT NULL , bed_naam char(50) NOT NULL , bed_adres char(50) NULL, bed_postcode char(50) NULL ); CREATE TABLE Medewerkers ( med_id char(10) NOT NULL, med_naam char(50) NOT NULL, med_tel char(50) NULL ); CREATE TABLE Bedrijf_Medewerker ( bed_id char(10) NOT NULL, med_id char(10) NOT NULL ); -- ------------------------------------------- -- Definities primary keys (2x) -- ------------------------------------------- ALTER TABLE Bedrijven ADD PRIMARY KEY (bed_id); ALTER TABLE Medewerkers ADD PRIMARY KEY (med_id); -- ------------------------------------------- -- Definities foreign keys (2x) -- ------------------------------------------- ALTER TABLE Bedrijf_Medewerker ADD CONSTRAINT Fk_Medewerkers_Bedrijven FOREIGN KEY (bed_id) REFERENCES Bedrijven (bed_id); ALTER TABLE Bedrijf_Medewerker ADD CONSTRAINT Fk_Bedrijven_Medewerkers FOREIGN KEY (med_id) REFERENCES Medewerkers (med_id); -- ------------------------------------------- -- Tabel bedrijven vullen -- ------------------------------------------- INSERT INTO Bedrijven VALUES(1, 'Omval IT', 'Gebroeders Ganslaan 33', '5626 GA'); INSERT INTO Bedrijven VALUES(2, 'Backslash IT', 'Julianaplein 52', '5251 EE'); -- ------------------------------------------- -- Tabel medewerkers vullen -- ------------------------------------------- INSERT INTO Medewerkers VALUES(1, 'Steffen van Hattum', '06-97209103'); INSERT INTO Medewerkers VALUES(2, 'Annelise Tuin', '06-55104337'); INSERT INTO Medewerkers VALUES(3, 'Gertruida Dekkers', '06-18494231'); INSERT INTO Medewerkers VALUES(4, 'Elien Schäfer', '06-49496288'); INSERT INTO Medewerkers VALUES(5, 'Siemon Smit', '06-12351658'); -- ------------------------------------------- -- Tabel bedrijf_medewerker vullen -- ------------------------------------------- INSERT INTO bedrijf_medewerker VALUES(1, 1); INSERT INTO bedrijf_medewerker VALUES(1, 2); INSERT INTO bedrijf_medewerker VALUES(1, 3); INSERT INTO bedrijf_medewerker VALUES(2, 3); INSERT INTO bedrijf_medewerker VALUES(2, 4); INSERT INTO bedrijf_medewerker VALUES(2, 5);