Wat zijn informatiesystemen?
Informatiesystemen zijn bepaalde plaatsen voor het opslaan van data/informatie. of: Een systeem waarmee informatie over objecten of personen beheerd kan worden.
Een informatiesysteem betreft een systeem (software) dat input en output (I/O) heeft (data)
(dia 12 t/m 18)
Soorten data
Er zijn twee soorten data: Gestructureerde data en ongestructureerde data.
| Ongestructureerde data | Gestructureerde data |
|---|---|
| Betekenis blijkt uit context | Betekenis is gekoppeld aan de opslag |
| Geordend om toegankelijk te zijn voor mensen | Geordend om toegankelijk te zijn voor computers/applicaties |
| Voorbeelden: Tekst bestanden Social media Media: foto/video | Voorbeelden: Data van sensoren Wetenschappelijke data |
In de informatica spreken we over gestructureerde data wanneer deze zijn opgeslagen met de betekenis erbij.
Voorbeelden:
- Excel bestand
- Database
Data zoals in deze boeken of op webpagina’s zijn te vinden beschouwen we als ongestructureerde data
DBMS
De opslag van data vindt plaats in databases
Het beheer van data vindt plaats door software:
- DBMS = Database Management System
Databases
Een database is een verzameling van gegevens
Relationele Database
Een relationele database is een verzameling van gegevens geordend in tabellen
Het beheer van relational databases vindt plaats door software:
- RDBMS = Relational Database Management System
- Software programma (op server) dat relationele databases kan beheren
Relationeel geeft aan dat er tabellen in de database liggen
Boek maakt onderscheid tussen:
- Relation = tabel
- Relationship = relatie tussen tabellen
SQL
SQL staat voor Structured Query Language
Het is een wiskundige manier om data op te halen uit relationele databases
SQL werkt met rijen en kolommen
Select statement
Een query bestaat altijd uit een select statement
Select
- Meest gebruikt
- Wordt gebruikt voor data retrieval
Het is het meest complexe statement
Select *kolommen*
from *tabel*
| Python | SQL |
|---|---|
| Programeertaal | Declaratieve taal: Beschrijving van wat je wilt |
| Procedureel - Variabelen - Iteratie - Contitionele controle | |
bestand = open ("stud.txt") for regel in bestand: print(regel.split()[2]) | select * from student→ zal alle studenten tonen in de tabel studenten |
| Beschrijving hoe je een bestand wil lezen | Beschrijving wat je uit de database wil halen |
Data Modelering: conceptueel ERD
Een relationele database bouwen vereist een gedegen voorbereiding.
Daarvoor maken we een ERD:
- Samenhang tussen entiteiten geef je schematisch weer in een ERD
- ERD = Entity Relationschip Diagram
- ERD’s worden gebruikt tijdens de informatieanalyse
ERD begrippen
-
Relatie
- Verbinding tussen entiteiten op basis van aanwezigheid
- Je kan optionaliteit toevoegen aan een relatie, dat betekent dat er lege klassen mogen worden aangemaakt die we later invullen
- Je kan ook aanwezigheid verplicht maken, dat betekent dat er geen lege klassen aangemaakt mogen worden, ze moeten meteen ingevuld worden
-
Optionaliteit
- aanwezigheid niet verplicht
- aanwezigheid niet verplicht
-
Verplicht
- bij de aanwezigheid van de ene is aanwezigheid van de ander verplicht
- bij de aanwezigheid van de ene is aanwezigheid van de ander verplicht
-
1:N
- Als de ene aanwezig is, zijn er van de andere 0 of meer
- Als de ene aanwezig is, zijn er van de andere 0 of meer
-
N:M
- In beide richtingen van de relatie kunnen bij de aanwezigheid van de ene, 0 of meer van de andere aanwezig zijn. Probleem hier is herleidbaarheid
- In beide richtingen van de relatie kunnen bij de aanwezigheid van de ene, 0 of meer van de andere aanwezig zijn. Probleem hier is herleidbaarheid
-
1 op veel waarbij de | | aangeeft dat het exact 1 moet zijn
-
Samengevat:
Stappen in ontwikkeling database
Stap 1: Conceptueel model
- Het model zoals dat door de gebruikers wordt gezien
- Entiteiten
- Relaties
- Kardinaliteiten
- Attributen (zonder datatypes)
- Zonder verwijzingen (foreign keys)
Stap 2: Logisch model
- Model zoals het conceptuele model maar nu ook met:
- Attributen (met datatypes)
- Entiteiten
- Relaties
- Kardinaliteiten
Stap 3: Fysiek model
-
Fysiek, technisch of implementatie model
- Verwijzingen (foreign keys)
- Genormaliseerd
- Attributen (met datatypes)
- Entiteiten
- Relaties
- Kardinaliteiten
-
Afgeleid van conceptueel model
-
Vorm van de database zoals die geïmplementeerd gaat/kan worden
-
Reverse engineering
Verschil tussen conceptueel, logisch en fysiek ERD
| Conceptueel | Logisch | Fysiek | |
|---|---|---|---|
| Datatypes | niet | aanwezig | aanwezig |
| Veel-op-veel | tussentabel | ||
| Keys | niet | niet | aanwezig |
| Voor wie | Bedrijfsanalist | Beheerder |