Wanneer gebruik je een databasesysteem?

advertisement
Principes van databases
Databases en databasesystemen
Hoofdstuk 1
Overzicht
•
•
•
•
•
Basisconcepten
Gegevensbeheer door de eeuwen heen
Databasesysteem
Databasemanagementsysteem
Wanneer gebruik je een databasesysteem?
Overzicht
•
•
•
•
•
Basisconcepten
Gegevensbeheer door de eeuwen heen
Databasesysteem
Databasemanagementsysteem
Wanneer gebruik je een databasesysteem?
Basisconcepten
• Data = gegeven feiten
voorbeelden
‘Rotterdam’, ‘Vissershuis’, ‘Monet’, 1882
• Informatie = data + betekenis
voorbeeld
‘In het museum Boijmans van Beuningen te Rotterdam bevindt zich
het schilderij ‘Vissershuis’ dat in 1882 door Monet werd
geschilderd.’
Een database is een collectie van persistente data
Een databasesysteem is een computersysteem
dat is opgezet voor het beheer van databases
Basisconcepten
echte wereld
bvb. informatie over de inhoud
van een wijnkelder
informatie
meta-data
data
BETEKENIS ?
ID
Wijn
Producent
Jaar
21
Fumé Blanc
Ch. St. Jean
1998
42
1999
2
Chardonnay
Buena Vista
1997
1
1999
3
Chardonnay
Geyser Peak
1997
5
1999
50
Pinot Noir
Gary Farrell
1996
20
2000
72
Zinfandel
Rafanelli
1995
12
2002
…
…
…
…
…
…
Flessen Op_dronk
Overzicht
•
•
•
•
•
Basisconcepten
Gegevensbeheer door de eeuwen heen
Databasesysteem
Databasemanagementsysteem
Wanneer gebruik je een databasesysteem?
Gegevensbeheer door de eeuwen heen
• Codex van Hammoerabi (2000 voor Christus)
eerste registratie van data
• ‘Fysice akroasis’ van Aristoteles (384-322 voor Christus)
ordening van data
• ‘Analytical engine’ van Charles Babbage (1830)
geautomatiseerde registratie van data
• Magneetband- en magneetschijfgeheugens (1960-1970)
eerste databasesystemen: ‘tweelagen’-systeemarchitectuur
• ‘Drielagen’-systeemarchitectuur (1970-1980)
eerste ‘moderne’ databasesystemen
– Het relationeel databasemodel (Codd, 1970)
– DB2, eerste relationeel databasesysteem (IBM, 1983)
Overzicht
•
•
•
•
•
Basisconcepten
Gegevensbeheer door de eeuwen heen
Databasesysteem
Databasemanagementsysteem
Wanneer gebruik je een databasesysteem?
Databasesysteem
DBMS
data
software
hardware
gebruikers
Databasesysteem
• Hardware
– Central Processing Unit (CPU)
– Computergeheugen
• Primair geheugen  databasebuffers
– Volatiel
– Kleiner
– Sneller
• Secundair geheugen  databases
– Niet-volatiel
– Groter
– Trager
Databasesyteem
CPU
databasebuffers
primair geheugen
datastromen
 Buffergrootte = grootte van een
pagina
 Primaire bestandsorganisatie
 Secundaire bestandsorganisatie
databases
secundair geheugen
Databasesyteem
Primair geheugen
• statisch ram-geheugen
• dynamisch ram-geheugen
• flash-geheugen
databases in
hoofdgeheugen
Secundair geheugen
• magneetschijfgeheugen
• cd-rom en dvd
traditionele
databases
Tertiair geheugen
• magneetbandgeheugen
archieven
en back-up
Databasesysteem
• Data
– Records
– Recordtypes
– Bestanden
– Data vormen een geïntegreerd geheel
Databasesysteem
RECORDTYPE Schilderij (ID:CHAR(3); Naam:CHAR(30); Artiest:CHAR(30);
Periode:INTEGER; Waarde:REAL; Eigenaar:CHAR(30))
ID
Naam
Artiest
Periode
Waarde
Eigenaar
S01
S02
S03
S04
Vissershuis
De balletles
Mona Lisa
Namiddag te Oostende
Monet
Degas
Da Vinci
Ensor
1882
1872
1499
1881
16.000.000
8.500.000
75.000.000
200.000
Boijmans
Louvre
Louvre
KMSK
RECORDTYPE Artiest (Naam:CHAR(30); Voornaam:CHAR(20);
Geboren:INTEGER; Gestorven:INTEGER)
Naam
Voornaam
Geboren
Gestorven
Da Vinci
Degas
Ensor
Monet
Leonardo
Edgar
James
Claude
1452
1834
1860
1840
1519
1917
1949
1926
RECORDTYPE Eigenaar (Naam:CHAR(30); Plaats:CHAR(20); Land:CHAR(20))
Naam
Plaats
Land
Boijmans
Louvre
KMSK
Rotterdam
Parijs
Antwerpen
Nederland
Frankrijk
België
Databasesysteem
• Software
– Databasemanagementsysteem
Het databasemanagementsysteem is de softwarecomponent van een databasesysteem die instaat
voor het beheer van de databases
– Toepassingsprogramma’s
– Tools
– Communicatiesoftware
Databasesysteem
databaseclient
databaseclient
databaseclient
databaseclient
telecommunicatienetwerk
DBMS
databaseserver
Databasesysteem
– Datawarehousing
– Software voor data-analyse
– Rapportgeneratoren
Databasesysteem
Databasesysteem
• Gebruikers (en gebruikersprofielen)
– Data-administrator
– Database-administrator
– Toepassingsontwikkelaar
– Eindgebruiker
• Gewone eindgebruiker
• Geavanceerde eindgebruiker
Overzicht
•
•
•
•
•
Basisconcepten
Gegevensbeheer door de eeuwen heen
Databasesysteem
Databasemanagementsysteem
Wanneer gebruik je een databasesysteem?
Databasemanagementsysteem
• Hoofdfunctionaliteit
– Databasedefinitie
• Integriteit
– Databasemanipulatie
•
•
•
•
Toevoegen
Aanpassen
Verwijderen
Opzoeken
– Databaseconstructie
• Opzetten van een database
Databasemanagementsysteem
• Andere functionaliteit
– Delen van dezelfde data
– Beveiliging van de data
• Tegen ongeoorloofd gebruik
• Tegen falen
– Optimaal systeemgedrag
– Administratie en controle
Databasemanagementsysteem
DBMS
Architectuur
Externe laag
View 1
View 2
View 3
…
Logische laag
Interne laag
O1
O2
O3
10110…
10101…
00101…
01010…00100…
10011… Fysieke opslag
Databasemanagementsysteem
• Architectuur (‘drielagen’-architectuur)
– Interne laag
• Beschrijving van recordtypes
– Vaste lengte
– Variabele lengte
» Domeinwaarden van variabele lengte (varchar)
» Meerwaardige recordvelden (set(varchar))
» Optionele recordvelden
– File header
– Recordtype-indicator
– Indexen (<veldwaarde, referentie>)
Databasemanagementsysteem
vaste
recordlengte
STORED_Schilderij BYTES=107;
PREFIX BYTES=6,OFFSET=0
ID BYTES=3,OFFSET=6
Naam BYTES=30,OFFSET=9,INDEX=Schilderij_Naam
Artiest BYTES=30,OFFSET=39
Periode BYTES=4,OFFSET=69
Waarde BYTES=4,OFFSET=73
Eigenaar BYTES=30,OFFSET=77
STORED_Artiest BYTES=64;
PREFIX BYTES=6,OFFSET=0
Naam BYTES=30,OFFSET=6,INDEX=Artiest_Naam
Voornaam BYTES=20,OFFSET=36
Geboren BYTES=4,OFFSET=56
Gestorven BYTES=4,OFFSET=60
STORED_Eigenaar BYTES=76;
PREFIX BYTES=6,OFFSET=0
Naam BYTES=30,OFFSET=6,INDEX=Eigenaar_Naam
Plaats BYTES=20,OFFSET=36
Land BYTES=20,OFFSET=56
Databasemanagementsysteem
Geboren
PREFIX
Voornaam
Naam
A0 1
Deg as
1
7
Gestorven
Edga r
1 8 3 4 19 1 7
37
57
61
RECORDTYPE Artiest (Naam:CHAR(30); Voornaam:CHAR(20);
Geboren:INTEGER; Gestorven:INTEGER)
Records met vaste lengte
V0=A01 V1=Degas V2=Edgar V3=Lezen Reizen V5=1917
V0=PREFIX
V1=Naam
V2=Voornaam
V3=Hobby
V4=Geboren
= Einde_veld
= Einde_waarde
= Einde_record
V5=Gestorven
RECORDTYPE Artiest (Naam:VARCHAR; Voornaam:VARCHAR; Hobby:SET(VARCHAR);
OPTIONAL Geboren:INTEGER; OPTIONAL Gestorven:INTEGER)
Records met variabele lengte
Databasemanagementsysteem
– Logische laag
• Volgens voorschriften van databasemodel
• Databaseschema
RECORDTYPE Schilderij (ID:CHAR(3); Naam:CHAR(30);
Artiest:CHAR(30); Periode:INTEGER; Waarde:REAL;
Eigenaar:CHAR(30))
RECORDTYPE Artiest (Naam:CHAR(30); Voornaam:CHAR(20);
Geboren:INTEGER; Gestorven:INTEGER)
RECORDTYPE Eigenaar (Naam:CHAR(30); Plaats:CHAR(20);
Land:CHAR(20))
Databasemanagementsysteem
– Externe laag
• View
In COBOL-code:
01 Tentoonstellingsitem.
02 ItemNaam PIC X(30).
02 Schilder PIC X(30).
In Java-code:
class Schilderij {
String Naam;
String Schilder;}
class Schilder {
String Naam;
String Voornaam;
int LeeftijdBijSterfte( );}
Databasemanagementsysteem
– Mappings
• ‘externe/logische’ mappings
• ‘logische/interne mapping
• (‘externe/externe’ mappings)
DBMS
Externe laag
View 1
View 2
View 3
…
Logische laag
Interne laag
O1
O2
O3
Databasemanagementsysteem
– Data-onafhankelijkheid
• Fysieke data-onafhankelijkheid
• Logische data-onafhankelijkheid
externe laag
conceptuele
laag
fysische laag
logische
data-onafhankelijkheid
fysieke
data-onafhankelijkheid
Overzicht
•
•
•
•
•
Basisconcepten
Gegevensbeheer door de eeuwen heen
Databasesysteem
Databasemanagementsysteem
Wanneer gebruik je een databasesysteem?
Wanneer gebruik je een databasesysteem?
• Voordelen van een databasesysteem
– Implementatie dbms-faciliteiten
• Nadelen van een databasesysteem
– Overhead van overbodige dbms-faciliteiten
• Aandachtspunten
– Toepassingen kunnen evolueren
– Kostprijs
Download