Databases en databasesystemen

Post on 24-Feb-2016

40 views 2 download

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

Databases en databasesystemenDatabases en databasesystemen

Hoofdstuk 1

Principes van databasesPrincipes van databases

OverzichtOverzicht

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

databasesysteem?

OverzichtOverzicht

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

databasesysteem?

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

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

OverzichtOverzicht

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

databasesysteem?

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)

OverzichtOverzicht

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

databasesysteem?

DatabasesysteemDatabasesysteem

data

DBMS

software

hardware

gebruikers

DatabasesysteemDatabasesysteem

• Hardware– Central Processing Unit (CPU)– Computergeheugen

• Primair geheugen databasebuffers– Volatiel– Kleiner– Sneller

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

DatabasesyteemDatabasesyteem

CPU

primair geheugen

secundair geheugen

databasebuffers

datastromen

databases

Primaire bestandsorganisatie Secundaire bestandsorganisatie

Buffergrootte = grootte van een pagina

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

DatabasesysteemDatabasesysteem

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

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ë

DatabasesysteemDatabasesysteem

• Software– Databasemanagementsysteem

– Toepassingsprogramma’s– Tools– Communicatiesoftware

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

DatabasesysteemDatabasesysteem

DBMS

telecommunicatienetwerk

databaseserver

databaseclient

databaseclient databaseclient

databaseclient

DatabasesysteemDatabasesysteem

– Datawarehousing– Software voor data-analyse– Rapportgeneratoren

DatabasesysteemDatabasesysteem

DatabasesysteemDatabasesysteem

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

• Gewone eindgebruiker• Geavanceerde eindgebruiker

OverzichtOverzicht

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

DatabasemanagementsysteemDatabasemanagementsysteem

• Hoofdfunctionaliteit– Databasedefinitie

• Integriteit– Databasemanipulatie

• Toevoegen• Aanpassen• Verwijderen• Opzoeken

– Databaseconstructie• Opzetten van een database

DatabasemanagementsysteemDatabasemanagementsysteem

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

• Tegen ongeoorloofd gebruik• Tegen falen

– Optimaal systeemgedrag– Administratie en controle

DatabasemanagementsysteemDatabasemanagementsysteem

DBMS

Externe laag

Logische laag

Interne laag

10110…00101…

10101…00100…01010…

10011…

View 1 View 2 View 3

O1O2O3

Fysieke opslag

Architectuur

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

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

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)

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

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

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

DatabasemanagementsysteemDatabasemanagementsysteem

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

conceptuelelaag

externe laag

fysische laag

logischedata-onafhankelijkheid

fysiekedata-onafhankelijkheid

OverzichtOverzicht

• 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