Home Papers Reports Projects Code Fragments Dissertations Presentations Posters Proposals Lectures given Course notes
<< 7. Normaalvormen

8. Examination Questions 1998-1999

Werner Van Belle1 - werner@yellowcouch.org, werner.van.belle@gmail.com

1- Programming Technology Lab (PROG) Department of Computer Science (DINF) Vrije Universiteit Brussel (VUB); Pleinlaan 2; 1050 Brussel; Belgium

Abstract :  Examination question for the course Theory of Database Systems for year 1998-1999

Reference:  Werner Van Belle; Examination Questions 1998-1999;


Vraag 1-4: Polychlorinated Biphenyls (PCB’s) (/6)

We hebben 3 tabellen.

PCBVoer: (V)

Kippevoer

PCB

Merk van kippevoer

Soort PCB gedetecteerd

Deze tabel bevat al de onderzochte merken kippevoer. Voor elk merk kippevoer hebben we alle aangetroffen PCBs genoteerd. Bijvoorbeeld:

Kippevoer

PCB

ChickieHmmm

PCB-1016

Vegetarion Kipvoer

PCB-1232

ChickieHmmm

PCB-1242

Dioxincorporated

PCB-1242

Dioxincorporated

PCB-1232

WasteDispChick

PCB-1016

Dioxincorporated

PCB-1260

PCBOil: (O)

Oil

PCB

Merk van olie

Soort PCB gedetecteerd

De tabel PCBOil bevat de gekende merken olie met daarbij geannoteerd welke pcb’s er in aanwezig zijn.

Bijvoorbeeld:

Oil

PCB

Frito-2000

PCB-1016

Frito-2000

PCB-1221

Frito-2000

PCB-1232

Frito-2000

PCB-1242

Frito-2000

PCB-1248

Frito-2000

PCB-1254

Spanish Fish Oil (Feb 1996)

PCB-1016

Esoteric Oils

PCB-1232

Esoteric Oils

PCB-1260

Shell Motor Lubricants

PCB-1242

Nasa Space Waste

PCB-1016

Nasa Space Waste

PCB-1242

Leveranciers (L)

Kippevoer

Oil

Merk van kippervoer

Merk van olie

De tabel leveranciers bevat voor elk soort kippevoer welke olie leveranciers olie leverde voor het maken van het kippevoer. Bijvoorbeeld:

Kippevoer

Oil

ChickieHmmm

Frito-2000

Vegetarion Kipvoer

Esoteric Oils

ChickieHmmm

Shell Motor Lubricants

Dioxincorporated

Esoteric Oils

Validity check

We willen controleren of er geen kippevoerfirmas zijn die olie van andere plaatsen halen dan ze beweren. We kunnen dit doen door te controleren of er geen PCB’s aangetroffen zijn in het voer dat niet in de olie van een der leveranciers van de olie voor dat kippevoer zit.1

1. List al de merken kippevoer die PCB’s bevatten die er niet zouden mogen inzitten volgens de tabel der leveranciers van olie. Schrijf deze query in SQL. Leg uit hoe u uw query geconstrueerd hebt.

2. Druk deze query uit in de relationele algebra.

3. Druk deze query uit in de domeincalculus.

4. Schrijf deze query neer in de tupelcalculs.

Vraag 5: Bewijs (/4)

5. Bewijs of geef een tegenvoorbeeld. Het vlinderdasje () is een natuurlijke equi-join.

(A  B)  C = A  (B  C)

Vraag 6: Domein afhankelijke formules (/2)

6. Geef een voorbeeld van een domeinonafhankelijke formule. Geef een voorbeeld van een formule die niet domeinonafhankelijk is. Leg uit waarom deze respectievelijk domeinonafhankelijk, domeinafhankelijk zijn.

Vraag 7: Functionele afhankelijkheden (/3)

Zijn de onderstaande verzamelingen functionele afhankelijkheden equivalent of niet ? Leg uit waarom wel of niet.

1. A-> B AB -> C D -> AC D -> E

2. A -> BC D -> AE AB -> C

Vraag 8: Normaalvormen (/5)

Welke van de volgende relaties staan in 3e normaalvorm, BCNF ? Leg uit waarom.

R1:

A

B

C

D

E

F

A

B

C

D

I

F

A

B

A

B

I

H

B

C

B

C

G

H

A

B

C

C

I

H


R2:

A

B

C

D

A

B

C

D

A

B

A

D

B

C

B

C

A

B

C

C

Vraag 9-13: Headertransformaties (/6)

We hebben 2 tabellen, elk bestaande uit 3 kolommen. Het attributenschema van beide tabbelen is {A,B,C}. De data binnen elke tabel is een reeks van eentjes en ganzen, genoteerd als 1 en 0.

Bijvoorbeeld:

Tabel 1 (T1)

A

B

C

0

0

1

0

1

0

0

1

1

1

0

0

1

0

1

1

1

0

1

1

1

Tabel 2 (T2)

A

B

C

1

1

1

0

0

1

0

1

1

1

0

0

1

1

0

1

0

1

0

1

0

Het is duidelijk dat deze 2 tabellen verschillend zijn wat betreft inhoud. Doch, als we de data van kolom B en C omwisselen zien we dat beide tabellen gelijk zijn.

  1. List al de mogelijke attribuutschematransformaties die nodig zijn om 2 dergelijke tabellen (3 kolommen elk, beide zelfde attributenschema) exact aan elkaar gelijk te laten zijn. Bijvoorbeeld. De bovenstaande 2 tabellen geeft als antwoord.

Schema1Transformatie

Schema2Transformatie

ACB

ABC

ABC

ACB

CAB

BAC

BAC

CAB

BCA

CBA

CBA

BCA

Hoewel deze trandsformaties hetzelfde idee beschrijven (swap de B en C kolom) moeten toch alle mogelijkheden gegeven worden.

2. Druk deze query uit in de relationele algebra.

3. Druk deze query uit in de domeincalculus.

4. Schrijf deze query neer in de tupelcalculs.

5. Schrijf een query neer (ofwel in tupelcalculus, ofwel in domeincalculus, ofwel in de relationele algebra, ofwel in SQL) die 3 tabellen met elkaar vergelijkt en de transformaties geeft om de 3 tabellen aan elkaar gelijk te stellen. Een mogelijk antwoord in dergelijk geval is:

Tranformatie1

Transformatie2

Transformatie3

ACB

ABC

ABC

ABC

CBA

ACB

BCA

CBA

CBA

:etc:

:etc:

:etc:

Vraag 14: Bewijs (/4)

Bewijs of geef een tegenvoorbeeld. is een LEFT OUTER join, is een RIGHT OUTER join.

(A B) C = A (B C)

Vraag 15: Functionele afhankelijkheden (/3)

Zijn de onderstaande verzamelingen functionele afhankelijkheden equivalent of niet ? Bewijs waarom wel of niet.

  1. A -> B
    AB -> C
    D -> AC
    D -> E
    T-> GH
    G->T
    H->T
    G -> H

2. A -> BC
D -> AE
AB -> C
GH -> T
T-> A
A-> GH

Vraag 16: Normaalvormen (/5)

Welke van de volgende relaties staan in 3e normaalvorm, BCNF ? Leg uit waarom. Al de values zijn atomair..

Tabel 1: De Heilige Graal

PadA

PadB

PadC

PadD

PadE

Kwotering

Kamelot

Aaaarg

Ni-Peng

Nu-Wong

Antrax

Difficult

Kamelot

Aaaarg

Kamelot

Aaaarg

Antrax

Haalbaar

Aaaarg

Ni-Peng

Aaaarg

Ni-Peng

Neeow…wum…ping

Haalbaar

Kamelot

Aaaarg

Ni-Peng

Ni-Peng

Antrax

Haalbaar

Tabel 2: The Life Of Brian, opkomst van acteurs

SC1

SC2

SC3

SC4

JohnCleese

GrahamChapman

TerryJones

MichaelPalin

JohnCleese

GrahamChapman

JohnCleese

MichaelPalin

GrahamChapman

JohnCleese

MichaelPalin

TerryJones

GrahamChapman

TerryJones

GrahamChapman

TerryJones

JohnCleese

GrahamChapman

TerryJones

TerryJones

Vraag 17: Waarom ? (/2)

Bespreek het nut van de normaalvormen.

Bespreek hoe we databanken kunnen optimaliseren (zowel wat betreft plaats als wat betreft het bevragen van een databank ?)

1 Bijvoorbeeld:

Kippevoerfabricant ‘Dioxincorporated’ levert voer met PCB-1232, 1242,1260 terwijl hij beweert dat hij enkel olie koopt van ‘Esoteric oils’. Esoteric oils levert olie die enkel PCB-1232 en 1260 bevat. De olietesten zijn juist, de metingen van het voer zijn ook juist. Dus we moeten concluderen dat ‘Dioxincorporated’ onvolledige data gegeven heeft.


http://werner.yellowcouch.org/
werner@yellowcouch.org