320 likes | 554 Views
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
E N D
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 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
echte wereld meta-data data Wijn ID Producent Jaar Flessen Op_dronk Basisconcepten bvb. informatie over de inhoud van een wijnkelder informatie BETEKENIS ?
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?
DBMS data software hardware gebruikers Databasesysteem
Databasesysteem • Hardware • Central Processing Unit (CPU) • Computergeheugen • Primair geheugen databasebuffers • Volatiel • Kleiner • Sneller • Secundair geheugen databases • Niet-volatiel • Groter • Trager
CPU primair geheugen datastromen databasebuffers secundair geheugen databases Databasesyteem • Buffergrootte = grootte van een pagina • Primaire bestandsorganisatie • Secundaire bestandsorganisatie
Primair geheugen • statisch ram-geheugen • dynamisch ram-geheugen databases in hoofdgeheugen • flash-geheugen Secundair geheugen • magneetschijfgeheugen • cd-rom en dvd traditionele databases Tertiair geheugen archieven en back-up • magneetbandgeheugen Databasesyteem
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 Vissershuis Monet 1882 16.000.000 Boijmans S02 De balletles Degas 1872 8.500.000 Louvre S03 Mona Lisa Da Vinci 1499 75.000.000 Louvre S04 Namiddag te Oostende Ensor 1881 200.000 KMSK RECORDTYPE Artiest (Naam:CHAR(30); Voornaam:CHAR(20); Geboren:INTEGER; Gestorven:INTEGER) Naam Voornaam Geboren Gestorven Da Vinci Leonardo 1452 1519 Degas Edgar 1834 1917 Ensor James 1860 1949 Monet Claude 1840 1926 RECORDTYPE Eigenaar (Naam:CHAR(30); Plaats:CHAR(20); Land:CHAR(20)) Naam Plaats Land Boijmans Rotterdam Nederland Louvre Parijs Frankrijk KMSK Antwerpen België
Databasesysteem • Software • Databasemanagementsysteem • Toepassingsprogramma’s • Tools • Communicatiesoftware Het databasemanagementsysteem is de software-component van een databasesysteem die instaat voor het beheer van de databases
databaseclient databaseclient databaseclient databaseclient telecommunicatienetwerk DBMS databaseserver Databasesysteem
Databasesysteem • Datawarehousing • Software voor data-analyse • Rapportgeneratoren
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
DBMS Externe laag View 1 View 2 View 3 … Logische laag Interne laag O1 O2 O3 10110…00101… 10101…00100… 01010…10011… Fysieke opslag Databasemanagementsysteem 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; 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 vaste recordlengte
1 7 37 57 61 Databasemanagementsysteem Geboren PREFIX Voornaam Gestorven Naam A 0 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 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
externe laag logische data-onafhankelijkheid fysieke data-onafhankelijkheid conceptuele laag fysische laag Databasemanagementsysteem • Data-onafhankelijkheid • Fysieke data-onafhankelijkheid • Logische 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