PowerPoint-presentatie

advertisement
Principes van databases
Datamodellen en databasemodellen
Hoofdstuk 2
1
Overzicht
•
•
•
•
•
•
2
Basisconcepten
De operationele modellen
De structurele modellen
De semantische modellen
Verdere ontwikkelingen
Wanneer gebruik je welk databasemodel?
Overzicht
•
•
•
•
•
•
3
Basisconcepten
De operationele modellen
De structurele modellen
De semantische modellen
Verdere ontwikkelingen
Wanneer gebruik je welk databasemodel?
Basisconcepten
Een datamodel is een verzameling van voorschriften
en regels die het mogelijk maken om de structuur en
het gedrag te beschrijven van data die in bepaalde
software voorkomen
Een databasemodel is een verzameling van voorschriften
en regels die het mogelijk maken om zowel de structuur,
de beperkingen voor integriteit en beveiliging, als het
gedrag van een database te beschrijven op het niveau
van de logische laag uit een ‘drielagen’-architectuur voor
databasemanagementsystemen.
4
Basisconcepten
operationele
modellen
traditionele
modellen
structurele
modellen
semantische
modellen
verdere
ontwikkelingen
5
•
•
•
•
“inverted list”-model
hiërarchisch model
netwerkmodel
andere operationele modellen
• semi-relationeel model
• relationeel model
• andere structurele modellen
•
•
•
•
RM/T model
object-relationeel model
objectgeoriënteerde modellen
andere semantische modellen
•
•
•
•
deductieve modellen
spatio-temporele modellen
“vage en onzekere” modellen
andere “intelligente” modellen
Overzicht
•
•
•
•
•
•
6
Basisconcepten
De operationele modellen
De structurele modellen
De semantische modellen
Verdere ontwikkelingen
Wanneer gebruik je welk databasemodel?
De operationele modellen
• Zorg voor:
– Efficiënte opslag
– Efficiënte bevraging
• Het hiërarchisch databasemodel
– Structurele aspecten
• Databaseschema = collectie van boomstructuren
– Knopen = recordtypes
– Takken = verwantschappen tussen recordtypes
• Database = collectie van bomen
– Knopen = records
– Takken = 1:N-relaties tussen records
• `Virtuele ‘ouder-kind’-relaties
7
De operationele modellen
root
Niveau 1
Niveau 2
Niveau 3
bladknoop
Niveau 4
8
De operationele modellen
Databaseschema “Schilderijen”
r1
Artiest
Naam Voornaam Geboren Gestorven
r3
Eigenaar
Plaats
Naam
Land
r2
Schilderij
ID Naam Artiest Periode Waarde Eigenaar
Database “Schilderijen”
Da Vinci
r1
S03
r2
Degas
S02
r2
r1
S05
S04
9
Ensor
r1
Monet
r2
r2
S06
r2
S07
r2
r3
Louvre
r3
KMSK
r3
r1
r2
S01
Boijmans
De operationele modellen
• Interne opslag: hiërarchische recordsequenties
r1 Da Vinci
r2 S03
r1 Degas
r2 S02
r2 S05
r1 Ensor
r2 S04
r2 S06
r2 S07
r1 Monet
r2 S01
r3 Boijmans
r3 Louvre
r3 KMSK
– Gedragsaspecten
• Principe van logische nabijheid
• Databasemanipulatie
– Operatoren die opgeroepen worden vanuit een hosttaal
– Hostvariabelen
10
Overzicht
•
•
•
•
•
•
11
Basisconcepten
De operationele modellen
De structurele modellen
De semantische modellen
Verdere ontwikkelingen
Wanneer gebruik je welk databasemodel?
De structurele modellen
• Zorg voor:
– Abstracte structuur
– Operaties op het niveau van abstracte structuur
• Het relationeel databasemodel
– Structurele aspecten
• Relaties (voorgesteld als tabellen)
– Atomaire waarden
– Kandidaatsleutels
» Uniciteit
» irreducibiliteit
– Vreemde sleutels
• Databaseschema = collectie van relatieschema’s
• Database = collectie van relaties
12
De structurele modellen
Tabel Schilderij
vreemde sleutels = {Artiest} en {Eigenaar}
S_ID:
Naam:
char(3) varchar
Artiest:
char(3)
S01
Vissershuis
A04
1882
16.000.000
Boijmans
S02
De balletles
A02
1872
8.500.000
Louvre
S03
Mona Lisa
A01
1499
75.000.000
Louvre
S04
Namiddag te Oostende
A03
1881
200.000
KMSK
Tabel Artiest
13
kandidaatsleutel = {S_ID}
Periode:
integer
Waarde:
real
Eigenaar:
varchar
kandidaatsleutels = {A_ID} en {Naam, Voornaam, Geboren}
A_ID:
Naam:
char(3) varchar
Voornaam:
varchar
Geboren:
integer
Gestorven:
integer
A01
Da Vinci
Leonardo
1452
1519
A02
Degas
Edgar
1834
1917
A03
Ensor
James
1860
1949
A04
Monet
Claude
1840
1926
De structurele modellen
Tabel Eigenaar
14
kandidaatsleutel = {Naam}
Naam:
varchar
Plaats:
varchar
Land:
varchar
Boijmans
Rotterdam
Nederland
Louvre
Parijs
Frankrijk
KMSK
Antwerpen
België
De structurele modellen
– gedragsaspecten
• SQL
– DDL
– DML
SELECT Schilderij.Naam
FROM Schilderij, Artiest
WHERE Schilderij.Artiest=Artiest.A_ID
AND Artiest.Naam=‘Ensor’
15
Overzicht
•
•
•
•
•
•
16
Basisconcepten
De operationele modellen
De structurele modellen
De semantische modellen
Verdere ontwikkelingen
Wanneer gebruik je welk databasemodel?
De semantische modellen
• Zorg voor:
– Modelleren van de betekenis van de gegevens
• De objectgeoriënteerde databasemodellen
– ODMG-objectmodel
– Structurele aspecten
• Klassen
–
–
–
–
Structuur
Gedrag
Overerving
Binaire verwantschappen
• Objecten
17
De semantische modellen
Kunstwerk
Schilderij
18
bezit
is_van
is_geschilderd_door
schilderde
Eigenaar
Artiest
De semantische modellen
– Gedragsaspecten
• OQL
SELECT a.schilderde.Naam
FROM a in Artiest
WHERE a.Naam=‘Ensor’
19
Overzicht
•
•
•
•
•
•
20
Basisconcepten
De operationele modellen
De structurele modellen
De semantische modellen
Verdere ontwikkelingen
Wanneer welk databasemodel gebruiken?
Verdere ontwikkelingen
• Impedance mismatch
Het nadelig informatieverlies dat kan optreden wanneer
gegevens die gemodelleerd zijn volgens een gegeven
databasemodel worden omzet naar de datastructuren van
de programmeertalen waarin de databasetoepassing zijn
geschreven (en omgekeerd).
– Semantische rijkere databasemodellen
• Deductieve databases
• “Vage” databases
21
Overzicht
•
•
•
•
•
•
22
Basisconcepten
De operationele modellen
De structurele modellen
De semantische modellen
Verdere ontwikkelingen
Wanneer gebruik je welk databasemodel?
Wanneer gebruik je welk databasemodel?
• Afhankelijk van:
– De toepassing
• De vereiste performantie
• Andere technische vereisten
–
–
–
–
–
–
23
Aanwezige kennis en technologie
Aanleercurve voor de gebruikers
Duurzaamheid van de oplossing
Standaardisatie
Schaalbaarheid
Technische support en ondersteuning
Download