Nieuwe database

Bij het maken van een nieuwe database moet je eerst goed nadenken over de structuur. Dit is hetzelfde als het verzinnen van de kolommen in een spreadsheet.
Laten we als voorbeeld een school nemen. De administratie wil de gegevens van de leerlingen opslaan in een database.
We gaan eerst op zoek naar welke gegevens we willen vastleggen.
In een gesprek met de administratie blijkt het om de volgende gegevens te gaan:

Naast deze gegevens wil de administratie ook opslaan in welke lesgroepen een leerling zit.

We starten met het maken van een nieuwe database met de naam "administratie".

Om een database te maken klik je met de rechtermuisknop op de naam van de mysql-server, in ons geval localhost.

 

SQL commando:
CREATE DATABASE administratie;

In deze database maken we een nieuwe tabel die we "leerlingen" noemen.

In deze tabel gaan we meteen kolomen maken om de data in op te slaan. Bij het aanmaken van de kolommen moet ook de eigenschappen van de kolommen aangeven.
Bij een kolom kun je de volgende eigenschappen meegeven:

Tot slot kun je bij kolommen aangeven of deze een sleutel(key) moet krijgen. De volgende sleutels zijn beschikbaar:

Een index kun je toevoegen door met de rechtermuisknop op een kolom te klikken en te kiezen voor "Maak nieuwe index".

INFO:
Je kun een index vergelijken met een index achter in een boek. Als voorbeeld gaan we een lindenboom opzoeken in een dik boek over planten. Je kunt bladzijde voor bladzijde door een boek bladeren totdat je de lindenboom tegenkomt. Dit duur lang. Als je de index achter in het boek gebruikt gaat het veel sneller. Zoek in de alfabetische lijst naar lindenboom en achter de naam staat het paginanummer waar je de lindenboom kunt vinden. Indexen in een database werken op eenzelfde manier.

 

Maak de kolommen zoals in de bovenstaande afbeelding.

SQL commando:

CREATE TABLE leerlingen (
   leerling_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
   leerling_nummer INT(10) UNSIGNED NULL DEFAULT NULL,
   leerling_voornaam VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
   leerling_tussenvoegsels VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
   leerling_achternaam VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
   leerling_geboortedatum DATE NULL DEFAULT NULL,
   leerling_stamgroep VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
   PRIMARY KEY (leerling_id) USING BTREE
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB;