Extra voorbeeld

21
Gegevensbanken een voorbeeld interne cursussen 1

description

 

Transcript of Extra voorbeeld

Page 1: Extra voorbeeld

Gegevensbanken een voorbeeld interne cursussen

1

Page 2: Extra voorbeeld

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

Page 3: Extra voorbeeld

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

Page 4: Extra voorbeeld

• 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

Page 5: Extra voorbeeld

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

Page 6: Extra voorbeeld

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

Page 7: Extra voorbeeld

PostgreSQL

•  download: http://www.postgresql.org/download/

7

Page 8: Extra voorbeeld

Installatie PostgreSQL 8

Page 9: Extra voorbeeld

9

Page 10: Extra voorbeeld

10

Page 11: Extra voorbeeld

11

Page 12: Extra voorbeeld

12

Page 13: Extra voorbeeld

13

Page 14: Extra voorbeeld

14

Page 15: Extra voorbeeld

15

Page 16: Extra voorbeeld

gegevensbank aanmaken 16

Page 17: Extra voorbeeld

17

Page 18: Extra voorbeeld

Tabellen aanmaken 18

toledo: course documents -> extra voorbeeld -> creatie_cursussen_zonder_constraints.txt

Page 19: Extra voorbeeld

Tabellen vullen 19

toledo: course documents -> extra voorbeeld -> vul_cursussen.sql

Page 20: Extra voorbeeld

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

20

Page 21: Extra voorbeeld

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

21