Databases en databasesystemen

32
Databases en databasesystemen Databases en databasesystemen Hoofdstuk 1 Principes van databases Principes van databases

description

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 - PowerPoint PPT Presentation

Transcript of Databases en databasesystemen

Page 1: Databases en databasesystemen

Databases en databasesystemenDatabases en databasesystemen

Hoofdstuk 1

Principes van databasesPrincipes van databases

Page 2: Databases en databasesystemen

OverzichtOverzicht

• Basisconcepten• Gegevensbeheer door de eeuwen heen• Databasesysteem• Databasemanagementsysteem• Wanneer gebruik je een

databasesysteem?

Page 3: Databases en databasesystemen

OverzichtOverzicht

• Basisconcepten• Gegevensbeheer door de eeuwen heen• Databasesysteem• Databasemanagementsysteem• Wanneer gebruik je een

databasesysteem?

Page 4: Databases en databasesystemen

BasisconceptenBasisconcepten

• Data = gegeven feitenvoorbeelden‘Rotterdam’, ‘Vissershuis’, ‘Monet’, 1882

• Informatie = data + betekenisvoorbeeld‘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

Page 5: Databases en databasesystemen

BasisconceptenBasisconcepten

echte wereld

informatie

bvb. informatie over de inhoud van een wijnkelder

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

… … … … … …

data

BETEKENIS ?

ID Wijn Producent Jaar Flessen Op_dronk

meta-data

Page 6: Databases en databasesystemen

OverzichtOverzicht

• Basisconcepten• Gegevensbeheer door de eeuwen heen• Databasesysteem• Databasemanagementsysteem• Wanneer gebruik je een

databasesysteem?

Page 7: Databases en databasesystemen

Gegevensbeheer door de eeuwen heenGegevensbeheer 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)

Page 8: Databases en databasesystemen

OverzichtOverzicht

• Basisconcepten• Gegevensbeheer door de eeuwen heen• Databasesysteem• Databasemanagementsysteem• Wanneer gebruik je een

databasesysteem?

Page 9: Databases en databasesystemen

DatabasesysteemDatabasesysteem

data

DBMS

software

hardware

gebruikers

Page 10: Databases en databasesystemen

DatabasesysteemDatabasesysteem

• Hardware– Central Processing Unit (CPU)– Computergeheugen

• Primair geheugen databasebuffers– Volatiel– Kleiner– Sneller

• Secundair geheugen databases– Niet-volatiel– Groter– Trager

Page 11: Databases en databasesystemen

DatabasesyteemDatabasesyteem

CPU

primair geheugen

secundair geheugen

databasebuffers

datastromen

databases

Primaire bestandsorganisatie Secundaire bestandsorganisatie

Buffergrootte = grootte van een pagina

Page 12: Databases en databasesystemen

DatabasesyteemDatabasesyteem

Primair geheugen

Secundair geheugen

Tertiair geheugen

• statisch ram-geheugen• dynamisch ram-geheugen

• flash-geheugen

• magneetschijfgeheugen • cd-rom en dvd

• magneetbandgeheugen

databases in hoofdgeheugen

traditionele databases

archieven en back-up

Page 13: Databases en databasesystemen

DatabasesysteemDatabasesysteem

• Data– Records– Recordtypes– Bestanden– Data vormen een geïntegreerd geheel

Page 14: Databases en databasesystemen

DatabasesysteemDatabasesysteemRECORDTYPE 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))

ID Naam Artiest Periode Waarde Eigenaar

S01 Vissershuis Monet 1882 Boijmans16.000.000S02 De balletles Degas 1872 Louvre8.500.000S03 Mona Lisa Da Vinci 1499 Louvre75.000.000S04 Namiddag te Oostende Ensor 1881 KMSK200.000

Naam Voornaam Geboren

Da Vinci Leonardo 1452Degas Edgar 1834Ensor James 1860Monet Claude 1840

Gestorven

1519191719491926

Naam Plaats Land

Boijmans Rotterdam NederlandLouvre Parijs FrankrijkKMSK Antwerpen België

Page 15: Databases en databasesystemen

DatabasesysteemDatabasesysteem

• Software– Databasemanagementsysteem

– Toepassingsprogramma’s– Tools– Communicatiesoftware

Het databasemanagementsysteem is de software-component van een databasesysteem die instaat voor het beheer van de databases

Page 16: Databases en databasesystemen

DatabasesysteemDatabasesysteem

DBMS

telecommunicatienetwerk

databaseserver

databaseclient

databaseclient databaseclient

databaseclient

Page 17: Databases en databasesystemen

DatabasesysteemDatabasesysteem

– Datawarehousing– Software voor data-analyse– Rapportgeneratoren

Page 18: Databases en databasesystemen

DatabasesysteemDatabasesysteem

Page 19: Databases en databasesystemen

DatabasesysteemDatabasesysteem

• Gebruikers (en gebruikersprofielen)– Data-administrator– Database-administrator– Toepassingsontwikkelaar– Eindgebruiker

• Gewone eindgebruiker• Geavanceerde eindgebruiker

Page 20: Databases en databasesystemen

OverzichtOverzicht

• Basisconcepten• Gegevensbeheer door de eeuwen heen• Databasesysteem• Databasemanagementsysteem• Wanneer gebruik je een databasesysteem?

Page 21: Databases en databasesystemen

DatabasemanagementsysteemDatabasemanagementsysteem

• Hoofdfunctionaliteit– Databasedefinitie

• Integriteit– Databasemanipulatie

• Toevoegen• Aanpassen• Verwijderen• Opzoeken

– Databaseconstructie• Opzetten van een database

Page 22: Databases en databasesystemen

DatabasemanagementsysteemDatabasemanagementsysteem

• Andere functionaliteit– Delen van dezelfde data– Beveiliging van de data

• Tegen ongeoorloofd gebruik• Tegen falen

– Optimaal systeemgedrag– Administratie en controle

Page 23: Databases en databasesystemen

DatabasemanagementsysteemDatabasemanagementsysteem

DBMS

Externe laag

Logische laag

Interne laag

10110…00101…

10101…00100…01010…

10011…

View 1 View 2 View 3

O1O2O3

Fysieke opslag

Architectuur

Page 24: Databases en databasesystemen

DatabasemanagementsysteemDatabasemanagementsysteem

• 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>)

Page 25: Databases en databasesystemen

DatabasemanagementsysteemDatabasemanagementsysteem

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=77STORED_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=60STORED_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

vaste recordlengte

Page 26: Databases en databasesystemen

DatabasemanagementsysteemDatabasemanagementsysteem

PREFIX

Naam Voornaam

Geboren

Gestorven

Records met vaste lengte

Records met variabele lengte

V0=A01 V1=Degas V2=Edgar V3=Lezen Reizen V5=1917

V0=PREFIXV1=NaamV2=VoornaamV3=HobbyV4=GeborenV5=Gestorven

= Einde_veld

= Einde_waarde

= Einde_record

1 5737 617

A0 1 D e g a s E d g a r 1 8 3 4 19 1 7

RECORDTYPE Artiest (Naam:CHAR(30); Voornaam:CHAR(20); Geboren:INTEGER; Gestorven:INTEGER)

RECORDTYPE Artiest (Naam:VARCHAR; Voornaam:VARCHAR; Hobby:SET(VARCHAR); OPTIONAL Geboren:INTEGER; OPTIONAL Gestorven:INTEGER)

Page 27: Databases en databasesystemen

DatabasemanagementsysteemDatabasemanagementsysteem

– 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))

Page 28: Databases en databasesystemen

DatabasemanagementsysteemDatabasemanagementsysteem

– 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( );}

Page 29: Databases en databasesystemen

DatabasemanagementsysteemDatabasemanagementsysteem

– Mappings• ‘externe/logische’ mappings• ‘logische/interne mapping• (‘externe/externe’ mappings)

DBMS

Externe laag

Logische laag

Interne laag

View 1 View 2 View 3

O1O2O3

Page 30: Databases en databasesystemen

DatabasemanagementsysteemDatabasemanagementsysteem

– Data-onafhankelijkheid• Fysieke data-onafhankelijkheid• Logische data-onafhankelijkheid

conceptuelelaag

externe laag

fysische laag

logischedata-onafhankelijkheid

fysiekedata-onafhankelijkheid

Page 31: Databases en databasesystemen

OverzichtOverzicht

• Basisconcepten• Gegevensbeheer door de eeuwen heen• Databasesysteem• Databasemanagementsysteem• Wanneer gebruik je een databasesysteem?

Page 32: Databases en databasesystemen

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