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