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
  • Facebook
  • Google
    • google maps
    • YT
  • Signal
  • whatsapp

Beheren:

  • Verzamelen
  • bewerken
  • analyseren
  • integreren
  • Representeren (Visualiseren)

Relationele Databases

Ongestructureerde dataGestructureerde data
Betekenis blijkt uit de contextBetekenis is gekoppeld aan de opslag
Geordend om toegankelijk te zijn voor mensenGeordend om toegankelijk te zijn voor computers/applicaties
Voorbeelden
- Tekst bestanden
- Email
- 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
  • Whatsapp
  • 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
PythonSQL
ProgrammeertaalDeclaratieve 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 student
zal alle studenten tonen uit de tabel studenten
Beschrijving hoe je een bestand wilt lezenBeschrijving 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

ConceptueelLogischFysiek
DatatypesnietAanwezigaanwezig
veel op veeltussentabel
keysnietnietaanwezig
Voor wiebedrijfsanalistBeheerder

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

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

  1. elk attribuut bevat een atomaire waarde
    1. dus niet deelbaar zoals een groene appel
      1. groen
      2. appel
  2. geen enkel attribuut wordt herhaald
  3. 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