Home | Papers | Reports | Projects | Code Fragments | Dissertations | Presentations | Posters | Proposals | Lectures given | Course notes |
8. Examination Questions 1998-1999Werner Van Belle1 - werner@yellowcouch.org, werner.van.belle@gmail.com Abstract : Examination question for the course Theory of Database Systems for year 1998-1999
Reference:
Werner Van Belle; Examination Questions 1998-1999; |
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 |
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.
5. Bewijs of geef een tegenvoorbeeld. Het vlinderdasje () is een natuurlijke equi-join.
(A B) C = A (B C)
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.
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
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 |
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.
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: |
Bewijs of geef een tegenvoorbeeld. is een LEFT OUTER join, is een RIGHT OUTER join.
(A B) C = A (B C)
Zijn de onderstaande verzamelingen functionele afhankelijkheden equivalent of niet ? Bewijs waarom wel of niet.
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
Welke van de volgende relaties staan in 3e normaalvorm, BCNF ? Leg uit waarom. Al de values zijn atomair..
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 |
SC1 |
SC2 |
SC3 |
SC4 |
JohnCleese |
GrahamChapman |
TerryJones |
MichaelPalin |
JohnCleese |
GrahamChapman |
JohnCleese |
MichaelPalin |
GrahamChapman |
JohnCleese |
MichaelPalin |
TerryJones |
GrahamChapman |
TerryJones |
GrahamChapman |
TerryJones |
JohnCleese |
GrahamChapman |
TerryJones |
TerryJones |
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 |