Databases en databasesystemen Database, Document and Content Management Databases en databasesystemen Hoofdstuk 1
Gegevensbeheer door de eeuwen heen Databasesysteem Overzicht Basisconcepten Gegevensbeheer door de eeuwen heen Databasesysteem Databasemanagementsysteem Wanneer een databasesysteem gebruiken?
Gegevensbeheer door de eeuwen heen Databasesysteem Overzicht Basisconcepten Gegevensbeheer door de eeuwen heen Databasesysteem Databasemanagementsysteem Wanneer een databasesysteem gebruiken?
Basisconcepten Data = gegeven feiten voorbeelden ‘Rotterdam’, ‘Vissershuis’, ‘Monet’, 1882 Informatie = data + betekenis voorbeeld ‘In het museum Boymans-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 ID Wijn Producent Jaar Flessen Op_dronk BETEKENIS ?
Gegevensbeheer door de eeuwen heen Databasesysteem Overzicht Basisconcepten Gegevensbeheer door de eeuwen heen Databasesysteem Databasemanagementsysteem Wanneer een databasesysteem gebruiken?
Gegevensbeheer door de eeuwen heen Codex van Hammoerabi (3000 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)
Gegevensbeheer door de eeuwen heen Databasesysteem Overzicht Basisconcepten Gegevensbeheer door de eeuwen heen Databasesysteem Databasemanagementsysteem Wanneer een databasesysteem gebruiken?
Databasesysteem data DBMS software hardware gebruikers
Central Processing Unit (CPU) Computergeheugen Databasesysteem Hardware Central Processing Unit (CPU) Computergeheugen Primair geheugen databasebuffers Volatiel Kleiner Sneller Secundair geheugen databases Niet-volatiel Groter Trager
Primaire bestandsorganisatie Secundaire bestandsorganisatie Databasesyteem CPU primair geheugen secundair geheugen databasebuffers datastromen databases Grootte van een pagina Primaire bestandsorganisatie Secundaire bestandsorganisatie
Databasesyteem databases in hoofdgeheugen traditionele databases 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
Data vormt een geïntegreerd geheel Databasesysteem Data Records Recordtypes Bestanden Data vormt een geïntegreerd geheel
Databasesysteem 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)) ID Naam Artiest Periode Waarde Eigenaar S01 Vissershuis Monet 1882 Boymans 16.000.000 S02 De balletles Degas 1872 Louvre 8.500.000 S03 Mona Lisa Da Vinci 1499 75.000.000 S04 Namiddag te Oostende Ensor 1881 KMSK 200.000 Voornaam Geboren Leonardo 1452 Edgar 1834 James 1860 Claude 1840 Gestorven 1519 1917 1949 1926 Plaats Land Rotterdam Nederland Parijs Frankrijk Antwerpen België
Databasemanagementsysteem Databasesysteem Software Databasemanagementsysteem Toepassingsprogramma’s Tools Communicatiesoftware Het databasemanagementsysteem is de software- component van een databasesysteem die instaat voor het beheer van de databases
Software voor data-analyse Rapportgeneratoren Databasesysteem Datawarehousing Software voor data-analyse Rapportgeneratoren
Databasesysteem
telecommunicatienetwerk Databasesysteem DBMS telecommunicatienetwerk databaseserver databaseclient
Gebruikers (en gebruikersrollen) Data-administrator Databasesysteem Gebruikers (en gebruikersrollen) Data-administrator Database-administrator Toepassingsontwikkelaar Eindgebruiker Gewone eindgebruiker Geavanceerde eindgebruiker
Gegevensbeheer door de eeuwen heen Databasesysteem Overzicht Basisconcepten Gegevensbeheer door de eeuwen heen Databasesysteem Databasemanagementsysteem Wanneer een databasesysteem gebruiken?
Databasemanagementsysteem Hoofdfunctionaliteit Databasedefinitie Integriteit Databasemanipulatie Toevoegen Aanpassen Verwijderen Bevragen (of 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 … Externe laag Logische laag Interne laag 10110… 00101… 10101… 00100… 01010… 10011… View 1 View 2 View 3 O1 O2 O3 Fysische opslag Architectuur
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 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; 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; Naam BYTES=30,OFFSET=6,INDEX=Eigenaar_Naam Plaats BYTES=20,OFFSET=36 Land BYTES=20,OFFSET=56 vaste recordlengte
Databasemanagementsysteem PREFIX Geboren 1 57 37 61 7 Naam Voornaam Gestorven A 1 D e g a s E d g a r 1 8 3 4 1 9 1 7 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 = Einde_veld V1=Naam V2=Voornaam = Einde_waarde V3=Hobby V4=Geboren = 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 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 conceptuele laag externe laag fysische laag logische data-onafhankelijkheid fysieke data-onafhankelijkheid
Gegevensbeheer door de eeuwen heen Databasesysteem Overzicht Basisconcepten Gegevensbeheer door de eeuwen heen Databasesysteem Databasemanagementsysteem Wanneer een databasesysteem gebruiken?
Wanneer een databasesysteem gebruiken? Voordelen van een databasesysteem Implementatie dbms-faciliteiten Nadelen van een databasesysteem Overhead van overbodige dbms-faciliteiten Aandachtspunten Toepassingen kunnen evolueren Kostprijs