SQL 3 - EK primaire sleutel, refererende sleutel, redundantie, ERD

SQL
1 / 31
volgende
Slide 1: Tekstslide
InformaticaWOStudiejaar 4,5

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

time-iconLesduur is: 45 min

Onderdelen in deze les

SQL

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Welk SQL commando wordt gebruikt om een record toe te voegen?
A
UPDATE SET
B
INSERT INTO
C
SELECT FROM
D
DELETE FROM

Slide 2 - Quizvraag

Deze slide heeft geen instructies

Welk SQL commando wordt gebruikt om een record aan te passen?
A
SELECT * FROM table_name;
B
UPDATE table_name SET column1 = value1 WHERE condition;
C
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
D
DELETE FROM table_name WHERE condition;

Slide 3 - Quizvraag

Deze slide heeft geen instructies

Wat is het juiste SQL commando om een record te wissen?
A
INSERT INTO tabelnaam VALUES (waarde)
B
SELECT * FROM tabelnaam
C
UPDATE tabelnaam SET kolomnaam = waarde
D
DELETE FROM tabelnaam WHERE voorwaarde

Slide 4 - Quizvraag

Deze slide heeft geen instructies

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);






CustomerID is een auto-increment veld

Slide 5 - Tekstslide

Deze slide heeft geen instructies

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);






CustomerID is een auto-increment veld

Slide 6 - Tekstslide

Deze slide heeft geen instructies

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

Slide 7 - Tekstslide

Deze slide heeft geen instructies

DELETE FROM table_name WHERE condition;

Slide 8 - Tekstslide

Deze slide heeft geen instructies

Fundament
Introductie SQL

Fundament kerndomein C: Databases en SQL
Hoofdstuk 2.1 tmt 2.3
https://fundament-online.nl/leeromgeving/content.php?paragraaf_id=114878

Slide 9 - Tekstslide

Deze slide heeft geen instructies

Leerdoelen
Na deze les kun je:
  • vertellen wat een primaire sleutel is;
  • de kenmerken opnoemen van een primaire sleutel;
  • uitleggen wat een vreemde of refererende sleutel is;
  • in je eigen woorden vertellen wat redundantie is;
  • aangeven waar ERD voor staat;
  • een ERD lezen en toepassen.

Slide 10 - Tekstslide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
Eén of meerdere tabellen? 1/2
Een RDBMS heeft vaak meerdere tabellen

Waarom zijn meerdere tabellen efficiënter dan 1 tabel?

Slide 11 - Tekstslide

Deze slide heeft geen instructies

Eén of meerdere tabellen? 1/2
Een RDBMS heeft vaak meerdere tabellen

Waarom zijn meerdere tabellen efficiënter dan 1 tabel?
  • minder/geen dubbele gegevens (redundantie)
  • sneller zoeken want minder rijen
  • beter en efficiënter beheer en onderhoud

Slide 12 - Tekstslide

Deze slide heeft geen instructies

Eén of meerdere tabellen? 2/2
Meerdere tabellen leidt dus tot meer efficiëntie

Maar hoe koppel je die tabellen aan elkaar?

Dit koppelen gebeurt via sleutels

Slide 13 - Tekstslide

Deze slide heeft geen instructies

Sleutels
Er zijn twee soorten sleutels:
  • primaire sleutels
      > maakt elke rij uniek
      >
    mag niet leeg zijn
  • vreemde of refererende sleutels
      > verwijst naar primaire sleutel ven een andere tabel
      > legt de relatie tussen de verschillende tabellen

Slide 14 - Tekstslide

Deze slide heeft geen instructies

Primaire Sleutels
Een primaire sleutel in een tabel is dus uniek en moet ingevuld zijn (in Engels: primary key PK)

In de RDBMS van Magister is de primaire sleutel van de leerlingentabel bijvoorbeeld jouw leerlingnummer

Dat leerlingnummer is uniek voor jou bij het SMC

Slide 15 - Tekstslide

Deze slide heeft geen instructies

Primaire Sleutels in een boekwinkel

Slide 16 - Tekstslide

Deze slide heeft geen instructies

Vreemde Sleutels 0/3
Een vreemde (of refererende) sleutel in een tabel legt de relatie met een andere tabel (in Engels: foreign key FK)


Slide 17 - Tekstslide

Deze slide heeft geen instructies

Vreemde Sleutels 1/3
Een vreemde (of refererende) sleutel in een tabel legt de relatie met een andere tabel (in Engels: foreign key)

In de RDBMS van Magister staat jouw huisadres niet in de leerlingentabel maar in een adrestabel
In de adrestabel staat als vreemde sleutel jouw leerlingnummer en daarmee is de relatie gelegd

Slide 18 - Tekstslide

Deze slide heeft geen instructies

Primaire en vreemde sleutels in een boekwinkel

Slide 19 - Tekstslide

Deze slide heeft geen instructies

Vreemde Sleutels 2/3
Schematisch de boekenwinkel database:



De sleutel auteurnr is de primaire sleutel in Auteurs
De kolom auteurnr is de vreemde sleutel in Boeken

Slide 20 - Tekstslide

Deze slide heeft geen instructies

Vreemde Sleutels 3/3
Volgende les gaan we meerdere tabellen raadplegen, maar alvast voor je begrip, dat gebruikt de JOIN clausule:
SELECT auteurs.name AS auteurs_naam, boeken.titel AS boek_titel
FROM boeken
JOIN auteurs ON boeken.auteurnr = auteurs.auteurnr;

Slide 21 - Tekstslide

Deze slide heeft geen instructies

Redundantie
Redundantie is het bestaan van dubbele gegevens:
dat zijn overtollige gegevens (dus gegevens die je teveel hebt, overtollig zijn)

Redundantie in dit geval is gevaarlijk, omdat je daarmee conflicten kan krijgen (bv. als 1 wordt aangepast en de ander niet, welke is dan correct?)

Slide 22 - Tekstslide

Deze slide heeft geen instructies

ERD 1/3
ERD is de afkorting voor Entity Relationship Diagram
Hiermee laat je de verbanden tussen entiteiten zien
De entiteiten in een ERD zijn de verschillende tabellen

Slide 23 - Tekstslide

Deze slide heeft geen instructies

ERD 2/3
Een ERD kan problemen zichtbaar maken doordat de relaties op een overzichtelijke manier worden weergegeven

Een ERD maken en up-to-date houden is dus belangrijk bij het opzetten en onderhouden van een RDBMS

Slide 24 - Tekstslide

Deze slide heeft geen instructies

ERD 3/3
Er zijn verschillende manieren om een ERD te maken:
  • pen en papier
  • whiteboard
  • websites (Lucidchart.com, Draw.io)
  • software (Microsoft Visio, MySQL Workbench)

Slide 25 - Tekstslide

Deze slide heeft geen instructies

ERD 3/3
Er zijn verschillende notaties in een ERD
Hiermee wordt de relatie aangegeven tussen sleutels

Slide 26 - Tekstslide

Deze slide heeft geen instructies

Hoe zou je zoeken naar alle namen die beginnen met de letter 'A'?

WHERE name LIKE ...
A
'%A%'
B
'_A'
C
'A%'
D
'%A'

Slide 27 - Quizvraag

Deze slide heeft geen instructies

Welke van de volgende zoekopdrachten geeft alle resultaten die eindigen met 'son'?

WHERE name LIKE ...
A
'%son'
B
'_son'
C
'son%'
D
'%son%'

Slide 28 - Quizvraag

Deze slide heeft geen instructies

Opdracht # 1
  1. Kopieer de code
    rechts
  2. Sla het op als:
    index0_1.htm
  3. Open het bestand
    in je browser
  4. Wat gebeurt er? Zie je een JS functie?
timer
5:00

Slide 29 - Tekstslide

Deze slide heeft geen instructies

Leerdoelen
Nu kun je:
  • vertellen wat een primaire sleutel is;
  • de kenmerken opnoemen van een primaire sleutel;
  • uitleggen wat een vreemde of refererende sleutel is;
  • in je eigen woorden vertellen wat redundantie is;
  • aangeven waar ERD voor staat;
  • een ERD lezen en toepassen.

Slide 30 - Tekstslide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.

Slide 31 - Tekstslide

Deze slide heeft geen instructies