Database
Exam theorie 40%
Exam praktijk 60%
Deel 1 – Relationeel model
Entiteiten en eigenschappen
Welke eigenschappen van de entiteit Game zie je hier?
platform, titel,…
Eigenschappen bevatten waarden
Waarden kunnen zijn of te vrij in te geven of te kiezen uit
een lijst
Voorbeeld: titels ingeven (vrij), keuzelijst (kiezen)
Wat is een eigenschap van wat?
✅
Is “Beschikbaarheid” een eigenschap van de entiteit Menu-
item?
Is “Beschikbaarheid” een eigenschap van de entiteit Game? ✅
✅
Is “Out-now” enz. een eigenschap van de entiteit Menu-item?
Is “Out-now” enz. een eigenschap van de entiteit Game? ✅
Is “Platform” een eigenschap van de entiteit Menu-item? ❌
Is “Platform” een eigenschap van de entiteit Game? ✅
Database 1
, ✅
Is type “New”/”Used” een eigenschap van de entiteit Menu-
item?
Is type “New”/”Used” een eigenschap van de entiteit Game? ❌
Welke gegevens herhalen zich?
herhaald gegeven: titel en platform
Is Titel een herhalend gegeven?
Ja
Gegevens
Vraag: Geef alle platformen waarop Marvel’s Avengers is
uitgebracht
Welke rijen zullen weerhouden worden?
✅ de
❌
Kijk naar de rij “Titel”. De eerste kolom komt overeen
tweede kolom komt niet overeen …
Actie: Zelfde gegevens meerdere malen invoeren
Probleem:
Veel typewerk
Hoger risico op foutieve invoer (Titel)
Foutieve invoer zorgt voor andere waarden indien letterlijk
bekeken
Meer opslagruimte nodig
Oplossing:
Zorgen dat zelfde gegevens slechts 1x voorkomen
Techniek = normaliseren van gegevens
Grondig uitgewerkt in gegevensanalyse
Relationeel model
Database 2
, Doel
1. Een genormaliseerde database maken.
2. Gegevens invoeren in de database via een app.
Opbouw
Identificeer eigenschappen waarvan de waarde > 1x voorkomt
Eigenschappen: titel, platform, type, prijs
Waarde: PC waarde van platform, new waarde van type, 64.98
waarde van prijs
Herhaal deze eigenschappen in een aparte entiteit, die als
tabel wordt opgeslagen.
Voeg aan elke nieuwe entiteit een eigenschap Id toe, die een
uniek identificatienummer bevat.
Dit nummer maakt het eenvoudig en snel om koppelingen te maken
tussen de entiteiten.
Invoer eigenschappen van een game via keuzelijsten
Minder typewerk
Minder risico op foutieve invoer
Eigenschappen v.e. game bevatten nu voornamelijk verwijzingen
Minder opslagruimte nodig
Definitie van verwijzingen op te halen via nummer
Relaties
Relatie = Koppeling tussen 2 tabellen
Binnen een relatie spreken we van:
Parent: bevat de definitie van een gegeven
bv. Platform in tblPlatforms
Database 3
, Child: bevat een verwijzing naar de definitie van een
gegeven
bv. PlatformId in tblGames
Een game wordt uitgebracht voor een platform
Platform is dus een eigenschap van een welbepaald game
Kardinaliteit
Bepaalt verhouding tussen parent en child
Eén op één
Voor 1 parent exact 1 child
Komt weinig voor
Soms gebruikt om tekortkomingen van database te omzeilen
Eén op meer
Voor 1 parent meerdere childs
Eén uitgever kan meerdere games hebben
Voor 1 child slechts 1 parent
Voorbeeld: Uitgever en game
Relaties zijn regels om data-integriteit te garanderen
Data-integriteit
Waarden van verwijzingen mogen niet naar niet-bestaand iets
verwijzen
Belangrijkste vormen voor regels
Cascade: wijzigt waarde van parent, wijzigt ook waarde in
child
Restrict: waarde parent mag niet gewijzigd worden als er
childs zijn
Database 4