SQL & Databases Les 7

1 / 15
next
Slide 1: Slide
InformaticaMiddelbare schoolhavo, vwoLeerjaar 5

This lesson contains 15 slides, with text slides.

time-iconLesson duration is: 50 min

Items in this lesson

Slide 1 - Slide

Vandaag
  • het koppelen van tabellen
  • primary en foreign keys
  • Entiteitsintegriteitsregel
  • redundantie
  • Entity Relationship Diagram

Slide 2 - Slide

Primary key vs foreign key

Slide 3 - Slide

Primaire sleutel
De primaire sleutel maakt elke rij uniek.
Er mogen bijvoorbeeld in de tabel klant geen twee klanten hetzelfde id hebben.
Bij de tabellen product, categorie, klant en bestelling is steeds de kolom id de primaire sleutel.

Slide 4 - Slide

bestelregel
Daar bestaat de primaire sleutel uit twee kolommen: bestelling_id en product_id. Een bestelling heeft voor elk product precies één regel, want daarvoor staat in de derde kolom het aantal opgeslagen. De combinatie van bestelling_id en product_id maakt een bestelregel dus uniek.

Slide 5 - Slide

Entiteitsintegriteitsregel
In alle kolommen die deel uitmaken van de primaire sleutel móeten waarden staan. Een null-waarde is niet toegestaan. Er zal dus geen id zijn die null is.
Ieder product in de database heeft een id. Als het id van een product null is, is het onmogelijk om het te koppelen aan een bestelregel.

Slide 6 - Slide

Vreemde sleutel (foreign key)
In de tabel met producten bevat ieder product onder andere een id (het productnummer). Deze kolom is in de tabel product de primaire sleutel. In de tabel bestelregel, waarin de bestellingen worden bijgehouden, komen de product_id´s voor van de bestelde producten. In de tabel bestelregel komt dus de primaire sleutel uit de tabel product voor. In de tabel bestelregel wordt deze kolom de vreemde sleutel genoemd. Een ander woord voor vreemde sleutel is refererende sleutel.

Slide 7 - Slide

Redundantie
In een goed gestructureerde database zal het niet voorkomen dat bepaalde gegevens meerdere keren op verschillende plaatsen worden opgeslagen. Is dit wel het geval, dan is er sprake van redundantie. Redundantie staat voor overtolligheid. En als er sprake is van redundantie, dan loopt de betrouwbaarheid, ook wel integriteit genoemd, van de database gevaar.

Slide 8 - Slide

Entity Relationship Diagram
Met een Entity Relationship Diagram (ERD) maak je het verband tussen de verschillende tabellen in een database inzichtelijk. Een ERD bestaat uit entiteiten, de tabellen. Tussen deze tabellen zijn er relaties. We spreken daarom ook wel over een relationele database.

Slide 9 - Slide

Opdracht voor volgende les
Dierenartsenpraktijk ‘Pet Friendly’ wil de praktijk verder automatiseren. Op dit moment worden alle gegevens over klanten, dieren, recepten en de verslagen van bezoeken nog in losse Word- en Exceldocumenten opgeslagen. Soms moet er door een arts of assistent lang gezocht worden naar het juiste document. Het zou veel makkelijker zijn als alle gegevens in een database werden opgeslagen.
Jij gaat het ontwerp van deze database maken in een groepje van twee personen.

Slide 10 - Slide

1. Doelen van informatie en dataopslag
  • Bedenk welke informatiedoelen relevant zijn en schrijf deze op. Bedenk bijvoorbeeld welke informatie er nodig is over klanten, dieren, bezoeken en recepten.
  • Maak een overzicht van de data die moet worden opgeslagen.
  • Noteer welke data gekoppeld moet worden.

Slide 11 - Slide

2. Opstellen ERD-diagram
  • Bepaal welke entiteiten er nodig zijn.
  • Plaats deze entiteiten in een ERD-diagram.
  • Maak de juiste koppelingen tussen de entiteiten in het ERD-diagram.
  • Bepaal per entiteit welke kolommen erin moeten komen en definieer de primaire sleutel.
  • Voeg op basis van de koppeling vreemde (refererende) sleutels toe aan de tabellen.

Slide 12 - Slide

3. Opstellen database
  • Open Excel of Word.
  • Maak daarin de tabellen bij de entiteiten die je in het ERD-diagram bedacht hebt.
  • Voeg een aantal rijen met zelfbedachte gegevens toe aan iedere tabel.

Slide 13 - Slide

4. Opstellen query's
  • Maak vijf vragen die met behulp van SQL en jouw 'database' beantwoord kunnen worden.
  • Noteer ook de SQL-antwoorden van deze vragen. (Je kunt dit niet testen, omdat er geen echte database beschikbaar is.)

Slide 14 - Slide

Volgende les
  • Raadplegen van meer dan één tabel
  • Functies en keywords

Slide 15 - Slide