## Tabellen aanmaken

Om tabellen te kunnen aanmaken, is het noodzakelijk dat phpMyAdmin wordt opgestart. In XAMPP kan dat door in de adresbalk van een browser localhost/phpmyadmin/ in te typen. Van tevoren moet dan wel Apache en MySQL worden gestart.
Wordt er op jullie school met een eigen PHP-server gewerkt, dan verloopt de procedure anders. In de adresbalk van de browser staat dan bijvoorbeeld:
http://informatica.enigmacollege/phpmyadmin/
of
http://ip-adres/phpmyadmin/
Wat er daadwerkelijk op de plek van informatica.enigmacollege.nl of op de plek van het ip-adres staat, hangt af van de server die moet worden benaderd.

Voor het beheerdersaccount wordt standaard de gebruikersnaam “root” zonder een bijbehorend wachtwoord gebruikt. Dat is onveilig. Vandaar dat we als eerste het wachtwoord voor het beheerdersaccount hebben aangepast. Eigenlijk moet je nooit als root een database benaderen. Als er voor root ook nog geen wachtwoord ingesteld is, wordt het voor hackers wel erg eenvoudig gemaakt toegang tot de database te verschaffen.
Voor instructies voor het wijzigen van het wachtwoord dat bij root hoort zie:
www.helphin.com
In de online-editor heb je al eerder gewerkt met de database Nederland. Deze database bevat de tabellen provincies en vlaggen. We leggen nu uit hoe je in phpMyAdmin deze database en de bijbehorende tabellen kunt aanmaken.
Nadat je bent ingelogd, is de eerste stap het aanmaken van de database Nederland. Dat doe je door te klikken op het tabblad Databases. Vul onder Database aanmaken de naam van de database in en klik op de knop aanmaken. In ons voorbeeld is de naam van de database dus “Nederland”.

Aan de linkerkant zien we in het overzicht Nederland staan. De database is aangemaakt, maar bevat nog geen tabellen.

Onder de melding “Geen tabellen gevonden in de database” kunnen we een nieuwe tabel gaan aanmaken. We noemen de tabel “provincies” en vullen achter het aantal kolommen 6 in.

Nadat er op start is geklikt, wordt een nieuw venster geladen waarin allerlei gegevens moeten worden ingevuld. Het is een hele brede pagina die we voor het gemak in twee delen hebben gesplitst.

In de meest linkse kolom Naam hebben we de namen van de kolommen ingevuld. De tweede kolom wordt gebruikt voor het aangeven van de datatypes. INT gebruiken we voor gehele getallen en VARCHAR voor een combinatie van allerlei karakters. In de kolom Lengte/Waarden vullen we het aantal eenheden in dat de inhoud van de kolom maximaal kan hebben. Voor de eerste kolom (land_id) is dat dus 2, hetgeen betekent dat er maximaal 99 provincie-indexen kunnen worden ingevoerd.

Bij het aanmaken van de tabel provincies laten we de vakken Standaardwaarde, Collatie en Attributen leeg. In de kolom Leeg wordt aangegeven of er in dat veld wel of niet iets moet worden ingevuld. Standaard staat dat op niet Leeg, hetgeen inhoudt dat er beslist iets moet zijn ingevuld. In ons geval laten we dat zo. Maar in andere gevallen kan het voorkomen dat een kolom niet kan worden ingevuld. Bijvoorbeeld bij het invullen van NAW-gegevens waarbij we behalve de kolommen voornaam en achternaam ook een kolom tussenvoegsel hebben. Aangezien de meeste mensen geen tussenvoegsel in hun naam hebben, zal hier de optie leeg aangevinkt moeten worden.

In de kolom Index kennen we een primaire sleutel toe. Daardoor worden alle records in de tabel uniek. In de tabel provincies wordt de sleutel toegekend aan de kolom prov_id. Daardoor weten we zeker dat alle id’s uniek zijn. Op deze manier kunnen er nooit twee dezelfde records in de database komen te staan. Bij A_I hebben we de eerste kolom (prov_id) aangevinkt. A_I staat voor auto_increment hetgeen betekent dat er automatisch bij elk record dat wordt ingevoerd de teller met één wordt opgehoogd. Standaard begint dat tellen bij 1.
Nadat alles is ingevuld, kiezen we voor opslaan. Aan de linkerkant van het scherm is nu te zien dat er in de database Nederland een tabel provincies is opgenomen. Hieronder wordt de structuur van de tabel provincies weergegeven:

In de tabel provincies kunnen we records gaan toevoegen. We kiezen daarvoor in phpMyAdmin voor de optie invoegen en vullen 2 records in. Bij de kolom prov_id hoeven we niets in te vullen aangezien dat automatisch gaat.

We vullen de gegevens voor de provincie Groningen en Friesland in:

Provincie | Hoofdstad | Bevolking | Oppervlakte_km2 | Inwoners_km2
Groningen | Groningen | 582649 | 2960 | 250
Friesland | Leeuwarden | 646092 | 5749 | 193

Daarna klikken we op de eerste Start-knop onder de gegevens van Groningen. Er worden nu twee rijen toegevoegd aan de tabel provincies. Dat kan gecontroleerd worden door in het menu op het tabblad Verkennen te klikken.

We zien nu de twee toegevoegde records. Van elk record kunnen de gegevens gewijzigd worden. Records kunnen ook gekopieerd of verwijderd worden.
De records in de tabel kunnen bekeken worden. We kiezen daarvoor Verkennen:

Er zijn, zoals je wellicht gemerkt hebt, vele mogelijkheden met phpMyAdmin. Nog enkele belangrijke opties zijn:

1. Legen: hiermee leeg je de volledige inhoud van een tabel.
2. Verwijderen: hiermee wordt een complete tabel verwijderd.
3. Exporteer: hiermee kun je back-ups maken van je database in verschillende formaten. Je hebt ook allerlei opties waaruit je kunt kiezen. Als er gekozen wordt voor een SQL-bestand kan dat bestand later weer gebruikt worden voor de import in een andere database.
4. Importeer: hiermee kun je gegevensbestanden inlezen en toevoegen aan een database. Bijvoorbeeld SQL-bestanden.
5. Handelingen: hiermee kun je sorteeropties instellen, tabellen naar een andere plaats brengen, tabelopties aanpassen, de auto-increment index aanpassen en tabellen kopiëren naar andere databases.
6. Zoeken: hiermee kun je allerlei zoekopties ingeven om te zoeken naar records. Er wordt dan automatisch een SQL-query aangemaakt.
7. SQL: hier kun je zelf SQL-queries aanmaken.
8. Rechten: Als je links klikt op een database verschijnt ook de optie Rechten. Als je daarop klikt, verschijnen alle gebruikers in beeld die van de database gebruik maken. In ons geval is dat root. Door te klikken op icoon onder Actie verschijnt er een venster waarin alle rechten te zien zijn. In ons geval zijn alle rechten aangevinkt en zijn er verder geen beperkingen. Het kan echter handig zijn om voor bepaalde databases de rechten zodanig aan te passen zodat er weinig schade kan worden berokkend. De rechten UPDATE, DROP en DELETE kunnen bij verkeerd gebruik voor veel ellende zorgen. Je zou die kunnen uitvinken.