Download de presentatie
De presentatie wordt gedownload. Even geduld aub
1
SQL Les 3 17 February 2019
2
Agenda Herhaling Afwerken data normalisatie Oefeningen
Weergeven van gegevens uit meerdere tabellen 17 February 2019
3
Herhaling 17 February 2019
4
Geen geschikte tabelstructuur
Bepaalde informatie wordt meer dan één keer opgeslaan (redundantie) Een tabel met subtabellen is zeer complex om te beheren (herhalende groepen) Gegevens over producten worden alléén in de context van gerechten bewaard, terwijl producten een zelfstandig belang hebben February 17, 2019
5
Normaliseren & Standaardiseren
Het verwijderen van herhalende groepen of redundantie, door tabellen van een grotere tabel af te splitsen. Standaardiseren: Bv eenheid liter 17 February 2019
6
Beperkingsregels Voorbeeld Optionele en verplichte kolommen Verplicht
De kolom moet een waarde hebben Bv gerecht.gerechtnaam Optioneel De kolom mag lege cellen bevatten Bv product.eenheidnaam Bv peper -> geen eenheidnaam en energiePE Aanduiding met op February 17, 2019
7
Gedragsregels RDBMS onderneemt actie in antwoord op een aantal acties
Gedragsregels of actieregels February 17, 2019
8
Reference actieregels
Bewaren van de referentiële integriteitsregel In 2 gevallen problemen Verwijderen van een ouderrij Wijzigen van de primary key in een ouderrij Deleteregels Updateregels February 17, 2019
9
Deleteregels Restricted delete Cascading delete Nullifying delete
Nullifying komt in de praktijk weinig voor February 17, 2019
10
Updateregels Restricted update Cascading update Nullifying update
February 17, 2019
11
Reference actieregels (2)
February 17, 2019
12
Oefening 1 – 2 – 3 – 4 – 5 February 17, 2019
13
Meer over uniciteitsregels
Uniciteitsregels zijn het meest prominent Hoe bepalen we de juistheid van een voorgestelde uniciteitsregel? Bv: Avondschool Inschrijving (cursistnr, vaknaam, docentnaam) February 17, 2019
14
Meer over uniciteitsregels (2)
7 mogelijkheden voor een tabel met 3 kolommen February 17, 2019
15
Meer over uniciteitsregels (3)
February 17, 2019
16
Meer over uniciteitsregels (4)
Regels zijn niet onafhankelijk van elkaar Regels hangen af van de business rules van het bedrijf February 17, 2019
17
Combinaties van uniciteitsregels
Uniciteitsregels kunnen gecombineerd worden February 17, 2019
18
Uniciteitsregels 99 % van de gevallen over 1, 2 of 3 kolommen
February 17, 2019
19
Samengestelde sleutels
Een primary key kan samengesteld zijn: Bestaande uit meer dan één kolom February 17, 2019
20
Recursieve verwijzingen
= Verwijzing van een tabel naar zichzelf Bv: Hemellichamen in ons zonnestelsel, die satelliet kunnen zijn van een ander hemellichaam February 17, 2019
21
Recursieve verwijzingen (2)
Structuurdiagram? Cardinaliteitendiagram? February 17, 2019
22
Recursieve verwijzingen (2)
Voorstelling ook mogelijk met een virtuele tabel: February 17, 2019
23
Oefeningen 8 February 17, 2019
24
Oplossing 8 February 17, 2019
25
Oplossing 8 February 17, 2019
26
Oefening 9 February 17, 2019
27
Oefening 10 February 17, 2019
28
Oefening 11 February 17, 2019
29
Oefening 12 February 17, 2019
30
Oefening 13 February 17, 2019
31
DML 17 February 2019
32
SELECT statement (1) 17 February 2019
33
SELECT statement (2) SELECT: lijst van kolommen (minstens 1) of *
DISTINCT: enkel unieke rijen worden weergegeven ALIAS: geef de kolom een andere naam FROM TABEL: geef de tabel(len) die de kolom(men) bevatten WHERE: beperkt het aantal rijen tot een aantal die aan de voorwaarde voldoen CONDITIE: voorwaarde ORDER BY: bepaald de sorteervolgorde ASC: van klein naar groot DESC: van groot naar klein 17 February 2019
34
Single row functies Om gegevens te bewerken Eigenschappen
Resultaat per rij Van toepassing op elke rij van de query Eén of meerdere parameters Kunnen gebruikt worden in: SELECT WHERE ORDER BY 17 February 2019
35
Syntax van een Single row functie
Overzicht beschikbare functies: Character functions Number functions Date functions Conversion functions 17 February 2019
36
Character functions Als input een gegeven van het type char; een resultaat in numerieke of karakter vorm Voorbeeld: LOWER ( character_expression ) UPPER ( character_expression ) SUBSTRING ( expression , start , length ) LEN ( string_expression ) 17 February 2019
37
Character functions (2)
17 February 2019
38
Number functions Als input een numeriek gegeven en als output een numeriek gegeven Voorbeeld: ROUND ( numeric_expression , length [ , function ] ) 17 February 2019
39
Number functions 17 February 2019
40
Date functions Functies met betrekking tot datumvelden Voorbeeld:
DATEPART ( datepart , date ) DATEDIFF ( datepart , startdate , enddate ) + -> een aantal dagen optellen bij een datum - 17 February 2019
41
Conversion functions Converteer een expressie van één datatype naar een ander Voorbeeld CAST ( expression AS data_type ) 17 February 2019
42
Weergeven van gegevens uit meerdere tabellen
Join Gegevens uit meer dan één tabel op te vragen Rijen van verschillende tabellen samenvoegen op basis van gemeenschappelijke gegevens Soorten join-methoden: Equijoins Non-equijoins Outer joins Self joins 17 February 2019
43
Cartesiaans product Alle rijen van de eerste tabel verbonden met alle rijen van de tweede tabel 17 February 2019
44
Simple Join Query Join schrijven in WHERE-optie Richtlijnen
Laat de kolomnaam voorafgaan door de tabelnaam Aantal condities is afhankelijk van het aantal tabellen die verbonden zijn: N tabellen verbinden -> minstens N-1 voorwaarden nodig 17 February 2019
45
Equijoin Verbinding tussen tabellen op basis van dezelfde waarden
Bijvoorbeeld In welke afdeling zijn de medewerkers tewerkgesteld Meerdere voorwaarden mogelijk Net zoals bij een kolomnaam is het bij een tabel mogelijk een alias aan te geven 17 February 2019
46
Non-equijoin Verbinding tussen 2 tabellen, waarbij de relatie niet gelegd wordt op basis van ‘=‘ 17 February 2019
47
Outer join Left outer join aan de hand van een voorbeeld:
17 February 2019
48
Self-join Verbind van een bepaalde tabel aan zichzelf
Gebruik maken van alias Rijen te verbinden met rijen binnen deze zelfde tabel 17 February 2019
49
Self-join (2) Geef de naam van de medewerkers en de naam van zijn chef
17 February 2019
50
Oefeningen 17 February 2019
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.