3. • inleiding
• een voorbeeld
• kenmerken van de gegevensbankbenadering
• betrokken personen
• personen op de achtergrond
• voordelen van het gebruik van gegevensbanken
• implicaties van de gegevensbankbenadering
• wanneer geen gegevensbanken gebruiken
3
12. • Bestanden
• elk programma definieert structuur
• meerdere programma’s: redundantie of omzetten
• Gegevensbanken
• data + metadata die structuur beschrijft
• onafhankelijk van programma’s die er mee werken
16. Gegevensbank
• een verzameling centraal beheerde, permanent opgeslagen
gegevens die op elk tijdstip voor verschillende toepassingen
beschikbaar moet zijn
• behoeften
• alle gegevens van belang voor alle voorziene toepassingen
• elke toepassing ziet voor haar relevante gegevens
• verschillende toepassingen delen dezelfde gegevens
12
24. • Administrator (DBA: database administrator)
• beheerder van de gegevensbank
• verleent toegang tot (een deel van)
gegevensbank
• Ontwerper van de gegevensbank
• identificeert relevante gegevens
• definieert gepaste structuren
• definieert views voor groepen van gebruikers
20
27. • Eindgebruikers
• Toevallige gebruikers
• "nu en dan" informatie, hoog-niveau vraagtaal
• Naïeve (parametrische) gebruikers
• intensief gebruik, steeds dezelfde
voorgeprogrammeerde bewerkingen
• vb: reservatie vliegtuigtickets, ...
• Gebruikers met complexe wensen
• leren zelf alle details van het DBMS
• Alleenstaande gebruikers
• programmapakketten22met gemakkelijke interface
28. • Systeemanalysten
• bepalen de noden van de gebruiker
• specificeren transacties
• Toepassingsprogrammeurs
• implementeren specificaties
23
29. • DBMS ontwerpers en ontwikkelaars
• Ontwikkelaars van tools
• vb. grafische interface voor gegevensbankontwerp
• vb. generatie van testgegevens,
simulatie van de werking van de gegevensbank
• Operators en onderhoudspersoneel
• nieuwe versies installeren,
• hardwarebenodigdheden opvolgen
24
31. Redundantie
• verschillende programma's hebben zelfde gegevens nodig
• zelfde gegevens in verschillende bestanden
• meer werk om gegevens in te voeren
• verspilling van geheugenruimte
• bestanden kunnen inconsistent worden
• gegevensbank vermijdt of beperkt redundantie
• sla elk gegeven slechts 1 keer op
• indien toch redundantie nodig (bv. voor efficiëntie):
goed gedocumenteerd 26
33. • Opslagstructuren voor effciënte verwerking van queries
• indexen, buffering
• query-verwerking en -optimalisatie
• Back-up en herstel
• DBMS moet GB in oorspronkelijke toestand herstellen
• per ongeluk wissen / wijzigen van gegevens
• crash tijdens ingewikkelde aanpassing van GB
• Verschillende gebruikersinterfaces
• aangepast aan verschillende groepen gebruikers
28
34. • Complexe relaties tussen gegevens voorstellen en gebruiken
• vb. geef alle punten van student Smith (#17) in het jaar
2005 (met bijhorende cursus).
• punten opzoeken in GRADE_REPORT
• bijhorende secties opzoeken in SECTION
• voor die secties die in het juiste jaar vallen:
cursusnaam opzoeken via COURSE
• resultaten combineren
29
35. • Integriteitsbeperkingen opleggen
• vb. verbanden tussen verschillende relaties
• Waarde voor SectionIdentifier in GRADE_REPORT
moet voorkomen in SECTION
• Geen 2 studenten met zelfde StudentNumber
• ...
• beperkingen volgen uit semantiek van gegevens
(business rules)
• gebruiker moet beperkingen kunnen definiëren
• of: DBMS controleert en legt op
• of: update- of invoer-programma’s controleren
36. • Inferentie en automatische acties
• sommige gegevensbanksystemen bieden de mogelijkheid om
nieuwe informatie af te leiden uit de opgeslagen feiten
(=inferentie van nieuwe informatie): deductieve
gegevensbanksystemen
• automatisch acties ondernemen volgens bepaalde regels:
• triggers
• stored procedures
• active database systems
37. • meer standaardisatie voor gegevensbeheer
• DBA beheert alle gegevens, kan standaard opleggen
• flexibiliteit
• veranderingen mogelijk zonder toepassingsprogramma's te
moeten herschrijven
• verminderde ontwikkelingstijd voor nieuwe toepassingen
• beschikbaarheid van up-to-date informatie
• elke wijziging direct voor iedereen zichtbaar
• schaalvergroting → efficiënter beheer
39. • hiërarchisch en netwerk gegevensbanken
• conceptuele relaties vermengd met fysische opslag
• efficiënte toegang
• aanpassing voor nieuwe queries
moeilijk en weinig efficiënt
• enkel via programmeertalen
40. • relationele gegevensbanken
• fysische opslag gescheiden
van conceptuele relaties
• wiskundige grondslag
• hoog niveau opvraagtaal
• gegevensbank kan
gereorganiseerd worden
zonder impact op queries
• commerciële systemen:
1980 - eerst erg traag
• nu dominant June 1970
41. • object-gerichte gegevensbanken
• geen “impedance mismatch”
• maar
• complex model
• geen vroege standaard
• nu: niche
• CAD/CAM, multimedia, ...
• web
• vaak uit gegevensbanken: Linux+Apache+Mysql+Php
• XML
42. • nieuwe toepassingen
• wetenschappelijke gegevens, grid
• beelden: satelliet, medisch, ...
• video
• data mining
• Geografische Informatie Systemen
• tijdsreeks
• vereisen extra concepten