DATABASE FUNDAMENTALS

INLEIDING

  • Cursus: DATABASE FUNDAMENTALS 7B

  • Onderwerpen: Fysisch model, ERD tools, Use cases, Test data/queries, NoSQL

  • Doelgroep: prof. bachelor Toegepaste Informatica 1

DATA MODELS

  • Herhaling van datamodellen:

    • Conceptueel model

    • Logisch model

    • Fysisch model

VERSCHILLEN TUSSEN DE MODELLEN
  • Conceptueel model: Bevat enkel entiteiten en relaties zonder attributen.

  • Logisch model: Voegt attributen toe, gebruikt pijlen voor cardinaliteiten, maar vermeldt geen datatypes of afkortingen zoals N/PK/FK/U.

  • Fysisch model: Geeft DBMS-specifieke gegevens zoals datatypes weer en vermeldt N/PK/FK/U met eenvoudige pijlen.

TERMINOLOGIE MAPPING

  • Conceptueel/Logisch model naar fysisch model:

    • entity → table

    • attribute → field / column

    • instance → record / row

    • primary UID → primary key (PK)

    • relationship → foreign key (FK)

    • secondary UID → unique (U)

    • optional → nullable (N)

FYSISCH MODEL EXAMPLES

  • Attributen en datatypes:

    • Voorbeeld: EMPLOYEE

    • naam: NVARCHAR(100)

    • email: NVARCHAR(100)

    • salary: DECIMAL(10,2)

    • Voorbeeld: DEPARTMENT

    • ID: INT, PK

    • naam: NVARCHAR(100), U

FYSISCH MODEL EN CONSTRAINTS
  • Use naming conventions zoals lowercase underscore notatie voor attribuutnamen.

  • PK, U, N, FK aangeduid in de linkerkolom van het fysisch model.

OVERGANG VAN LOGISCH NAAR FYSISCH MODEL

  • Datatypes en constraints worden beschreven in de respectieve kolommen.

  • Relaties worden vertaald naar extra attributen (FK's) in child entiteiten.

  • Cardinaliteiten zijn gebaseerd op attributen FK/PK/N/U.

LOGISCH VS FYSISCH MODEL

  • Vergelijking van logische en fysische modellen om consistentie en volledigheid te waarborgen met concrete voorbeelden van voorwaarden.

  • Voorbeeld van een relatie:

    1. "email is optioneel": in logisch model geen vet, in fysisch model aangeduid als N.

    2. "elk FILIAAL moet exact 1 STAD hebben": logisch model en fysisch model tonen beide FK stad_code als niet-nullable aan.

USE CASES EN CRUD

  • Gebruik van use cases in software-ontwerp om concrete gebruikssituaties te omschrijven.

  • CRUD (Create, Read, Update, Delete) definities en SQL-equivalenten:

    • CREATE: INSERT INTO table_name VALUES...

    • READ: SELECT * FROM table_name WHERE...

    • UPDATE: UPDATE table_name SET...

    • DELETE: DELETE FROM table_name WHERE...

MOCK DATA EN TESTEN

  • Het creëren van mock data om testdatabases op te zetten.

  • Voorbeelden van mock data voor EMPLOYEE en DEPARTMENT.

  • Testen van de databank met relevante queries en voorbeelden.

NO-SQL DATABASES

  • Definitie en voordelen van NoSQL databases:

    • werken niet met klassieke gekoppelde tabellen.

    • voorbeelden: key-value stores, wide column store, graph store, document store.

  • Voordelen: flexibiliteit, schaling, en prestaties.

TYPES NO-SQL DATABASES
  • Key-Value Store: gegevens opgeslagen als key-value paren met unieke keys.

  • Wide Column Store: bestaat uit column families met rijen, elk met een key en meerdere cellen.

  • Document Store: gegevens opgeslagen in documenten, zoals XML of JSON.

CLOUD DATABASES

  • Cloud-gehoste databases met voordelen zoals kostenbesparingen en veiligheid.

  • Voorbeelden van cloud-database aanbieders zoals Amazon Web Services, Microsoft Azure, Google Cloud.

CONCLUSIE

  • De ontwikkeling van databases is een complex proces dat veel meer omvat dan alleen het maken van tabellen. Er zijn belangrijke aspecten zoals beveiliging, automatisatie, validatie, optimalisatie, en onderhoud in database-ontwikkeling.