ANALYSE 3 INFANL01-3 WEEK 8 CMI Informatica
ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Herhaling ▸ Normaliseerregels ▸ Omzetten ERD ▸ Group by en SET ▸ Proeftentamen ▸ ERD test
NORMALISEREN ▸ 1 e: Aan al deze voorwaarden moet worden voldaan: Een attribuut bestaat uit een attribuutnaam (=kolomnaam) en een attribuutwaarde (=kolomveld). Een tuple komt overeen met een rij in de tabel. Elke tuple komt maar één keer voor (= uniek). Elke tuple heeft hetzelfde aantal attributen. Een tuple mag geen herhalende attributen van dezelfde soort hebben. ▸ 2 e: Alle attributen die niet in de sleutel (primary key) zijn opgenomen, zijn afhankelijk van de gehele sleutel, en niet slechts van een gedeelte van de sleutel. ▸ 3 e : Alle niet-sleutel attributen zijn alleen afhankelijk van de sleutel, niet-sleutel attributen hebben geen relatie met andere niet-sleutel attributen.
OMZETTEN ERD -> FYSIEKE DATABASE Entiteit-> Tabel (geen spaties, speciale tekens zoals #,%, mag niet met een getal beginnen) Instantie-> Rij Attribuut-> Kolom (naam moet unieke zijn binnen een tabel) Relatie-> Verwijssleutel (FK) (optionaliteit hangt van de relatie af)
OMZETTEN VAN EEN-OP-EEN RELATIE Hoe wordt een verplichte een-op-een relatie omgezet?
OMZETTEN VAN XOR RELATIE
OMZETTEN VAN EEN-OP-MEER RELATIE Let op de referentiele Integriteit en refererende acties ON UPDATE ON DELETE
OMZETTEN VAN SUPERTYPEN EN SUBTYPEN (EEN TABEL)
OMZETTEN VAN SUPERTYPEN EN SUBTYPEN (MEERDERE TABELEN)
NOGMAALS: SELECT INSTRUCTIE IN VOLGORDE ▸ FROM => hele tabel of join ▸ WHERE => selecteert rijen ▸ GROUP BY => voegt rijen samen (met zelfde waarde in kolom) ▸ HAVING => selecteert groepen ▸ SELECT=> maakt nieuwe tabel (zorg ervoor dat een rij precies 1 waarde voor een attribuut heeft) ▸ ORDER BY=> sorteert eindresultaat
SELECT INSTRUCTIE: VOLGORDE VAN UITVOEREN (INTERN) volgorde SELECT [kolommen] [5] FROM [tabellen][1] WHERE [voorwaarde voor rij][2] GROUP BY [kolom(men)][3] HAVING [voorwaarde voor groep][4] ORDER BY [kolom][6]
GROUP BY HOE WERKT HET (1) FROM BOETESGROUP BY SPELERSNR
GROUP BY HOE WERKT HET (2) SELECT SPELERSNR, COUNT(BEDRAG) -> SELECT SPELERSNR, SUM(BEDRAG) ->
ANALYSE 3- INFANL01-3 ▸ Proeftentamen
VRAAG 1 ▸ A) Gegeven onderstaande tabel. In welke normaalvorm staat deze tabel? Motiveer je keuze. (5 punten) ▸ B) In welke normaalvorm staat een tabel (minimaal) als er geen attributen functioneel afhankelijk zijn van attributen die tot de kandidaatsleutel behoren? (5 punten)
VRAAG 2 A ▸ Situatie: Een winkel (STORE) kan vestigingen hebben in verschillende winkelcentra (SHOPPING MALL). Een winkelcentrum kan meerdere winkels huisvesten. Is onderstaand ERD bruikbaar voor deze situatie? Schets mogelijke verbeteringen in een nieuw ERD. (15 punten)
VRAAG 2B ▸ Situatie: Een ondernemer heeft behoefte aan een systeem voor het bijhouden van de orders van klanten bij te houden. Men wil ook weten wat de voorkeursbetaalwijze is van de klanten. Is onderstaand ERD bruikbaar voor deze situatie? Schets mogelijke verbeteringen in een nieuw ERD. (15 punten)
VRAAG 3 Gegeven is onderstaande tabellenstructuur. Geef de SQL instructies die benodigd zijn om de gestelde vragen te beantwoorden. klant (klantnr, naam, telefoonummer, geboortedatum, adres, postcode, plaats) factuur (factuurnr, klantnr, datum) factuuregel (factuurnr, regelnr, artikelnr, aantal, prijs) artikel (artikelnr, omschrijving) Hierbij is de primaire sleutel onderstreept. De foreign key is cursief. A.Geef datum en factuurnummer van alle facturen. Sorteer op datum. B.Geef het telefoonnummer van alle klanten die uit Ede komen. C.Geen een overzicht van artikelen (artikelnr en omschrijving) van facturen met meer dan 3 factuurregels.
VORIGE LES
VRAAG 4
ANALYSE 3- INFANL01-3 ▸ Test jezelf!
Implementeer deze DB