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:
Leerlingnummer
Voornaam
Tussenvoegsels
Achternaam
Geboorte datum
Stamgroep
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:
Naam: Geef kolomen altijd een naam die aangeeft wat je in de kolom opslaat. Het is ook verstandig om in de kolomnaam een deel van de tabelnaam te verwerken. Als je meerdere tabellen aan elkaar gaat verbinden is het handig als je aan de kolomnaam ook kunt zien in welke tabel deze zit.
Datatype: Hier geef je aan wat voor soort informatie je gaat opslaan. Zie ... voor de verschillende datatypen.
Lengte: Dit veld is niet voor ieder type beschikbaar. Hier geef je de maximale lengte aan die het veld kan hebben. Als je bijv. bij een varchar een lengte van 10 geeft, dan kunnen er maximaal 10 tekens in het veld worden opgeslagen.
Unsigned: Mag er een min-teken voor het getal. Oftewel kan de waarde negatief (signed) of alleen positief(unsigned) zijn. Als je unsigned kiest wordt de maximale positieve waarde vergroot.
NULL toestaan: Mag de kolom leeg zijn (NULL).
Met nullen aanvullen: Aanvullen met nullen. Deze functie gaat in de toekomst verdwijnen.
Standaard: Hier kun je aangeven wat de standaard waarde moet zijn als je de kolom niet zelf vult. Ook kun je hier AUTO_INCREMENT aangeven bij een getal. AUTO_INCREMENT geeft ieder nieuwe regel automatisch een regelnummer. Dit is handig bij bijvoorbeeld selecteren en verwijderen van regels, hierdoor heb je altijd een uniek regelnummer.
Tot slot kun je bij kolommen aangeven of deze een sleutel(key) moet krijgen. De volgende sleutels zijn beschikbaar:
PRIMARY: Een tabel kan maar één primaire sleutel hebben. Het primaire sleutel veld heeft een unieke waarde in de tabel. Hiermee kun je de regel identificeren.
UNIQUE: Zorgt ervoor dat er in deze kolom geen dubbele waarden voor mogen komen.
KEY: Voegt een index toe aan een kolom. Als je een kolom veel gebruikt om in te zoeken, dan verhoogt een index de zoeksnelheid.
FULLTEXT: Voegt een index toe aan een tekst kolom. Als je een kolom veel gebruikt om in te zoeken, dan verhoogt een index de zoeksnelheid.
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.