Informatie systeem
- Een informatiesysteem is in staat om data op te slaan en deze data te gebruiken om informatie te geven
- Bijna alle systemen die we gebruiken zijn vormen van informatie systemen
- Een informatiesysteem betreft een systeem (software) dat input en output (I/O) heeft (data)

Bijvoorbeeld:
- Osiris
- Google
- google maps
- YT
- Signal
Beheren:
- Verzamelen
- bewerken
- analyseren
- integreren
- Representeren (Visualiseren)
Relationele Databases
| Ongestructureerde data | Gestructureerde data |
|---|---|
| Betekenis blijkt uit de 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 |
Gestructureerde data
In de informatica spreken we over gestructureerde data wanneer deze zijn opgeslagen met de betekenis erbij
Voorbeelden:
- Excel bestand
- Database
Data zoals deze in 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 Bijvoorbeeld:
- spotify
- MyX
wat is een relationele Database
Een relationele database is een verzameling van gegevens geordend in tabellen

Wat is een RDBMS
RDBMS = Relational Database Management System Het is een software programma (op een server) dat relationele databases kan beheren.
wat is relationeel
Relationeel geeft aan dat er tabellen in de database liggen
Boek maakt onderscheid tussen:
- Relation = tabel
- Relationship = relatie tussen tabellen
SQL: Structured Query Language
- Om een relationele database te bevragen is een universele taal ontwikkeld: SQL
- Het is een wiskundige manier om data op te halen

Select Statement
- Select
- meest gebruikt
- data retrieval
- Meest complexe statement
- Het begint altijd met select
select kolom
from tabel
| Python | SQL |
|---|---|
| Programmeertaal | Declaratieve taal: beschrijving van wat je wilt |
| Procedureel - variabelen - iteratie - conditionele controle | |
bestand = open (“stud.txt”) for regel in bestand: print (regel.split()[2]) | select * from studentzal alle studenten tonen uit de tabel studenten |
| Beschrijving hoe je een bestand wilt lezen | Beschrijving wat je uit de database wilt halen |
Data Modelering: conceptueel ERD
- Een relationele database bouwen vereist een gedegen voorbereiding
- Er worden verschillende stappen doorlopen voordat de database wordt gemaakt
ERD: Entity Relationschip Diagram
- Samenhang tussen entiteiten geef je schematisch weer in een ERD
- ERD’s gebruik je tijdens de informatieanalyse
ERD begrippen: Crows Feet
- Relatie
- verbinding tussen entiteiten op basis van aanwezigheid

- Optioneel
- Aanwezigheid is niet verplicht

- Verplicht:
- Bij de aanwezigheid van de ene is aanwezigheid van de andere verplicht

- 1:N
- 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

- 1 op veel
- waarbij || aangeeft dat het exact 1 moet zijn

Samenvatting

Relatie
In databases jargon wordt gesproken over Kardinaliteit bij het soort van de relaties tussen entiteiten
Stappen in ontwikkeling van databases

Stap 1: conceptueel model
- Het model 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
- 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 geimplementeerd gaat/kan worden
-
- Reverse engineering

Conceptueel, logisch en fysiek
| Conceptueel | Logisch | Fysiek | |
|---|---|---|---|
| Datatypes | niet | Aanwezig | aanwezig |
| veel op veel | tussentabel | ||
| keys | niet | niet | aanwezig |
| Voor wie | bedrijfsanalist | Beheerder |

Normaliseren
- Gestructureerd opslaan van gegevens is belangrijk
- Normaliseren is een hulpmiddel om de Structuur te ontwikkelen
- Het is gebaseerd op Flexibiliteit, onderhoudbaarheid en het voorkomen van redundante registratie van en in het model
Normaliseren leidt tot een eenduidige beschrijving van een mogelijke informatie structuur
- Op basis van deze beschrijving kan een model (schema) getekend worden
- Dit model vormt vaak de basis van de implementatie van databases
- Om data veilig op te slaan in een relationele database normaliseren we data
- Normaliseren van data leidt ertoe dat data niet redundant worden opgeslagen
- Hiermee voorkom je inconsistentie
Redundantie
Het meer dan benodigd (overvloedig) zijn van iets
- Vaak is redundantie gewenst
- in technische systemen
- Vliegtuigen hebben bijv. vaak drievoudige backups
- in de biologie
- Er bestaan veel verschillende soorten cytokinen die door verschillende soorten cellen geproduceerd worden, sommige hebben overlappende functies en ze werken in op verschillende andere soorten cellen
- We hebben 2 nieren waarbij 1 zou kunnen voldoen
- in technische systemen
Inconsistentie
- Inconsistentie is het gevolg van redundantie
- Gegevens zijn met elkaar in tegenspraak
- Dat kunnen afleidbare gegevens zijn zoals een geboortedatum die niet overeenkomt met de leeftijd
Normaalvormen
- In database jargon kunnen we spreken over de normaalvorm waarin data zich bevindt
Eerste normaalvorm (1NF)
Als data zich in de eerste normaalvorm bevindt voldoet het aan de volgende eisen
- elk attribuut bevat een atomaire waarde
- dus niet deelbaar zoals een groene appel
- groen
- appel
- dus niet deelbaar zoals een groene appel
- geen enkel attribuut wordt herhaald
- alle attributen blijven constant in de tijd
Integriteit
- Gegevens in een database zijn integer als ze overeen komen met de werkelijkheid
- Een geboortedatum voor een student van 29-Feb-2019 is een niet integere waarde