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:
"email is optioneel": in logisch model geen vet, in fysisch model aangeduid als N.
"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.