Relaties en Keys
In de vorige les hebben we al geprobeerd iets met keys te doen. In deze les gaan we precies uit leggen hoe het zit met keys.
Daarnaast gaan we naar relaties kijken.
Let op key = sleutel, dit wordt in de IT-wereld doro elkaar gebruikt.
Bekijk de video: https://web.microsoftstream.com/video/c4c62660-1c4f-4c89-b09b-948cf7559c86
In de video worden twee zaken uitgelegd. De relaties tussen de entiteiten en de keys.
Relaties
Een RDBMS is een relational database management system, relational gaat dus over de relaties.
Een entiteit heeft een relatie als er een 'verbinding' is. In de video wordt dit uitgelegd met voorbeelden.
Ken je de opdracht uit de vorige les nog? Daarbij had je een medewerker entiteit en een afdeling. Hier is sprake van een relatie want:
een medewerker werkt op een afdeling en een afdeling heeft 0, 1 of meer werknemers.
Je ziet aan dit voorbeeld dat een relatie altijd twee kanten uit werkt.
Keys
Keys worden in de video ook uitgelegd In de video heeft Marieke het over sleutels. Er zijn twee soorten keys:
Primary Key (PK)
Elke entiteit heeft altijd precies één primary key.
Vaak wordt deze als eerst weergegeven. Een primary key moet uniek zijn. Dat betekent dat de key maar één keer mag voorkomen. Jouw studentnummer zou een primary key kunnen zijn. Jouw studentennummer komt namelijk maar één keer voor. Als je een database ontwerpt en je weet niet zeker wat de primary key moet zijn dan kun je altijd een ID als attribuut toevoegen. Dat is dan gewoon een oplopen nummer.
Foreign Key (FK)
Een relatie is altijd een relatie tussen een primary key en een foreign key. De primary key is uniek en de foriegn key hoeft dat niet te zijn.
In het bovenstaande plaatje komt elk nummer in de medewerker entiteit maar één keer voor. Maar de FK, afdeling_id kan wel 10x voorkomen. Als er namelijk 10 medewerkers op een afdeling werken dan hebben zij allemaal hetzelfde afdelings_id. De afdelings_id verwijst dan naar de afdeling. In de afdeling komt elke afdeling meer precies één keer voor.
Voor nu kijken we alleen nog maar naar het kraaienpootje in de relatie.
Het kraaienpootje staat altijd aan de kant van de FK.
Opdracht 1
Waar staat PK voor?
- Proper Key
- Primary Key
- Post Key
- Post Kickoff
Opdracht 2
Hoe vaak kan er een FK voorkomen in een entiteit?
- 1 of meer
- precies 1
- 0,1 of meer
- 1 of meer
Opdracht 3
Hoe vaak kan er een PK voorkomen in een entiteit?
- 1 of meer
- precies 1
- 0,1 of meer
- 1 of meer
Opdracht 5
Voor een student wil je de volgende attributen vastleggen: studentennummer, voornaam, achternaam, telefoon, klas
Van een klas wil je het volgende vastleggen: klasnummer, aantal_studenten, begin_jaar, mentor
Maak een ERD in Lucichart waarin je alle attributen vastlegt. Leg de keys vast (PK en FK).
Teken de relatie en zorg ervoor dat het kraaienpootje aan de juisten kant zit.
Uitleg over relaties in en Lucichart vind je op: https://www.lucidchart.com/pages/nl/tutorial-database-structuur-en-ontwerp#section_2
--