SQL leren: Sleutels
Sleutels verbinden tabellen
Yasmine opent de database. "Waarom staat bij de spelers een getal in plaats van de naam van hun ploeg? Dat leest toch niemand." Dat getal is net het slimme deel.
De primaire sleutel
Elke tabel heeft een kolom id met een uniek nummer per rij: de primaire sleutel. Twee ploegen kunnen dezelfde trainer hebben of in dezelfde categorie spelen, maar nooit hetzelfde id.
Zo kan je elke rij zonder twijfel aanwijzen.
SELECT * FROM ploegen| id | naam | categorie | trainer_id |
|---|---|---|---|
| 1 | U11 | jeugd | 3 |
| 2 | U13 | jeugd | 1 |
| 3 | U15 | jeugd | NULL |
| 4 | Dames A | senioren | 2 |
| 5 | Heren A | senioren | 4 |
| 6 | Veteranen | senioren | NULL |
De vreemde sleutel
In spelers staat ploeg_id: het id van de ploeg waarin iemand speelt. Zo'n kolom die naar de primaire sleutel van een andere tabel wijst, heet een vreemde sleutel.
Daardoor staat de naam van elke ploeg maar één keer in de database. Hernoem je een ploeg, dan pas je één rij aan, niet twintig.
SELECT naam, ploeg_id FROM spelers| naam | ploeg_id |
|---|---|
| Jonas Verhoeven | 5 |
| Wout Hermans | 5 |
| Bram De Smet | 5 |
| Yannick Diallo | 5 |
| Elke Van Dyck | 4 |
| Nora Aerts | 4 |
| Charlotte Maes | 4 |
| Ines Goossens | 4 |
SELECT id, naam FROM ploegen| id | naam |
|---|---|
| 1 | U11 |
| 2 | U13 |
| 3 | U15 |
| 4 | Dames A |
| 5 | Heren A |
| 6 | Veteranen |
Probeer het zelf
Toon naam en positie van de spelers van de U15. Zoek eerst het id op.
Klaar voor meer?
De volledige les heeft 6 oefeningen, van makkelijk naar uitdagend, met hints, punten en een reeks die je kan opbouwen.
Begin aan de les