H1: Tabellen in phpMyAdmin

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

In deze les zitten 34 slides, met interactieve quizzen en tekstslides.

Onderdelen in deze les

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

Slide 1 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

Databases

Slide 3 - Woordweb

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 - Tekstslide

Deze slide heeft geen instructies

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

Slide 5 - Sleepvraag

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

INT
INTeger

Geheel getal. Dus zonder iets achter de komma.




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

Slide 18 - Tekstslide

Deze slide heeft geen instructies

DATETIME
DATE and TIME

Een specifiek moment op een specifieke datum.




Voor bijvoorbeeld: moment van aankoop, last login.

Slide 19 - Tekstslide

Deze slide heeft geen instructies

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

Slide 20 - Quizvraag

Deze slide heeft geen instructies

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

Slide 21 - Quizvraag

Deze slide heeft geen instructies

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

Slide 22 - Quizvraag

Deze slide heeft geen instructies

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

Slide 23 - Quizvraag

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

Maak een screenshot van het browse scherm en upload hem

Slide 28 - Open vraag

Deze slide heeft geen instructies

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 - Tekstslide

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Kortom: Tabellen voor gevorderden



(relatief)