ZBD-I-w-3.pdf

(164 KB) Pobierz
Bazy danych
Przykład
Czy poniŇsze zapytania sĢ poprawne:
Bazy danych
SELECT job, max(sal)
FROM emp;
Wykład 3: Relacyjny model danych.
Zapytania złoŇone
SELECT dname, avg (sal)
FROM emp, dept
WHERE dept.deptno=emp.deptno
GROUP BY dname, dept.deptno
SELECT deptno, job, avg(sal)
FROM emp
WHERE min(sal)>1000
GROUP BY deptno, job;
Bazy danych (studia dzienne)
2
Plan wykładu
Diagramy ER
• Diagramy E/R - powtórzenie
• Relacyjne bazy danych
• Od diagramów E/R do relacji
• Podstawowe elementy ERD
– zbiory encji
– encje
– atrybuty
– zwiĢzki
• SQL - podstawy
• LicznoĻci
• Klucze
Podklasy
• Zbiory słabych encji
Bazy danych (studia dzienne)
3
Bazy danych (studia dzienne)
4
249619483.093.png
Przykład
Podstawy modeli relacyjnych
KaŇdy sħdzia ma listħ spraw, które bħdzie prowadził. Jednej sprawie
przewodniczy tylko jeden sħdzia. Do kaŇdej sprawy jest
przydzielony jeden prokurator, który reprezentuje prokuraturħ,
KaŇda sprawa bħdzie siħ odbywaę w jednym z sĢdów z ustalonĢ
datĢ rozpoczħcia i przybliŇonym czasem trwania. Sprawa moŇe
dotyczyę wiħcej niŇ jednego przestħpstwa. KaŇde przestħpstwo
moŇe mieę jednego lub wiħcej oskarŇonych. KaŇdy oskarŇony
moŇe mieę jedenego lub wiħcej adwokatów. OskarŇeni mogĢ
mieę wytoczonĢ wiħcej iŇ jednĢ sprawħ.
Reprezentacja danych: dwuwymiarowa tabela, zwana relacj Ģ
Przykład:
Atrybuty
Krotki
Tytuł
Rok
Czas
Rodzaj
ņ urek
2003
71
Kolor
Kingsajz
1987
104
Kolor
Seksmisja
1984
117
Kolor
Bazy danych (studia dzienne)
5
Bazy danych (studia dzienne)
6
Podstawy modeli relacyjnych
Podstawy modeli relacyjnych
• Schemat relacji - nazwa relacji oraz jej zbiór atrybutów
Film (tytuł, rok, czas, rodzaj)
• W modelu relacyjnym projekt składa siħ z jednego lub kilku
schematów relacji.
• Zbiór schematów relacji jest okreĻlany schematem relacyjnym
bazy danych lub schematem bazy danych .
• Dziedziny -pewien okreĻlony typ elementarny, powiĢzany z
kaŇdym atrybutem relacji
• W modelu relacyjnym kaŇda składowa kaŇdej relacji musi mieę
okreĻlony typ atomowy (elementarny) np. typ całkowity, znakowy.
WartoĻę atrybutu nie moŇe byę ani rekordem, ani listĢ, ani
zbiorem...
• Krotki - wiersze relacji, poza wierszem nagłówka, zawierajĢcym
atrybuty relacji
• W krotce kaŇdy atrybut ma swój odpowiednik w postaci składowej
krotki
– Przykład: (Gwiezdne wojny, 1977, 124, kolor)
• Jedna krotka nie moŇe wystĢpię w relacji wiħcej niŇ jeden raz.
Przykład: Film (tytuł, rok, czas, rodzaj)
Bazy danych (studia dzienne)
7
Bazy danych (studia dzienne)
8
249619483.104.png 249619483.115.png 249619483.126.png 249619483.001.png 249619483.012.png 249619483.023.png 249619483.034.png 249619483.045.png 249619483.048.png 249619483.049.png 249619483.050.png 249619483.051.png 249619483.052.png 249619483.053.png 249619483.054.png 249619483.055.png 249619483.056.png 249619483.057.png 249619483.058.png 249619483.059.png 249619483.060.png 249619483.061.png 249619483.062.png 249619483.063.png 249619483.064.png 249619483.065.png 249619483.066.png 249619483.067.png 249619483.068.png 249619483.069.png
RównowaŇne sposoby
reprezentowania relacji
Formalny zapis krotki
Instancje
• Krotka - funkcja przeprowadzajĢca atrybuty ze schematu relacji
do ich zbiorów wartoĻci - do składowych tych krotek:
tytuł -> ņurek
rok -> 2003
czas -> 95
rodzaj -> Kolor
Schematy i krotki relacji sĢ zbiorami, stĢd porzĢdek w jakim je
przedstawimy nie ma znaczenia.
Tytuł
Rok
Czas
Rodzaj
ņ urek
2003
71
Kolor
Kingsajz
1987
104
Kolor
Seksmisja
1984
117
Kolor
( ņ urek, 2003, 95, kolor)
• Instancja relacji - zbiór krotek danej relacji
• Instancja bieŇĢca - zbiór krotek, które sĢ w relacji „teraz”
Rodzaj
Tytuł
Rok
Czas
Kolor ņ urek
2003
71
Kolor
Kingsajz
1987
104
Kolor
Seksmisja
1984
117
(Kolor, ņ urek, 2003, 95)
Bazy danych (studia dzienne)
9
Bazy danych (studia dzienne)
10
Od diagramów ERD do relacji
Od zbiorów encji do relacji
• Zbiory encji przekształcamy w relacjħ z takim samym zbiorem
atrybutów:
tytuł
rok
• ZwiĢzki z diagramów encji przyjmujĢ postaę relacji. Relacja
danego zwiĢzku R ma nastħpujĢce atrybuty:
– dla kaŇdego zbioru encji uczestniczĢcego w R umieszczamy w
schemacie relacji odpowiadajĢcej R klucze tych zbiorów jako
atrybuty tej relacji
– jeĻli zwiĢzek ma własny klucz, to teŇ dołĢczamy jego atrybuty do
zbioru atrybutów relacji
Filmy
czas
rodzaj
Tabela Filmy:
Tytuł
Rok
Czas
Rodzaj
ņ urek
2003
71
Kolor
Kingsajz
1987
104
Kolor
Uwaga: w przypadku powtarzania siħ nazw atrybutów naleŇy zmienię
ich nazwy
Seksmisja
1984
117
Kolor
Bazy danych (studia dzienne)
11
Bazy danych (studia dzienne)
12
249619483.070.png 249619483.071.png 249619483.072.png 249619483.073.png 249619483.074.png 249619483.075.png 249619483.076.png 249619483.077.png 249619483.078.png 249619483.079.png 249619483.080.png 249619483.081.png 249619483.082.png 249619483.083.png 249619483.084.png 249619483.085.png 249619483.086.png 249619483.087.png 249619483.088.png 249619483.089.png 249619483.090.png 249619483.091.png 249619483.092.png 249619483.094.png 249619483.095.png 249619483.096.png 249619483.097.png 249619483.098.png 249619483.099.png 249619483.100.png 249619483.101.png 249619483.102.png 249619483.103.png 249619483.105.png 249619483.106.png 249619483.107.png 249619483.108.png 249619483.109.png 249619483.110.png 249619483.111.png 249619483.112.png 249619483.113.png 249619483.114.png 249619483.116.png 249619483.117.png 249619483.118.png 249619483.119.png 249619483.120.png 249619483.121.png 249619483.122.png 249619483.123.png 249619483.124.png 249619483.125.png 249619483.127.png 249619483.128.png 249619483.129.png 249619483.130.png 249619483.131.png 249619483.132.png 249619483.133.png 249619483.134.png 249619483.135.png 249619483.136.png 249619483.002.png 249619483.003.png 249619483.004.png 249619483.005.png 249619483.006.png 249619483.007.png 249619483.008.png 249619483.009.png 249619483.010.png 249619483.011.png 249619483.013.png 249619483.014.png 249619483.015.png 249619483.016.png
Od zwiĢzków do relacji
ZwiĢzki wieloargumentowe
tytuł
rok
nazwisko
adres
Filmy
Kontrakty
Aktorzy
Filmy
Wyst ħ puje
Aktorzy
Studio
producenta
Studio
aktora
czas
rodzaj
Studia
Tytuł
Rok
nazwiskoAktora
Tabela kontrakty:
– Klucz dla zbioru Filmy: tytuł, rok
– Klucz dla zbioru Aktorzy: nazwiskoAktora
– Klucz dla Studia producenta: studioProducenta
– Klucz dla Studia aktora: studioAktora
Potop
1974
Daniel Olbrychski
ņ urek
2003
Katarzyna Figura
Kingsajz 1987
Katarzyna Figura
Kingsajz 1987
Jerzy Stuhr
Seksmisja 1984
Jerzy Stuhr
Bazy danych (studia dzienne)
13
Bazy danych (studia dzienne)
14
ZłoŇenie relacji
Reprezentacja zwiĢzków isa
w modelu relacyjnym
Dopuszcza siħ moŇliwoĻę złoŇenia dwóch relacji:
relacji zwiĢzanej z danym zbiorem encji E z relacjĢ powstałĢ ze
zwiĢzku R wiele do jeden z E do innego zbioru encji.
Trzy podejĻcia:
• zorientowane obiektowo - kaŇda krotka naleŇy tylko do jednej
klasy; tworzenie relacji dla kaŇdej klasy biorĢc pod uwagħ
wszystkie jej atrybuty
tytuł
rok
nazwa
Filmy
Posiada
Studia
• styl E/R - relacje sĢ tworzone dla kaŇdej podklasy; zawierajĢ
atrybuty kluczowe i te atrybuty, które sĢ powiĢzane z podklasĢ
czas
rodzaj
adres
Filmy(tytuł, rok, czas, rodzaj)
Studia (nazwa, adres)
Posiada (tytuł, rok, nazwa)
Filmy(tytuł, rok, czas, rodzaj, nazwaST)
Studia (nazwa, adres)
WykorzystujĢc NULL - naleŇy utworzyę tylko jednĢ relacje; encje
przyjmujĢ wartoĻci NULL dla tych atrybutów, które nie wchodzĢ w
skład danego zbioru encji
Bazy danych (studia dzienne)
15
Bazy danych (studia dzienne)
16
249619483.017.png 249619483.018.png 249619483.019.png 249619483.020.png 249619483.021.png 249619483.022.png 249619483.024.png 249619483.025.png 249619483.026.png 249619483.027.png 249619483.028.png 249619483.029.png 249619483.030.png 249619483.031.png 249619483.032.png 249619483.033.png 249619483.035.png 249619483.036.png 249619483.037.png 249619483.038.png 249619483.039.png 249619483.040.png 249619483.041.png 249619483.042.png 249619483.043.png
Przykład - podejĻcie zorientowane
obiektowo
Przykład - styl E/R
do aktorów
czas
tytuł
rok
rodzaj
do aktorów
czas
tytuł
rok
rodzaj
Filmy
Filmy
dubbinguje
dubbinguje
isa
isa
bro ı
isa
isa
bro ı
Kreskówki
Kryminały
Kreskówki
Kryminały
• Filmy (czas, tytuł, rok, rodzaj)
• Kryminały (tytuł, rok, czas, rodzaj, broı)
• Kreskówki (tytuł, rok, czas, rodzaj)
• Kreskówki-Kryminały(tytuł, rok, czas, rodzaj, broı)
Dubbinguje (nazwiskoAktora, tytuł, rok)
• Filmy (czas, tytuł, rok, rodzaj)
• Kryminały (tytuł, rok, broı)
• Kreskówki (tytuł, rok)
• Dubbinguje (nazwiskoAktora, tytuł, rok)
Czy potrzebna jest relacja kreskówki?
Bazy danych (studia dzienne)
17
Bazy danych (studia dzienne)
18
Przykład - wykorzystanie NULL
Porównanie metod
do aktorów
czas
tytuł
rok
rodzaj
• Zapytania:
– Koszt zapytaı zwiĢzanych z wieloma relacjami jest duŇy, stĢd
podejĻcie wykorzystujĢce NULL jest lepsze.
– Podejscie zorientowane obiektowo jest lepsze dla zapytaı typu
„jaka broı jest wykorzystywana w kreskówkach trwajĢcych dłuŇej
niŇ 150 minut”
– Styl E/R jest lepszy dla zapytaı typu „jakie filmy z roku 1999
trwały dłuŇej niŇ 150 minut”
• Preferuje siħ schematy z moŇliwie małĢ liczbĢ relacji (E/R - 1
relacja na 1 zbiór encji; o-o - majĢc korzeı i n podklas
otrzymujemy 2 n klas)
• Minimalizacja zajħtoĻci dysku: najlepsza metoda o-o; metoda
NULL - w zaleŇnoĻci od liczby elementów brakujĢcych moŇe byę
lepsza lub gorsza od metody E/R.
Filmy
dubbinguje
isa
isa
bro ı
Kreskówki
Kryminały
• Film(tytuł, rok, długoĻę, rodzaj, broı)
– (Bolek i Lolek, 1985, 10, Kolor, NULL)
• Dubbinguje (tytuł, rok, nazwiskoAktora)
Bazy danych (studia dzienne)
19
Bazy danych (studia dzienne)
20
249619483.044.png 249619483.046.png 249619483.047.png
Zgłoś jeśli naruszono regulamin