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 dataGestructureerde data
Betekenis blijkt uit 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

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*
PythonSQL
ProgrameertaalDeclaratieve 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 lezenBeschrijving 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
  • 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
  • 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 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

ConceptueelLogischFysiek
Datatypesnietaanwezigaanwezig
Veel-op-veeltussentabel
Keysnietnietaanwezig
Voor wieBedrijfsanalistBeheerder