Fysiek model
Het fysieke datamodel is geschikt om de database te beschrijven
Datagrip
- met DataGrip is het mogelijk om de database te benaderen
- Gebruik daarvoor de gegevens zoals deze onder het kopje praktijk van onderwijsonline
Datatypes
| Type | Betekenis |
|---|---|
| varchar (x) | Tekst van lengte x |
| char (x) | Tekst van lengte x |
| int | Geheel getal |
| decimal (x,y) | Getal met x posities, met een decimal seperator op positie y |
| date | Datum |
| CLOB | Character Large Object: grote teksten gigabytes |
| BLOB | Binary Large Object: grote binaire bestanden van gigabytes |
DDL: creatie van tabellen
DDL, Data Definition Language (or Statements) is de groep SQL statements waarmee je tabellen kunt aanmaken en verwijderen - CREATE - ALTER - DROP
- Tabellen bestaan uit kolommen met verschillende datatypes
Create
CREATE TABLE student (
stud_id CHAR(9),
voornaam VARCHAR(25),
tussenv VARCHAR(10),
achternaam VARCHAR(25),
geb_datum DATE,
reistijd DECIMAL(7,2)
);

Alter
- Met alter kun je de structuur van een tabel wijzigen
- Dit gebruik je niet vaak omdat dit een dure database actie is
Drop
drop table student;
- Het droppen van een tabel is (afhankelijk vam de database) niet meer ongedaan te maken
Null
- Null (spreek je uit als nil) is in database jargon leeg
- Null is niet van toepassing of onbekend
- Null is iets anders dan 0 of een spatie

Constraints
- Er zijn 5 constraints die we aan tabellen mee kunnen geven
- Constraints zijn Beperkingen/Aanwijzingen die gelden voor een kolom of groep kolommen
| Naam | Afkorting | Betekenis | |
|---|---|---|---|
| 1 | Primary Key | PK | Identificeert een rij |
| 2 | Foreign Key | FK | Verwijst naar een andere(foreign) rij |
| 3 | Unique | UK | Uniek in die kolom |
| 4 | Not Null | NN | Mag niet leeg zijn |
| 5 | Check | C | Controle op inhoud |
Primary Key: PK
- De primary key is de identificerende sleutel
- is nooit leeg (nooit null)
- Bevat een unieke waarde
- Maximaal 1 PK per tabel

Foreign Key: FK
-
is de refererende sleutel
-
Verwijst naar een andere kolom
-
Kan leeg (Null) zijn
-
Is niet uniek

-
Een foreign key kan specificeren wat er moet gebeuren met het child record bij een delete/update van het parent record

Unique: UK
- Unique constraint dwingt uniciteit af
- Kan meerdere keren in een tabel voorkomen
- Iedere waarde in een kolom is uniek
- Niet altijd ingevuld


Not Null: NN
- Dwingt af dat iets ingevuld moet zijn
- zoals bijvoorbeeld voornaam

Check: C
- Dwingt af dat er een bepaalde waarde is opgenomen
- Voorkom invoer van niet integere gegevens


DDL Samenvatting
- DDL, Data Definition Language (or Statements) is de groep SQL statements waarmee je tabellen kunt aanmaken en verwijderen
- CREATE
- ALTER
- DROP
- Tabellen bestaan uit kolommen met verschillende datatypes
| Type | Betekenis |
|---|---|
| varchar (x) | Tekst van lengte x |
| char (x) | Tekst van lengte x |
| int | Geheel getal |
| decimal (x,y) | Getal met x posities, met een decimal seperator op positie y |
| date | Datum |
| CLOB | Character Large Object: grote teksten gigabytes |
| BLOB | Binary Large Object: grote binaire bestanden van gigabytes |
- Een kolom kan een extra eigenschappen hebben:
- Controle op uniciteit (Unique(UK))
- Controle op de inhoud (Check (C))
DML - Data Manipulation Language
Insert
insert into student values
(534845,‘Gonny',null,‘Henkes’); Of
insert into student
(student_nr, voornaam, achternaam)
values (534845,‘Gonny',‘Henkes');
Delete
delete from student;- maar dit zal alle studenten verwijden
delete from student
where student_nr = 527727;DELETE FROM 'table_name'
WHERE 'condition'; Update
update student
set email = 'Thijn.vanKempen@han.nl'
where student_nr = 514697UPDATE table
SET column = expression
[,column = expression ,...]
[WHERE condition]; Pagina 44
DRL- Data Retrieval Language
- DRL is de statement dat we het meest zullen gebruiken
Select
- Het is ook het meest complexe statement
- het begint altijd met select
- De volgende hoofdstukken zullen daar over gaan
select <kolomnamen {OF} * >
from <tabel> select voornaam
, achternaam
, email
from student Distinct
Distinct zorgt voor unieke waardes in de resultaat set
select distinct klas_id
from studentWhere clausule
select *
from student
where voornaam = 'Freek'