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))