Bazy danych

Transkrypt

Bazy danych
Plan wykładu
Bazy danych
• Diagramy E/R - powtórzenie
• Relacyjne bazy danych
• Od diagramów E/R do relacji
Wykład 3: Relacyjny model danych.
• SQL - podstawy
Małgorzata Kr towska
Katedra Oprogramowania
e-mail: [email protected]
Bazy danych (studia zaoczne)
Podstawy modeli relacyjnych
2
Podstawy modeli relacyjnych
Reprezentacja danych: dwuwymiarowa tabela, zwana relacj
• 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.
Przykład:
Atrybuty
Tytuł
urek
Kingsajz
Seksmisja
Rok
2003
1987
1984
Krotki
Czas
71
104
117
Rodzaj
Kolor
Kolor
Kolor
• 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.
Bazy danych (studia zaoczne)
3
Bazy danych (studia zaoczne)
4
Formalny zapis krotki
Instancje
Podstawy modeli relacyjnych
• Dziedziny -pewien okre lony typ elementarny, powi zany z
ka dym atrybutem relacji
• 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
• 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...
• Instancja relacji - zbiór krotek danej relacji
• Instancja bie ca - zbiór krotek, które s w relacji „teraz”
• Przykład: Film (tytuł, rok, czas, rodzaj)
Bazy danych (studia zaoczne)
5
Proces modelowania i implementacji
bazy danych
Analiza informacji,
które b d zawarte
w bazie danych
Diagram E/R
Bazy danych (studia zaoczne)
6
Od diagramów ERD do relacji
• Zbiory encji przekształcamy w relacj z takim samym zbiorem
atrybutów:
System zarz dzania
relacyjn
baz danych
• 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
Schemat bazy
danych
(Model relacyjny)
Uwaga: w przypadku powtarzania si nazw atrybutów nale y zmieni
ich nazwy
Bazy danych (studia zaoczne)
7
Bazy danych (studia zaoczne)
8
Reprezentacja zwi zków isa
w modelu relacyjnym
Zbiory słabych encji
• Relacja odpowiadaj ca słabemu zbiorowi encji E powinna
zawiera wszystkie atrybuty, które wchodz w skład klucza tego
zbioru (tj. atrybuty ze zbioru słabego, jak te atrybuty z innych
„wspomagaj cych” zbiorów encji) oraz pozostałe atrybuty zbioru
słabego.
Trzy podej cia:
• Zwi zki oznaczone podwójnym rombem nie tworz oddzielnych
relacji.
• styl E/R - relacje s tworzone dla ka dej podklasy; zawieraj
atrybuty kluczowe i te atrybuty, które s powi zane z podklas
• zorientowane obiektowo - ka da krotka nale y tylko do jednej
klasy; tworzenie relacji dla ka dej klasy bior c pod uwag
wszystkie jej atrybuty
• 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 zaoczne)
9
Porównanie metod
Bazy danych (studia zaoczne)
10
Funkcje matematyczne
• 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 2n 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.
Bazy danych (studia zaoczne)
11
Bazy danych (studia zaoczne)
12
Rozszerzenia Access’a
Zapytania grupuj ce
SELECT
[DISTINCTROW | TOP n [PERCENT] ]
Bazy danych (studia zaoczne)
SELECT lista pól
FROM tabele
WHERE warunki przed grupowaniem
GROUP BY pola grupuj ce
HAVING warunki po grupowaniu
13
Bazy danych (studia zaoczne)
14
Zapytania sumaryczne
Funkcje agregacyjne
• Wynik zapytania: jeden wiersz wynikowy
• Funkcje sumaryczne: COUNT, SUM, AVG, MAX,
MIN
• Argumenty funkcji:
SUM
AVG
MAX/MIN
COUNT (*)
COUNT()
– wyra enie
– DISTINCT wyra enie
– dla COUNT rownie COUNT(*)
• Je li warto ci wyra enia jest NULL warto
brana pod uwag
Bazy danych (studia zaoczne)
15
Bazy danych (studia zaoczne)
nie jest
16
Zasady wykonania zapytania
grupuj cego
Zapytania grupuj ce - ograniczenia
Na li cie GROUP BY mog by tylko nazwy kolumn (w
ORACLE dowolne wyra enie)
Elementami listy po SELECT, HAVING i ORDER BY
mog by tylko:
–
–
–
–
• Rozwa wszystkie kombinacje wierszy tabel
wyst puj cych w klauzuli FROM
• Do ka dego wiersza zastosuj warunek WHERE
• Podziel wiersze na grupy
• Do ka dej grupy zastosuj warunek w klauzuli
HAVING
• Dla ka dego wiersza reprezenuj cego grup oblicz
warto ci wyra e po SELECT
stała
funkcja sumaryczna
kolumna grupuj ca (wyst puj ca w klauzuli GROUP BY
wyra enie zawieraj ce powy sze
Bazy danych (studia zaoczne)
17
Bazy danych (studia zaoczne)
18

Podobne dokumenty