SQL Meerdere tabellen: Relaties en Joins. Opbouw Relationele database Genormaliseerde tabellen...

11
SQL Meerdere tabellen: Relaties en Joins

Transcript of SQL Meerdere tabellen: Relaties en Joins. Opbouw Relationele database Genormaliseerde tabellen...

Page 1: SQL Meerdere tabellen: Relaties en Joins. Opbouw Relationele database Genormaliseerde tabellen Overtolligheid (redundantie) eruit halen Link mogelijk.

SQL

Meerdere tabellen:Relaties en Joins

Page 2: SQL Meerdere tabellen: Relaties en Joins. Opbouw Relationele database Genormaliseerde tabellen Overtolligheid (redundantie) eruit halen Link mogelijk.

Opbouw Relationele database

• Genormaliseerde tabellen• Overtolligheid (redundantie) eruit halen• Link mogelijk tussen koppelvelden• Relaties zichtbaar maken in Access: – Hulpmiddelen voor databases Relaties

• 1 op 1 relaties• 1 op n relaties• Primaire sleutels, vreemde sleutels

Page 3: SQL Meerdere tabellen: Relaties en Joins. Opbouw Relationele database Genormaliseerde tabellen Overtolligheid (redundantie) eruit halen Link mogelijk.

Voorbeeld: autoverhuur

Page 4: SQL Meerdere tabellen: Relaties en Joins. Opbouw Relationele database Genormaliseerde tabellen Overtolligheid (redundantie) eruit halen Link mogelijk.

De tabel auto

Page 5: SQL Meerdere tabellen: Relaties en Joins. Opbouw Relationele database Genormaliseerde tabellen Overtolligheid (redundantie) eruit halen Link mogelijk.

Gerelateerde gegevens bij auto

Page 6: SQL Meerdere tabellen: Relaties en Joins. Opbouw Relationele database Genormaliseerde tabellen Overtolligheid (redundantie) eruit halen Link mogelijk.

Alles komt samen in tabel Verhuur

Page 7: SQL Meerdere tabellen: Relaties en Joins. Opbouw Relationele database Genormaliseerde tabellen Overtolligheid (redundantie) eruit halen Link mogelijk.

Opvragingen SQL meerdere tabellen

SELECT <veldnaam> [,<veldnaam>]FROM <tabelnaam> [,<tabelnaam>][WHERE <voorwaarde>] ;

SELECT auto.kenteken, Merk, type, DatumVerhuur, DatumRetour

FROM auto, verhuur

Page 8: SQL Meerdere tabellen: Relaties en Joins. Opbouw Relationele database Genormaliseerde tabellen Overtolligheid (redundantie) eruit halen Link mogelijk.

Ongewenst resultaat!

Page 9: SQL Meerdere tabellen: Relaties en Joins. Opbouw Relationele database Genormaliseerde tabellen Overtolligheid (redundantie) eruit halen Link mogelijk.

Oplossing

• Om te voorkomen dat voor elke rij uit de ene tabel een koppeling wordt gemaakt naar elke rij uit de andere tabel moet je WHERE inschakelen!

SELECT auto.kenteken, Merk, type, DatumVerhuur, DatumRetour

FROM auto, verhuurWHERE auto.kenteken = verhuur.kenteken

Page 10: SQL Meerdere tabellen: Relaties en Joins. Opbouw Relationele database Genormaliseerde tabellen Overtolligheid (redundantie) eruit halen Link mogelijk.

Gewenste resultaat

Page 11: SQL Meerdere tabellen: Relaties en Joins. Opbouw Relationele database Genormaliseerde tabellen Overtolligheid (redundantie) eruit halen Link mogelijk.

Opdracht

• Bestudeer paragraaf 10.8 (eenvoudige opvragingen uit meerdere tabellen) uit het boek “Databaseontwikkeling Access 2007”

• Maak opgave 10.5 uit het boek