View
987
Download
0
Category
Preview:
DESCRIPTION
Citation preview
Gegevensbanken een voorbeeld
interne cursussen
1
de probleemstelling
Beschouw een bedrijf met medewerkers.
Elke medewerker heeft: ▫ een uniek medewerkersnummer, ▫ een familienaam, ▫ initialen, ▫ een functie, ▫ een geboortedatum, ▫ een maandsalaris, ▫ een commissie (jaarlijks toevoegsel aan het loon, voor een beperkt
aantal medewerkers)
Het bedrijf is gestructureerd in afdelingen.
Elke afdeling heeft: ▫ een uniek afdelingsnummer, ▫ een naam, ▫ een locatie.
2
Het bedrijf organiseert interne opleidingen.
We onderscheiden cursussen en de uitvoeringen van cursussen
• Een cursus heeft: ▫ een unieke cursuscode ▫ een cursusomschrijving ▫ een type ▫ een lengte (een geheel aantal dagen).
• De uitvoering van een cursus heeft: ▫ een begindatum ▫ een docent ▫ een locatie
3
• De docent van een uitvoering is een medewerker.
• Cursusuitvoeringen worden gevolgd door medewerkers.
• Er is een evaluatie (een geheel getal van 1 - 5) voor elke cursist die een uitvoering volgt of heeft gevolgd.
4
5
MEDEWERKER
UITVOERING
AFDELING
CURSUS
werkt_voor
is_hoofd_van
hoort tot
volgt doceert
Mnr
Naam
Voorl
Gbdatum
Salaris
Comm
Anr
Functie
Naam
Locatie
BeginDat Locatie Code Omschrijving
heeft als chef
Evaluatie
Type
Lengte
(0,n)
(0,1)
(1, 1) (1,n)
(1,1)
(1,1)
(0,1) (0,n)
(1,1)
(0,n) (0,n)
(0,n)
chef ondergeschikte
6
MEDEWERKER
Mnr Naam Voorl Salaris Comm Functie Gbdatum
Anr Naam Locatie
AFDELING
Locatie
Code Omschrijving Type Lengte
CURSUS
Begindatum Code Locatie
Chef
UITVOERING
Hoofd
Afd
Docent
Mnr Evaluatie Code Begindatum
INSCHRIJVING
MEDEWERKER Mnr: integer Naam: string, max 30 Voorl: string, max 5 Gbdatum: datum Functie: string, max 10 Salaris: double Commissie: double
AFDELING Anr: integer Naam: string, max 20 Locatie: string, max 20
CURSUS Code: string, max 4 Omschrijving: string, max 50 Type: string, max 3 Lengte: integer
UITVOERING Code: string, max 4 Begindatum: datum Locatie: string, max 20 Docent: integer
INSCHRIJVING Mnr: integer Code: string, max 4 Begindatum: datum Evaluatie: integer
opdrachten
• maak de gegevensbank aan in PostgreSQL
• vul de gegevensbank
• definieer de opgegeven queries in SQL en implementeer ze
7
PostgreSQL
• download: http://www.postgresql.org/download/
8
Installatie PostgreSQL 9
10
11
12
13
14
15
16
gegevensbank aanmaken 17
18
Tabellen aanmaken 19
toledo: course documents -> extra voorbeeld -> creatie_cursussen_zonder_constraints.txt
Tabellen vullen 20
toledo: course documents -> extra voorbeeld -> vul_cursussen.sql
queries
Q_01 Geef alle functies van de medewerkers (en hun departement)
Q_03 Geef naam, initialen en salaris van alle werknemers die meer dan 3000 verdienen
Q_04 Geef naam (en locatie) van alle afdelingen die in UTRECHT gevestigd zijn
Q_07 Wijzig de evaluatie in 5 voor alle cursus-uitvoeringen in UTRECHT
Q_08 Geef de lijst van de namen van alle departementen en het aantal medewerkers van het
departement
21
Q_10 Geef een lijst van alle departementen met ten minste 4 medewerkers
Q_11 Geef alle medewerkers die jonger zijn dan werknemer JM JANSEN
Q_12 Geef alle medewerkers die meer verdienen dan ten minste een manager
Q_13 Geef alle medewerkers die meer verdienen dan alle managers
Q_18 Definieer een view met
nummer, naam en initialen van elke medewerker, samen met departementsnaam, departementslocatie, en naam van het departementshoofd voor elke medewerker
Q_22 Geef een lijst van alle medewerkers, hun functie en hun leeftijd, gesorteerd
volgens functie en binnen dezelfde functie volgens leeftijd
22
Recommended