Zad.1 Znaleźć klucz w tej tabeli
A |
B |
C |
a1 |
b1 |
c1 |
a2 |
b3 |
c1 |
a1 |
b2 |
c3 |
Odp. Kluczem może być B (zbiory się nie powtarzają).
Naklucz to A B (bo nie jest minimalny).
Klucz nie może mieć wartości null.
Zad. 2 Więzy integralnościowe (z notatek przykład FIRMY I MIEJSCOWOŚCI)
FIRMY |
||
Nr |
Nazwa |
KodMjc |
1 |
ABC |
1 |
2 |
BCD |
11 |
MIEJSCOWOŚĆ |
|
Kod |
Nazwa |
1 |
Wrocław |
12 |
Opole |
Czy naruszane są powyżej więzy integralności? TAK
Czy można dodać wiersz [3, Warszawa] do MIEJSCOWOŚCI? TAK
Czy można usunąć wiersz [1, Wrocław] z MIEJSCOWOŚCI? NIE
Czy można dodać wiersz [3, DEF, Warszawa] do FIRMY? NIE
Zad. 3 Oblicz wyrażenie p=∏CDE (σA=a1(r[B=B]s))
A |
B |
C |
a1 |
b1 |
c1 |
a1 |
b3 |
c2 |
a2 |
b2 |
c1 |
a2 |
b2 |
c4 |
a2 |
b3 |
c1 |
B |
D |
E |
b1 |
d1 |
e1 |
b1 |
d3 |
e2 |
b2 |
d2 |
e1 |
b2 |
d3 |
e1 |
∏-projekcja (ucięcie tabeli do danych kolumn)
σ-selekcja (zostawiamy wiersz spełniający warunek)
Etap 1
(r[B=B]s)
A |
B |
C |
B |
D |
E |
a1 |
b1 |
c1 |
b1 |
d1 |
e1 |
a1 |
b1 |
c1 |
b1 |
d3 |
e2 |
a2 |
b2 |
c1 |
b2 |
d2 |
e1 |
a2 |
b2 |
c1 |
b2 |
d3 |
e1 |
a2 |
b2 |
c4 |
b2 |
d2 |
e1 |
a2 |
b2 |
c4 |
b2 |
d3 |
e1 |
Etap 2
(σA=a1(r[B=B]s))
A |
B |
C |
B |
D |
E |
a1 |
b1 |
c1 |
b1 |
d1 |
e1 |
a1 |
b1 |
c1 |
b1 |
d3 |
e2 |
Etap 3
p=∏CDE (σA=a1(r[B=B]s))
Rozw.
C |
D |
E |
c1 |
d1 |
e1 |
c1 |
d3 |
e2 |
Zad. 4 Znaleźć firmy z Wrocławia
FIRMY (Nr, Nazwa, KodMjc)
MIEJSCOWOŚĆ (Kod, Nazwa)
Rozw.
SELECT
FROM Firmy
INNER JOIN
Miejscowości ON Firmy. KodMjc=Miejscowości.Kod
WHERE
Miejscowości.Nazwa=”Wrocław”
Zad. 5 Ile wierszy zawiera wynik tetazłączenie?
Q2[E<C]Q1
Q1
A |
B |
C |
a1 |
b1 |
1 |
a2 |
b2 |
1 |
a3 |
b2 |
2 |
a4 |
b4 |
1 |
a5 |
b5 |
6 |
Q2
D |
E |
d4 |
1 |
d2 |
3 |
Rozw. Q2[E<C]Q1
A |
B |
C |
D |
E |
a3 |
b2 |
2 |
d4 |
1 |
a5 |
b5 |
6 |
d4 |
1 |
a5 |
b5 |
6 |
d2 |
3 |
Odp. Wynik zawiara 3 wiersze.
Zad. 6 Operacje teoriomnogościowe.
Q1
A |
B |
C |
a1 |
b1 |
1 |
a2 |
b2 |
1 |
a3 |
b2 |
2 |
a4 |
b4 |
1 |
a5 |
b5 |
6 |
Q2
A |
B |
C |
a1 |
b1 |
1 |
a6 |
b2 |
5 |
suma 2 tabel p=Q1 ∪Q2
Po zsumowaniu otrzymamy 7 wierszy, ale ponieważ jeden się powtarza, więc odp. To 6 wierszy.
iloczyn 2 tabel p=Q1∩Q2
A |
B |
C |
a1 |
b1 |
1 |
Odp. Jest 1 wiersz.
różnica 2 wierszy p=Q1-Q2
A |
B |
C |
a6 |
b2 |
5 |
Zad. 7 Dopełnienie. Wskaż wynik operacji p= dopełnienie (r∩s)
r
A |
B |
a1 |
b2 |
a2 |
b1 |
s
A |
B |
a1 |
b2 |
a2 |
b2 |
Dziedzina (A)=[a1,a2]
Dziedzina (B)=[b1,b2]
Etap 1. (r∩s)
A |
B |
a1 |
b2 |
Etap 2. p= dopełnienie (r∩s)
A |
B |
a1 |
b1 |
a1 |
b2 |
a2 |
b1 |
a2 |
b2 |
Odejmujemy Etap 1.
Odp.
A |
B |
a1 |
b1 |
a2 |
b1 |
a2 |
b2 |
Zad. 8 Dzielenie.
Dziedzina: [Pracownik, KatP]
Dzielnik: [KatP]
Który pracownik ma prawo jazdy wszystkich kategorii?
r
x |
y |
z |
w |
x1 |
y1 |
z1 |
w1 |
x2 |
y2 |
z2 |
w2 |
x3 |
y3 |
z3 |
w7 |
x3 |
y1 |
z1 |
w1 |
s
x |
y |
x1 |
y1 |
x3 |
y1 |
R/s=?
Rozw:
z |
w |
z1 |
w1 |
z1 |
w1 |
1 wiersz spotyka się z każdym wierszem dzielnika w dzielnej.
Zad. 9 Złączenie naturalne r ∞ s.
Zad. 10 Projektowanie tabel - zależności funkcyjne
Czy istnieje zależność funkcyjna 2 tabel x → y ?
x |
y |
z |
w |
x1 |
y1 |
z1 |
w1 |
x2 |
y2 |
z2 |
w2 |
x3 |
y3 |
z3 |
w7 |
x3 |
y1 |
z1 |
w1 |
X → y
Jeżeli [x3,y3] i [x3,y1], to zależności nie ma, jeżeli [x3,y3] i [x3, y3], to zależność istniałaby.
y→w
Ponieważ [z1,w1] i [z1,w1] - zależność funkcjonalna występuje.
xy→z
Nie ma zależności funkcjonalnej.
Zad. 11 Domknięcie zbioru atrybutu.
Dany jest schemat relacyjny (czyli kolumny tabel). Jakie jest domknięcie tego zbioru atrybutów? Czy ABD jest kluczem?
R=({ABCDE}, {AB→C, D→E}), X=ABD
a) x+ ABDCE (ABD+C+E), C-jeżeli mamy AB dodajemy C; E-jeżeli mamy D dodajemy E
b) ABD jest kluczem, bo ściągnęliśmy zbiór z relacji {ABCDE}, ABD zawiera się w ABCDE
r=({ABCDEFG}, {ABC→DEFG, BC→E})
R1=({BCE}, {BC→E})
R2=({ABCDFG}, {ABC→DFG})