Joins
In deze les leer je hoe je de gegevens uit twee tabellen uit de deatabase kunt combineren
Uitleg
In een relationele database zitten meerdere tabellen en met behulp van relaties kun je deze gegevens combineren. In deze les leren we op een hele eenovdige manier hoe je dat kunt doen.
Stel je hebt twee tabellen: persoon en stad.
De tabel persoon bestaat uit 4 rows en 5 kolommen.
ID | voornaam | achternaam | stad |
1 | Jane | Collinson | 101 |
2 | Mohamed | Lisram | 103 |
3 | Leo | Thompson | 101 |
4 | Montano | Drew | 104 |
5 | Greg | Lewinky | 105 |
De tabel stad bestaat uit 5 rows en 2 kolommen
ID | naam |
101 | Amsterdam |
102 | Diemen |
103 | Abcoude |
105 | Utrecht |
106 | Bovenkerk |
Vraag 1: weet jij waar Jane Collinson woont (goed kijken)?
Als je ziet waar Jane woont dan heb je waarschijnlijk gezien dat de kolom stad uit de tabel persoon verwijst naar de kolom ID uit de tabel stad. Of in het kort:
persoon.stad = stad.ID
Primary Key en Foreign Key
De kolom persoon.stad verwijst naar een andere tabel dat heet een foreign key (vreemde key, een key van een andere tabel).
De kolom ID in de tabel stad is een primary key. Een hoofd sleutel. Een primary key heeft voor elke regel een unieke waarde en je kan er dus altijd precies één rij mee aanwijzen.
Een foreign key verwijst naar een aan andere primary key maar hoeft niet uniek te zijn. Kijk maar in het voorbeeld, Jane en Leo wonen allebij in stad 101 (Amsterdam) en hebben dus dezelfde foreigen key.
Opdracht
Maak een nieuwe database aan in phpmyadmin en noem de database persoon.
Maak in deze database twee tabellen:
- persoon met de kolommen ID (integer), voornaam (varchar(80)), achternaam (varchar(80)), en stad (integer)
- stad met de kolommen ID (integer) en naam (varchar(80)).