Doelstellingen
- Definities
- Toepassingen
- Gegevensmanagement
- Geschiedenis
- Architectuur
- Bouwen van een database
Notities
Inleiding
Wie / Wat gebruikt databanktechnologie?
- Traditionelebedrijfsapplicaties(loonberekening, tijdsregistratie, …)
- Biometrischeapplicaties(vingerafdrukken, resultatenscans)•Sensor-applicaties(in kerncentrales, …)
- GIS applicaties(geografischeinformatiesystemen(Google Maps, …)
- Big Data applicaties(Walmart, …)
- ‘Internet of Things (IoT)’ applicaties(Telematics, …)
→ Alle systemen die geordend gegevens terughalen en opslaan.
Gegevensmanagement via bestanden
Elke toepassing definieert zijn eigen bestanden
- bv. een klant.txt voor klantenbeheer, clienteel.xls voor facturatie, …
Probleem
Dit leidt ernaar dat:
- Data overal zit en geïsoleerd per applicatie
- Zelfde data staat op verschillende plaatsen
- Aanpassingen (bv. naam) worden niet doorgegeven naar alle systemen
- Data wordt op verschillende manieren opgeslagen en kan niet overgebracht worden van één naar een ander programma
Oplossing
Een systeem met gedeelde opslag en gelijkmatige, logische opbouw.
Begrippen
Databanken
Een gedeeldeverzameling van logisch met elkaar verbonden gegevens en hun beschrijving, ontworpen om aan de informatienodenvan een organisatie te voldoen
DBMS
(= Database Management System) Een verzameling computerprogramma’s nodig om een databank te definiëren, creëren, wijzigen, beheren en gebruiken.
Databanksysteem
De effectieve databank gekoppeld met de software nodige om ze te gebruiken (DBMS).
Toepassingsprogramma’s
Toepassingssoftware zorgt voor de verbinding (tussen gebruiker) met de DBMS.
- DBMS verzorgt de toegang tot de relevante databanken.
Databank gebruikers
- De data-administrators (DA): zijn in een onderneming centraal verantwoordelijk zijn voor de data
- Dbontwerpervertaalt: conceptueel model naar logisch en intern model
- DBA (databankbeheerder of database administrator): implementeert en monitort DB
- Applicatieontwikkelaar: schrijft databankprogramma’s/databankapplicaties
- Eindgebruikers: gebruikt databankapplicaties en voert op die manier databankacties uit
RDBMS
Een DBMS voor relationele databanken
- Maaktgebruikvan het relationeelgegevensmodel(met tabellen, rijen, kolommen, …)
- Momenteelhet meestfrequent gebruiktin de bedrijfswereld
- Gebruikt ‘SQL’ (beschrijvend en gebaseerd op resultset)
Voorbeelden van RDBMS’
- Oracle: Het grootste en eerste commerciële RDBMS. Wordt gebruikt in veel van ‘s werelds grootste bedrijven
- Microsoft SQL server: RDBMS-product van Microsoft. Leverbaar in vele versies voor verschillende bedrijfsbehoeften.
- MySQL: Het populairste open source RDBMS. Sinds 2010 wordt het ontwikkeld, gedistribueerd en ondersteund door Oracle Corporation.
- PostgreSQL: Ook een gratis, open source RDBMS. Sommigen zouden zeggen krachtiger dan MySQL
Databankmodel
Bestaat uit meerdere datamodellen die de gegevens weegeven met hun kenmerken en relaties. Verschillende types mogelijk.
- Beschrijving databankstructuur
- Specificaties v/d elementen, hun relaties, beperkingen en eigenschappen
- Opgestelt tijdens ontwerp
- Wijzigt niet rap
- Opgeslagen in de cataloog
Conceptueel datamodel
Weergave en eerste optekening van hoe de databank in het algemeen in elkaar zit.
- Gebruikt door: IT en Zakelijk personeel
- Voorstellng: (E)ERD diagram
Logisch datamodel
Vertaling in een specifiek type databankmodel. V
- Hiërarchisch
- Object georiënteerd
- Relationeel
- …
Fysiek datamodel
Geeft informatie over fysieke opslag Heel technisch.
- Waar worden welke gegevens opgeslagen
- Wat is de grootte van de datavelden
- Indexen die het ophalen versnellen
Architectuur databanken
1 laag
Alle functies van de database en DBMS draaien op één computer.
2 lagen
- De presentatie en bewerkingen gebeurt via externe software (bv. applicatie, website, …) = DBMS
- De database (opslag) zelf zit apart (draaiende op een server)
3 lagen
- De presentatie gebeurt via externe software (bv. applicatie, web, …)
- Bewerkingen gebeuren op een server
- De database draait als een apart applicatie (of zelfs aparte opslagserver)
Gegevens op een databank
Gegevensonafhankelijkheid
Wijzigigngen aan de gegevensbeschrijvingen hebben weinig tot (meestal) geen impact op applicaties.
Fysieke gegevensonafhankelijkheid
Wijzigingen van de opslagspecificaties hebben geen invloed op het logisch model noch op de applicatie
Logische gegevensonafhankelijkheid
Minimale aanpassingen aan de applicaties bij wijzigingen aan het logisch model.
Structuur gegevens
Gestructureerde gegevens
- Kunnen in een logisch datamodelvoorgesteld worden
- Integriteitsregels kunnen opgesteld en afgedwongen worden
- Vereenvoudigen, opzoeken, verwerken en analyseren
→ Voorbeelden: naam, geboortejaar, geboorteplaats van een kunstenaar
Ongestructureerde gegevens
kunnen niet op een zinvolle manier worden geïnterpreteerd door een applicatie → Voorbeelden: gesprekken op sociale media, e-mails
Semi-gestructureerdegegevens
De structuur van de gegevens is zeer onregelmatig of zeer wisselend. → Voorbeelden: webpagina’s van individuele gebruikers op een sociaal media platform, cv-documenten in een personeelsdatabank
Redundante gegevens
Overbodige gegevens voor mocht de primaire opslagoplossing falen. (bv. Harde schijf kapot) → bv. Soms worden databanken gedupliceerd uit veiligheidsoverwegingen of omwille van performantie
Integriteitsregels
Vastleggen hoe gegevens worden opgeslagen (syntactische regel)
- Worden gedefinieerd op basis van het conceptueel model en opgeslagen in de catalog. → bv. customerIDis een geheel getal (100, 200, niet 2.A), Eenheidsprijs > 0; geboortedatum > niet vandaag
Cataloog
Schatkist van DBMS, bewaart:
- Definities en beschrijving van de elementen in de DB (= metadata)
- Definities logisch gegevensmodel en intern gegevensmodel
- Opslagplaats voor integriteitsregels, en andere informatie zoals gebruikers, …
Zorgt voor synchronisatie en consistentie van de gegevensmodellen