Database queries

Database maken

Tot nu toe heb je steeds gebruik gemaakt van een bestaande database. De queries om de database aan te maken vond je in een sql-bestand. In dit hoofdstuk ga je zelf een database maken.

Stel je moet een database maken voor een bibliotheek. De database bestaat uit 3 tabellen:

Hieronder zie je het script om de database aan te maken:

CREATE DATABASE bibliotheek;
USE bibliotheek;

CREATE TABLE klanten (
    id INT AUTO_INCREMENT PRIMARY KEY,
    voornaam VARCHAR(50),
    achternaam VARCHAR(50),
    emailadres VARCHAR(100)
);

CREATE TABLE boeken (
    id INT AUTO_INCREMENT PRIMARY KEY,
    titel VARCHAR(100),
    jaar INT,
    druk INT
);

CREATE TABLE uitleengegevens (
    id INT AUTO_INCREMENT PRIMARY KEY,
    uitleendatum DATE,
    retourdatum DATE,
    klant_id INT,
    boek_id INT,
    FOREIGN KEY (klant_id) REFERENCES klanten(id),
    FOREIGN KEY (boek_id) REFERENCES boeken(id)
);

Uitleg

Oefeningen

Voeg onderstaande records toe aan de tabel boeken van de database:

+----+----------------------------+------+------+
| id | titel                      | jaar | druk |
+----+----------------------------+------+------+
|  1 | De Avonden                 | 1947 |    1 |
|  2 | Het Diner                  | 2009 |    1 |
|  3 | De Ontdekking van de Hemel | 1992 |    1 |
|  4 | De Aanslag                 | 1982 |    1 |
+----+----------------------------+------+------+

Voeg onderstaande records toe aan de tabel klanten:

+----+----------+------------+--------------------------+
| id | voornaam | achternaam | emailadres               |
+----+----------+------------+--------------------------+
|  1 | Jan      | Jansen     | jan.jansen@email.com     |
|  2 | Piet     | Pietersen  | piet.pietersen@email.com |
|  3 | Klaas    | Klaassen   | klaas.klaassen@email.com |
|  4 | Emma     | de Vries   | emma.devries@email.com   |
+----+----------+------------+--------------------------+

Voeg onderstaande records toe aan de tabel uitleengegevens:

+----+--------------+-------------+----------+---------+
| id | uitleendatum | retourdatum | klant_id | boek_id |
+----+--------------+-------------+----------+---------+
|  5 | 2023-01-01   | 2023-01-15  |        1 |       1 |
|  6 | 2023-01-02   | 2023-01-16  |        2 |       2 |
|  7 | 2023-01-03   | 2023-01-17  |        3 |       3 |
|  8 | 2023-12-29   | 2024-01-12  |        4 |       4 |
+----+--------------+-------------+----------+---------+

Maak nu het sql-script voor een database met 3 tabellen: