H1: Tabellen in phpMyAdmin

Tabellen in phpMyAdmin
WDV-III en DBS-I
Les H1 / Week 1
1 / 34
suivant
Slide 1: Diapositive
ICTMBOStudiejaar 1

Cette leçon contient 34 diapositives, avec quiz interactifs et diapositives de texte.

Éléments de cette leçon

Tabellen in phpMyAdmin
WDV-III en DBS-I
Les H1 / Week 1

Slide 1 - Diapositive

Cet élément n'a pas d'instructions

Doelen voor vandaag
  • je kan vertellen wat een Database is
  • je kan inloggen op MySQL (phpMyAdmin)
  • je hebt een database aangemaakt in MySQL
  • je hebt 1 tabel in een databases gezet
  • je hebt 1 tabel gevuld met data via de insert tab
  • je weet het verschil tussen nul en NULL
  • je hebt een autoincrement toegepast in je database

Slide 2 - Diapositive

Cet élément n'a pas d'instructions

Databases

Slide 3 - Carte mentale

Alle relevante termen over databases
+ Waar gebruik je databases voor?

Database
Een database is een plek waar je je gegevens kan opslaan in tabelvorm zodat we het later makkelijk snel terug kunnen vinden.

Slide 4 - Diapositive

Cet élément n'a pas d'instructions

Wat staat boven wat?
Wat is de hiërarchie?
Server
Database
Tabel
1.1.Hiërarchie

Slide 5 - Question de remorquage

Cet élément n'a pas d'instructions

1.2 tabelvorm
Elke kolom is een variabele, elke rij vormt dan één datapunt
Naam
Beroep
Aantal kinderen
Mark
Acteur
0
Ferd
Komiek
4
Wopke
Piloot
3
Rijen en kolommen
Een rij is horizontaal, dus in de breedte.
Een kolom is verticaal, dus in de hoogte.

Slide 6 - Diapositive

Cet élément n'a pas d'instructions

1.3 phpMyAdmin
phpMyAdmin is een frontend voor onze MySQL database server.
Hier kunnen we zien welke databases we hebben, welke tabellen er in die database zitten, en welke data er in die tabellen zit.

Slide 7 - Diapositive

Nu vragen aan studenten of ze in XAMPP MySQL op willen starten en phpMyAdmin willen openen. Ook de instructies op de volgende slides moeten ze dan meevolgen.
1.4 Opdracht: starten phpMyAdmin
we gaan een database maken en de tabellen vullen zoals het voorbeeld hierboven

Slide 8 - Diapositive

Cet élément n'a pas d'instructions

1.5 Opdracht: Database aanmaken
2
Stap 2: Naam invullen voor je nieuwe database
3
Stap 3: Maak de nieuwe database aan
Deze databases staan er standaard in, en hoeven we nu nog even niet op te letten.
De "collatie", dit houdt in welke karakters we als tekst kunnen opslaan. Deze laten we voorlopig gewoon op standaard staan.
1
Stap 1: Nieuwe database aanmaken met de knop 'New'.
timer
2:00

Slide 9 - Diapositive

Studenten mee laten doen!
1.6a Opdracht: Nieuwe tabel
1
Stap 1: Invullen naam voor onze tabel. In dit geval gebruiken we dbs_lestabel.
2
Stap 2: Aangeven aantal kolommen. Deze staat standaard op 4, maar de tabel die wij willen gaan maken heeft maar 3 kolommen.
3
Stap 2: Go!
timer
1:00

Slide 10 - Diapositive

Cet élément n'a pas d'instructions

1.6b Opdracht: Tabelkolommen
Dit zijn geavanceerde settings die we niet gaan gebruiken.
3
Stap 3: Data van het type VARCHAR heeft een maximale lengte nodig die we moeten bepalen. Hiervoor is 255 een hele typische waarde en die gebruiken we ook hier.
2
Stap 2: Voor tekst willen we het VARCHAR datatype. aantal_kinderen is een getal en laten we op INT staan.

Over datatypen leren we later meer.
1
Stap 1: We vullen voor 'name' de namen in voor de kolommen die we willen. Hier gebruiken we geen spaties of hoofdletters.

Nu maken we de voorbeeldtabel van eerder na en hebben we dus drie kolommen: naam, beroep en aantal_kinderen.
4
Stap 4: Als we alles hebben ingevuld kunnen we opslaan, en dan is onze tabel eindelijk echt aangemaakt.
Met deze knop kunnen we zien wat phpMyAdmin nou achter de schermen voor code gaat uitvoeren.

Voorlopig blijven wij gewoon phpMyAdmin gebruiken om tabellen aan te maken en hoeven we dit dus nu even niet te weten.
Deze waarden kunnen we voorlopig even negeren en op standaard laten staan.

Over default values, null en auto increment gaan we later meer leren.
timer
1:00

Slide 11 - Diapositive

Cet élément n'a pas d'instructions

1.7 Opdracht: Data invoeren
1
Stap 1: We klikken op Insert. Hier gaan we daadwerkelijk data stoppen in de tabel die we hebben aangemaakt.
Hier zien we dat in de curio database de dbs_lestabel tabel zit die we net hebben aangemaakt. We hebben deze ook geselecteerd en dus zien we rechts de details.
Hier zien we de kolommen met bijbehorende datatypen die we net hebben aangemaakt.

Alle overige knoppen hier negeren we voorlopig even.

Slide 12 - Diapositive

Cet élément n'a pas d'instructions

1.7b Opdracht: Data invoer
Let op: Normaal voeren we zelf de data in met een INSERT query. Nu demonstreren we even hoe het werkt in phpMyAdmin.




Als het goed gaat krijgen we dit te zien:
Naam
Beroep
Aantal kinderen
Mark
Acteur
0
Ferd
Komiek
4
Wopke
Piloot
3
1
Stap 1: Aangeven dat we 3 rijen willen invoeren
Deze Function kolom hebben we niet nodig, die is voor geavanceerde inserts die we hier niet mee gaan doen.
2
Stap 2: Hier vullen we de data in die we rechts in de tabel zien.
3
Stap 3: Hier klikken we op Go zodat we onze data invoeren.

Let op: Niet op één van de go-knoppen hierboven klikken, die pakt alleen die rij.
timer
1:00

Slide 13 - Diapositive

Cet élément n'a pas d'instructions

1.8 Datatypen
Nu de diepte in wat betreft goede databasetabellen maken.
We gaan leren over datatypes, keys, NULL, standaardwaarden, en auto increment.

Zo kunnen we zelf goede tabellen ontwerpen.

Slide 14 - Diapositive

Cet élément n'a pas d'instructions

1.8 Datatypen
In een tabel moeten we vooraf weten en aangeven hoe onze data er uit gaat zien. Dit doen we door elke kolom een datatype te geven. (My)SQL kent een hoop verschillende datatypen, maar wij focussen ons op enkele veelgebruikte:
  • VARCHAR
  • FLOAT
  • INT
  • DATETIME

Slide 15 - Diapositive

Cet élément n'a pas d'instructions

VARCHAR
VARiable-length CHARacter string

Wordt gebruikt voor verschillende soorten korte teksten.
We moeten een maximum lengte aangeven; standaard 255, tenzij we echt van tevoren weten wat de lengte gaat zijn.


Voor bijvoorbeeld: naam, adres, beroep, emailadres, studentnummer.

Slide 16 - Diapositive

Cet élément n'a pas d'instructions

FLOAT
FLOATing point number

Nummer met een "zwevende punt", oftewel een getal wat iets "achter de komma" kan hebben.



Voor bijvoorbeeld: prijs, schoolcijfers.

Slide 17 - Diapositive

Cet élément n'a pas d'instructions

INT
INTeger

Geheel getal. Dus zonder iets achter de komma.




Voor bijvoorbeeld: uniek ID, voorraad van product, aantallen.

Slide 18 - Diapositive

Cet élément n'a pas d'instructions

DATETIME
DATE and TIME

Een specifiek moment op een specifieke datum.




Voor bijvoorbeeld: moment van aankoop, last login.

Slide 19 - Diapositive

Cet élément n'a pas d'instructions

Welk datatype zouden we gebruiken voor...
Een naam
A
VARCHAR
B
FLOAT
C
INT
D
DATETIME

Slide 20 - Quiz

Cet élément n'a pas d'instructions

Welk datatype zouden we gebruiken voor...
Een uurloon
A
VARCHAR
B
FLOAT
C
INT
D
DATETIME

Slide 21 - Quiz

Cet élément n'a pas d'instructions

Welk datatype zouden we gebruiken voor...
Een geboortedatum
A
VARCHAR
B
FLOAT
C
INT
D
DATETIME

Slide 22 - Quiz

Cet élément n'a pas d'instructions

Welk datatype zouden we gebruiken voor...
Een telefoonnummer
A
VARCHAR
B
FLOAT
C
INT
D
DATETIME

Slide 23 - Quiz

Cet élément n'a pas d'instructions

Controleren
In het browse scherm kunnen we een overzicht zien van onze tabel. Hier zouden we de rijen moeten zien die we in de database hebben gestopt.

Slide 24 - Diapositive

Cet élément n'a pas d'instructions

1.9 PRIMARY KEY
Elke rij in een tabel mag (als combinatie), maar één keer voorkomen.

Voornaam
Beroep
Mark
Loodgieter
Lodewijk
Bezorger
Martijn
Programmeur
Martijn
Schilder
Hans
Loodgieter

Slide 25 - Diapositive

Cet élément n'a pas d'instructions

1.9 PRIMARY KEY
Elke rij in een tabel mag (als combinatie), maar één keer voorkomen.
Maar wat nou als we daadwerkelijk nog een keer dezelfde rij willen?
Wat als we twee loodgieters in ons bedrijf hebben die Mark heten?
Voornaam
Beroep
Mark
Loodgieter
Lodewijk
Bezorger
Martijn
Programmeur
Martijn
Schilder
Hans
Loodgieter
Voornaam
Beroep
Mark
Loodgieter
Lodewijk
Bezorger
Martijn
Programmeur
Martijn
Schilder
Hans
Loodgieter
Mark
Loodgieter

Slide 26 - Diapositive

Cet élément n'a pas d'instructions

1.10 Waarom een id?
Iedere rij in een tabel moet uniek zijn
Om iedere rij uniek te maken heeft iedere rij een uniek id.
Dit id zorgt er voor dat we meerdere rijen met dezelfde data mogen invoeren, zolang het id maar anders is.
Elk id correspondeert dus met maximaal één rij.

Slide 27 - Diapositive

Cet élément n'a pas d'instructions

Maak een screenshot van het browse scherm en upload hem

Slide 28 - Question ouverte

Cet élément n'a pas d'instructions

1.11 AUTO INCREMENT
Als we een ID kolom maken als INTEGER, willen we niet iedere keer zelf een nieuw nummer hoeven bedenken. Daarom kunnen we bepaalde nummers aangeven als AUTO INCREMENT; dan wordt er automatisch een nieuw nummertje gemaakt voor elke rij bij het invoeren van data.

In phpMyAdmin kun je een kolom AUTO INCREMENTing maken door het A_I vinkje aan te zetten bij het aanmaken van de tabel.

Slide 29 - Diapositive

De grote tekst meer geschikt voor het moduleboek.

A_I vinkje even laten zien in phpMyAdmin
PRIMARY KEY/id
Met een uniek IDentificatie-nummer bij elke rij kunnen we iedere rij uniek maken, en kunnen we dus nu twee keer Mark de loodgieter toevoegen in onze database.
Voornaam
Beroep
Mark
Loodgieter
Lodewijk
Bezorger
Martijn
Programmeur
Martijn
Schilder
Hans
Loodgieter
Mark
Loodgieter
ID
Voornaam
Beroep
1
Mark
Loodgieter
2
Lodewijk
Bezorger
3
Martijn
Programmeur
4
Martijn
Schilder
5
Hans
Loodgieter
6
Mark
Loodgieter

Slide 30 - Diapositive

Cet élément n'a pas d'instructions

1.12 NULL
Niet te verwarren met nul (0).

NULL is een woord dat eigenlijk betekent dat iets er niet is.

Als je wilt kun je een kolom aanmaken in je tabel die niet per se ingevuld hoeft te worden, en dus optioneel is. Deze noemen we dan "nullable".

in phpMyAdmin kan dit door het NULL vinkje aan te zetten voor die kolom

Slide 31 - Diapositive

NULL vinkje laten zien in phpMyAdmin
1.13 DEFAULT VALUES
We kunnen per kolom ook aangeven wat de standaard (default) waarde moet zijn voor die kolom. Dit betekent dat als we data gaan invoeren we niet per se een waarde voor die kolom mee hoeven te geven.

In phpMyAdmin is er een veld waar je voor een kolom een default value kan invullen,

Slide 32 - Diapositive

Cet élément n'a pas d'instructions

Weekcheck: Terminator
In developerland is er een nieuwe achtbaan gelanceerd. Om de enorme drukte aan te kunnen wordt er aan bezoekers gevraagd zich vooraf te registreren. Aan jou de taak om een tabel te ontwerpen die gebruikt kan worden om deze registraties bij te houden. De tabel moet aan de volgende voorwaarden voldoen:
  1. Bijgehouden moet worden: Volledige naam, lengte (in meters), tijd&datum van bezoek
  2. Elk bezoek moet worden geregistreerd met een uniek ID wat automatisch ophoogt.
  3. Omdat de lengte ook aan de deur nogmaals wordt gecontroleerd is het opgeven van de lengte optioneel.
Lever naderhand een screenshot in van het 'Structure' scherm van je nieuwe tabel; hier moeten alle kolommen en hun eigenschappen op zichtbaar zijn.

Slide 33 - Diapositive

Cet élément n'a pas d'instructions

Herhaling doelen
  • je kan vertellen wat een Database is
  • je kan inloggen op MySQL (phpMyAdmin)
  • je hebt een database aangemaakt in MySQL
  • je hebt 1 tabel in een databases gezet
  • je hebt 1 tabel gevuld met data via de insert tab
  • je weet het verschil tussen nul en NULL
  • je hebt een auto increment toegepast in je database

Slide 34 - Diapositive

Kortom: Tabellen voor gevorderden



(relatief)