Systemy baz danych Zbyszko Królikowski Instytut Informatyki Politechniki Poznańskiej Literatura: 1. R. Wrembel, W. Wieczerzycki, Projektowanie aplikacji baz danych, Wydawnictwo NAKOM, Poznań, 1997 2. Codd E., The Relational Model for Database Management, Adison-Wesley Pub. Comp.,1990. 3. Date C. J., An Introduction to Database System, vol. II, Adison-Wesley Pub. Comp., 1991, również WNT W-wa. 4. Ullman S. Systemy baz danych, WNT, 1988 5. Elmasri R., Navathe S., Fundamentals of Database Systems, Adison-Wesley Pub. Comp.,1995 6. Kim W., Modern Database Systems, Addison-Wesley, ACM Press, 1994. 7. Ullman J.D., Principles of database and knowledge base systems, Vol. I and II, Computer Science Press, Rockville, Maryland, 1989. 8. Vossen G., Data models, database languages and database management systems, Addison- Wesley Pub. Company, 1991. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 1 Baza danych - definicje Baza danych jest projektowana, budowana i wypełniana danymi dla określonych celów ma określoną grupę użytkowników korzystających w określony sposób z zawartej w niej informacji Każda baza danych posiada: swoje źródło danych swoich użytkowników związki z reprezentowaną rzeczywistością Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 3 Baza danych - definicje Baza danych jest zbiorem powiązanych danych Baza danych jest abstrakcyjnym informatycznym odzwierciedleniem wybranego fragmentu rzeczywistości, nazywanego miniświatem zmiany w tym świecie są odzwierciedlane w bazie danych Rzeczywistość fizyczna i konceptualna komentarz Baza danych jest logicznie spójnym zbiorem danych posiadających określone znaczenie Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 2 Użytkownicy bazy danych Aktorzy na scenie: 1. Użytkownicy końcowi okazjonalni użytkownicy naiwni użytkownicy dobrze przygotowani użytkownicy 2. Projektanci bazy danych 3. Administrator bazy danych 4. Analitycy systemowi i programiści aplikacji Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 4
Użytkownicy bazy danych Sposób korzystania z bazy danych użytkowników naiwnych Formularze ekranowe Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 5 System bazy danych System bazy danych składa się z bazy danych i systemu zarządzania bazą danych. użytkownicy transakcje (zapytania) S ZB D moduł zarządzania transakcjami moduł zarządzania dostępem do danych system bazy danych schemat bazy danych baza danych Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 7 System zarządzania bazą danych (SZBD) Systemem zarządzania bazą danych (SZBD) nazywamy zbiór programów umożliwiających tworzenie i eksploatację bazy danych. SZBD jest oprogramowaniem ogólnego naczenia ułatwiającym procesy definiowania, konstruowania i przetwarzania bazy danych dla różnych aplikacji: Definiowanie bazy danych polega na specyfikacji typów danych przechowywanych w niej. Konstruowanie bazy danych polega na zapamiętaniu danych na nośniku kontrolowanym SZBD. Przetwarzanie polega na generowaniu zapytań do bazy danych w celu wyszukania potrzebnych danych, uaktualnianiu danych zgodnie ze zmianami zachodzącymi w miniświecie i generowaniu raportów o przechowywanych danych. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 6 System bazy danych pojęcia podstawowe Użytkownicy kontaktują się z systemem bazy danych za pośrednictwem tzw. transakcji. Transakcja stanowi elementarną jednostkę pracy, składa się z wielu niepodzielnych akcji, każdej z tych akcji odpowiada jedno odwołanie do SZBD. Transakcja jest atomową jednostką pracy, taką że baza danych jest w stanie spójnym (tj. zgodnym z modelowanym miniświatem) przed i po zakończeniu transakcji. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 8
System bazy danych pojęcia podstawowe cd. Baza danych to schemat bazy danych i dane. Schemat i instancja (stan) bazy danych Schemat bazy danych Opis bazy danych - schemat bazy danych jest definiowany w trakcie projektowania bazy danych Graficznie schemat bazy danych jest reprezentowany diagram schematu Schemat jest opisem struktury (formatu) przechowywanych danych oraz wzajemnych powiązań między nimi. Dane opisują cechy (własności) modelowanych obiektów miniświata. Nie mogą być one jednak właściwie interpretowane bez użycia schematu. Zbiór wartości wszystkich danych w bazie danych nazywamy instancją bazy danych (wystąpieniem lub stanem bazy danych) Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 9 Przykładowa baza danych cd. GRUPA Nr grupy Nr wykładu Semestr Rok 85 CS201 letni 96 92 CS445 zimowy 96 Grupy studenckie OCENY Nr indeksu Nr grupy Nr wykładu Ocena 18175 92 CS100 4 19551 101 CS445 5 33573 112 CS100 3 Oceny z zaliczeń modułów dydaktycznych Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 11 Przykładowa baza danych STUDENT Nazwisko Nr indeksu Rok Kierunek Nowak 18175 I informatyka Kowalik 33573 II telekomunikacja Studenci WYKŁAD Nazwa Nr Godziny Prowadzący Języki programowania CS201 8 Misiak Bazy danych CS100 8 Pilecki Systemy operacyjne CS203 8 Nacki Prowadzone wykłady Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 10 Trzypoziomowa architektura ANSI/SPARC systemu bazy danych Użytkownicy Schemat zewnętrzny... Schemat zewnętrzny Poziom zewnętrzny Schemat koncepcyjny Poziom koncepcyjny Schemat wewnętrzny Poziom wewnętrzny Baza danych Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 12
Trzypoziomowa architektura ANSI/SPARC cd. Poziom wewnętrzny schemat wewnętrzny opisuje fizyczną organizację bazy danych schemat wewnętrzny stosuje fizyczny model danych i opisuje ścieżki dostępu do danych oraz fizyczną organizację danych Poziom koncepcyjny (pojęciowy) schemat koncepcyjny opisuje strukturę bazy danych z punktu widzenia globalnego użytkownika opisuje encje, związki między nimi, atrybuty i ograniczenia Poziom zewnętrzny schematy zewnętrzne każdy schemat zewnętrzny opisuje bazę danych z punktu widzenia jednej grupy użytkowników Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 13 Korzyści wynikające ze stosowania systemów baz danych Zmniejszenie nadmiarowości przechowywanych danych Współdzielenie danych Autoryzacja dostępu do danych Wielość interfejsów do danych Reprezentacja złożonych związków pomiędzy danymi Ograniczenia integralności Ochrona przed awariami systemu Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 15 Trzypoziomowa architektura systemu bazy danych cd. Własności systemu bazy danych wynikające z tej architektury niezależność aplikacji i danych abstrakcyjna reprezentacja danych różnorodność sposobów widzenia danych fizyczna i logiczna niezależność danych Komentarz: Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 14 Modele danych Fundamentalną cechą systemów baz danych jest zapewnienie wyższego poziomu abstrakcji widzenia danych użytkowników, dzięki przesłonięciu szczegółów dotyczących fizycznej organizacji tych danych. Model danych zbiór pojęć stosowanych do opisu struktury bazy danych - struktura ta obejmuje: typy danych, związki pomiędzy danymi i ograniczenia nałożone na dane; zbiór operacji służących do definiowania, wyszukiwania i uaktualniania bazy danych. Kategorie modeli danych: pojęciowe modele danych implementacyjne modele danych fizyczne modele danych Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 16
Modele danych Kategorie modeli danych - komentarz: Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 17 Etapy budowy systemu informatycznego dla przedsiębiorstwa (1) Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 19 Języki baz danych Użytkownik (projektant) bazy danych ma do dyspozycji zwykle cztery różne języki, które w praktyce są ze sobą zintegrowane: Język definiowania danych (ang. Data Definition Language DDL), który umożliwia definiowanie struktury danych przechowywanych w bazie danych, a więc tworzenie schematu (implementacyjnego); Język manipulowania danymi (ang. Data Manipulation Language DML), który umożliwia wypełnianie bazy nowymi danymi, ich aktualizację i usuwanie; Język sterowania danymi (ang. Data Control Language DCL), który umożliwia użytkownikowi bazy danych sterowanie jego transakcjami, np. ich wycofywanie i zatwierdzanie; Język zapytań (ang. Query Language), który umożliwia pobieranie z bazy danych informacji zgodnych z wyspecyfikowanymi warunkami. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 18 Etapy budowy systemu informatycznego dla przedsiębiorstwa (2) Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 20
Etapy budowy systemu informatycznego dla przedsiębiorstwa (3) Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 21 Metodyka projektowania baz danych miniświat Analiza miniświata - konstrukcja modelu konceptualnego miniświata diagramy EER Transformacja modelu konceptualnego do modelu relacyjnego relacje Proces normalizacji relacje znormalizowane Wybór struktur fizycznych i określenie ścieżek dostępu fizyczne struktury danych Strojenie systemu Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 23 Etapy budowy systemu informatycznego dla przedsiębiorstwa (4) Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 22 Encja i wystąpienia encji Encja to rzecz (obiekt materialny lub niematerialny, zdarzenie lub fakt), o której chcemy przechowywać informacje. Obiekty w świecie rzeczywistym: Firma zatrudnia pracowników. Chcemy znać dane personalne każdego pracownika (imię, nazwisko, adres zamieszkania i numer telefonu). Jan Kowalski ul. Długa 23 tel. 253-485 Ewa Dalewska ul. Komarowa 5/2 tel. 486-005 Tomasz Biały ul. Czereśniowa 75/19 tel. 845-520 Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 24
Encja i wystąpienia encji cd. PRACOWNIK imię nazwisko adres telefon PRACOWNIK imię= JAN nazwisko= KOWALSKI adres= ul. DŁUGA 23 telefon= 253-485 Własności encji: Encja kryje w sobie wiele obiektów, czyli tzw. wystąpień encji Nazwy encji powinny być rzeczownikami w liczbie pojedynczej Obiekt rzeczywisty może być reprezentowany w modelu tylko jedną encję Każda encja musi posiadać unikalny identyfikator Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 25 Encje: obiekty materialne i niematerialne cd. Obiekty niematerialne: konto bankowe, zamówienie, grupa pracownicza, itp. grupa pracowników administracyjnych GRUPA PRACOWNICZA nazwa grupy liczba pracowników średnie wynagrodz. dzień wypłaty Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 27 Encje: obiekty materialne i niematerialne Za pomocą encji modelujemy obiekty materialne (np. pracowników, samochody), ale również obiekty niematerialne, zdarzenia i fakty, o których chcemy przechowywać informacje. Obiekty materialne: pracownik, samochód, budynek, produkt, itp. SAMOCHÓD marka numer_fabryczny prędkość_maksymalna zużycie_paliwa Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 26 Encje: zdarzenia, fakty Zdarzenia: choroba pracownika, przyznanie nagrody, itp. Byłem chory... Oto zwolnienie lekarskie. CHOROBA PRACOWNIKA data_rozpoczęcia data_zakończenia rodzaj_choroby Fakty: znajomość języka obcego, stan magazynowy produktu, itp. Znam biegle język angielski! ZNAJOMOŚĆ JĘZYKA OBCEGO nazwa_języka stopień_znajomości Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 28
Związki i powiązania Powiązania w świecie rzeczywistym: Pracownicy firmy posiadają różnej marki samochody. Ewa Dalewska posiada Nissan Jan Kowalski jest własnością Opel Tomasz Biały posiada jest własnością Pomiędzy dwoma rodzajami obiektów, pracownikami i samochodami, istnieją powiązania: dany pracownik może posiadać określony samochód, a jednocześnie dany samochód jest własnością określonego pracownika. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 29 Własności związków Ewa Dalewska posiada Nissan Jan Kowalski jest własnością Opel Tomasz Biały posiada jest własnością PRACOWNIK posiada SAMOCHÓD jest własnością Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 31 Związki i powiązania Związek i jego interpretacje: posiada PRACOWNIK SAMOCHÓD jest własnością Nazwy związku, będące jego interpretacją, powinny być tak dobierane, aby możliwe było budowanie zdań w języku naturalnym Pracownik posiada samochód. Samochód jest własnością pracownika. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 30 Własności związków Wiemy, że: Istnieją powiązania pomiędzy obiektami typu PRACOWNIK i SAMOCHÓD. Chcemy wiedzieć: Ile samochodów może posiadać pracownik? Ilu pracowników może być właścicielami jednego samochodu? Czy każdy pracownik musi posiadać samochód? Czy musimy znać właściciela każdego samochodu? Czy dany samochód może stać się własnością innego pracownika? Jakiej użyć notacji?? Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 32
Stopień asocjacji związków - 1:N Powiązania o charakterze "jeden do wielu" Firma realizuje projekty zlecone różnych klientów. Dany projekt wykonywany jest dla jednego konkretnego klienta, a dany klient może zlecić wykonanie wielu projektów. Projekt Alfa wykonany dla zlecił wykonanie Klient X Projekt Beta wykonany dla zlecił wykonanie Klient Y Projekt Gamma wykonany dla zlecił wykonanie Klient Z Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 33 Stopień asocjacji związków - M:N Powiązania o charakterze "wiele do wielu" Projekty są realizowane pracowników. Każdy projekt jest realizowany jednego lub wielu pracowników. Każdy pracownik może brać udział w realizacji jednego lub wielu projektów. Kowalski Projekt Alfa Dalewska bierze udział w Długosz bierze udział w Koszlajda bierze udział w realizowany Projekt Beta Biały bierze udział w realizowany Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 35 Zwiazek "jeden do wielu": PROJEKT wykonany dla KLIENT zlecił wykonanie Interpretacja związku: Każdy projekt może być wykonywany tylko dla jednego klienta. Każdy klient może zlecić wykonanie jednego lub wielu projektów. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 34 Związek "wiele do wielu" (M:N) PRACOWNIK bierze udział w PROJEKT realizowany Interpretacja: Każdy pracownik może brać udział w jednym lub wielu projektach. Każdy projekt może być realizowany jednego lub wielu pracowników. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 36
Stopień asocjacji związków - 1:1 Powiązania o charakterze "jeden do jednego" Działy firmy kierowane są pracowników. Dany dział może być kierowany tylko jednego pracownika (kierownika działu), a dany pracownik może kierować nie więcej niż jednym działem. Dalewska Długosz Koszlajda Kowalski kieruje kierowany Dział Sprzedaży Biały kieruje kierowany Dział Księgowości Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 37 Opcjonalność związków Ewa Dalewska posiada Nissan Jan Kowalski jest własnością jest własnością Opel Tomasz Biały posiada jest własnością Fiat Opcjonalność w świecie rzeczywistym: Nie każdy pracownik posiada samochód. Często nie wiemy czy pracownik posiada samochód. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 39 Związek "jeden do jednego" (1:1) PRACOWNIK kieruje DZIAŁ kierowany Interpretacja: Każdy pracownik może kierować jednym działem. Każdy dział może być kierowany jednego pracownika. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 38 Opcjonalność związków cd. Każdy pracownik może (ale nie musi) posiadać stopień naukowy oraz istnieją stopnie naukowe, które nie muszą być zdobyte żadnego z pracowników firmy. Dwustronna opcjonalność: PRACOWNIK posiada STOPIEŃ NAUKOWY zdobyty Interpretacja: Każdy pracownik może posiadać jeden stopień naukowy. Każdy stopień naukowy może zostać zdobyty jednego lub wielu pracowników. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 40
Obligatoryjność związków Obligatoryjność w świecie rzeczywistym: Każdy samochód (o którym chcemy przechowywać informacje) musi być własnością określonego pracownika. Jednostronna obligatoryjność: PRACOWNIK posiada SAMOCHÓD jest własnością Interpretacja: Każdy pracownik może posiadać jeden lub więcej samochodów. Każdy samochód musi być własnością jednego pracownika. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 41 Związek binarny Powiązania w świecie rzeczywistym: wiążą ze sobą dwa obiekty. Kowalski Dalewska pracuje w zatrudnia pracuje w Dział Sprzedaży Długosz pracuje w Biały pracuje w Koszlajda pracuje w zatrudnia Dział Księgowości Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 43 Obligatoryjność związków cd. Firma posiada samochody dostawcze. Dla każdego samochodu musimy znać dane dotyczące ostatniego przeglądu technicznego. Każdy przegląd techniczny, o którym przechowujemy informacje, musi dotyczyć jednego z samochodów firmy. Dwustronna obligatoryjność: SAMOCHÓD posiada PRZEGLĄD DOSTAWCZY TECHNICZNY dotyczy Interpretacja: Każdy samochód dostawczy musi posiadać jeden lub wiele przeglądów technicznych. Każdy przegląd techniczny musi dotyczyć jednego konkretnego samochodu. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 42 Związek binarny cd. Związek binarny: łączy dwie encje: PRACOWNIK pracuje w DZIAŁ zatrudnia lub łączy dwa wystąpienia jednej encji: PRACOWNIK jest podwładnym jest przełożonym Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 44
Związek ternarny Powiązania w świecie rzeczywistym: wiążą trzy obiekty. Projekt Alfa Kowalski bierze udział w realizowany rola pełniona KIEROWNIK Biały bierze udział w rola pełniona PROJEKTANT Dalewska bierze udział w Projekt Beta realizowany rola pełniona DORADCA Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 45 Opcjonalność i obligatoryjność w związku ternarnym Obligatoryjność związku ternarnego: bierze udział w pełniona PRACOWNIK ROLA realizowany PROJEKT Każde wystąpienie związku musi wiązać trzy wystąpienia encji. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 47 Związek ternarny cd. wiąże trzy encje. bierze udział w pełniona PRACOWNIK ROLA PROJEKT realizowany Interpretacja: Określony pracownik, daną rolę może pełnić w jednym lub wielu projektach. W określonym projekcie, dana rolę może pełnić jeden lub wielu pracowników. Określony pracownik, w danym projekcie może pełnić tylko jedną konkretną rolę. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 46 Opcjonalność i obligatoryjność w związku ternarnym cd. Opcjonalność związku ternarnego: bierze udział w pełniona PRACOWNIK ROLA realizowany PROJEKT Wystąpienie związku może wiązać trzy lub dwa wystąpienia encji. Interpretacja opcjonalności: Pracownik przypisany do realizacji danego projektu, może, ale nie musi, mieć określonej roli, jaką będzie pełnił w tym projekcie. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 48
Hierarchia encji Dziedziczenie atrybutów Firma zatrudnia pracowników krajowych i zagranicznych. Wszyscy pracownicy opisani są pewnymi wspólnymi atrybutami, ale zarówno pracownicy krajowi i zagraniczni posiadają atrybuty specyficzne. Jan Kowalski ul. Długa 23 nr dow.osob.: WL8034567 John Smith ul. Malinowa 14/7 państwo: Holandia nr paszportu: X485674345 pracownicy krajowi pracownicy zagraniczni Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 49 Hierarchia encji Dziedziczenie związków Każdy pracownik jest zatrudniony na określonym stanowisku w jednym z działów firmy. W odniesieniu do pracowników krajowych, chcemy wiedzieć, w jakich zakładach pracy byli poprzednio zatrudnieni. DZIAŁ zatrudnia STANOWISKO obsadzone zatrudniony w zatrudniony na PRACOWNIK PRACOWNIK KRAJOWY pracował w zatrudniał ZAKŁAD PRACY PRACOWNIK ZAGRANICZNY Związki: zatrudniony w i zatrudniony na, dotyczą pracowników krajowych i zagranicznych. Związek pracował w jest specyficzny dla pracowników krajowych. Własności hierarchii encji: Specjalizacje dziedziczą wszystkie związki generalizacji. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 51 Hierarchia encji cd. generalizacja atrybuty wspólne atrybuty specyficzne PRACOWNIK imię nazwisko adres PRACOWNIK KRAJOWY nr_dowodu_osob PRACOWNIK ZAGRANICZNY państwo nr_paszportu specjalizacje Własności hierarchii encji: Specjalizacje dziedziczą wszystkie atrybuty generalizacji. Każde wystąpienie generalizacji jest zawsze wystąpieniem jednej ze specjalizacji. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 50 Hierarchia encji bez specyficznych atrybutów - łuk Chcemy przechowywać opis każdej dokonanej naprawy dotyczącej środków trwałych i elementów wyposażenia. Opis naprawy w obu przypadkach jest podobny. Klasyczna hierarchia encji: NAPRAWA atrybuty NAPRAWA SRODKA TRWAŁ. dotyczy ŚRODEK TRWAŁY NAPRAWA WYPOSAŻENIA dotyczy ELEMENT WYPOSAŻENIA Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 52
Hierarchia encji bez specyficznych atrybutów - łuk Encje NAPRAWA ŚRODKA TRWAŁEGO i NAPRAWA WYPOSAŻENIA nie posiadają specyficznych atrybutów. Specjalizacje posiadają wyłącznie specyficzne związki. Łuk: NAPRAWA dotyczy ŚRODEK TRWAŁY dotyczy ELEMENT WYPOSAŻENIA Każde wystąpienie encji NAPRAWA musi być powiązane albo ze środkiem trwałym, albo z elementem wyposażenia. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 53 Przykładowy model EER Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 55 Łuk przykład zastosowania Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 54 Przykładowy model EER - opis Jedną UCZELNI. z podstawowych encji diagramu jest encja SKŁADNIK MAJĄTKU Encja ta jest generalizacją encji: ŚRODEK TRWAŁY oraz WYPOSAŻENIE. Posiada ona cały szereg atrybutów opisujących dane gromadzone na temat SKŁADNIKA MAJĄTKU, które są wspólne dla obu jej specjalizacji. Jedynym atrybutem różniącym ŚRODEK TRWAŁY od WYPOSAZENIA jest procentowa_stopa_umorzenia. Kluczem podstawowym uczyniono atrybut id_składnika_majątku. W skład jednego SKŁADNIKA MAJĄTKU może wchodzić jeden lub wiele innych SKŁADNIKÓW (np. do zakupionego wcześniej komputera dokupiony został twardy dysk. Dysk twardy wchodzi w skład tego komputera.). Każdy SKŁADNIK MAJĄTKU musi być opisany SPOSÓB PRZYJĘCIA, który określa sposób nabycia składnika (np. zakup, przyjęcie składnika powstałego w wyniku inwestycji budowlanej, przyjęcie składnika pozostałego po zakończeniu pracy naukowo-badawczej itp.). Każdy SKŁADNIK musi być w każdej chwili w pewnym STANIE (np. w naprawie, w trakcie likwidacji, zlikwidowany, skradziony itp.) Aktualna wartość SKŁADNIKA MAJĄTKU, będąca atrybutem encji może z czasem ulegać zmianie ze względu na amortyzację itp. Historia zamian wartości SKŁADNIKA rejestrowana jest w encji POPRZEDNIA WARTOŚĆ. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 56
Przykładowy model EER - opis Każdy SKŁADNIK MAJĄTKU może być użytkowany w pewnym MIEJSCU UŻYTKOWANIA, jednak w czasie istnienia danego SKŁADNIKA na uczelni może on zmieniać swoje MIEJSCE UŻYTKOWANIA. POPRZEDNIE MIEJSCE UŻYTKOWANIA jest encją, której zadaniem jest pamiętanie historii zmian tychże miejsc. Podobnie zamodelowane zostały: fakt odpowiedzialności materialnej danego PRACOWNIKA za dany SKŁADNIK MAJĄTKU oraz zmiany osób odpowiedzialnych zapisywane w encji POPRZEDNI OPIEKUN. Jeden SKŁADNIK w trakcie użytkowania może być poddany wielu NAPRAWOM. Każda NAPRAWA musi dotyczyć jednego i tylko jednego SKŁADNIKA. Każdy SKŁADNIKA MAJĄTKU może być w dowolny sposób klasyfikowany, dzięki możliwości przypisania mu RODZAJU SKŁADNIKA. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 57 Przykładowy model EER - opis SKŁADNIK MAJATKU może być zdjęty ze stanu uczelni z trzech powodów - albo w wyniku likwidacji, albo w wyniku nieodpłatnego przekazania poza uczelnię, albo w wyniku sprzedaży. Sposób pozbycia się SKŁADNIKA jest zamodelowany dzięki związkom z POZYCJĄ PROTOKOŁU LIKWIDACYJNEGO, encją PRZEKAZANIE POZA UCZELNIĘ oraz POZYCJĄ FAKTURY SPRZEDAŻY, objętych łukiem, czyli wykluczających się wzajemnie. Jeśli SKŁADNIK majątku został naczony do likwidacji, to jego stan techniczny powinien zostać określony i odnotowany w encji EKSPERTZA TECHNICZNA, natomiast każdy zlikwidowany SKŁADNIK musi być opisany w POZYCJI PROTOKOŁU LIKWIDACJI. Każda EKSPERTYZA TECHNICZNA musi być sporządzona rzeczoznawcę, którego w tym przypadku reprezentuje encja PODMIOT ORGANIZACYJNY. W szczególnych przypadkach ekspertyzy technicznej może dokonać PRACOWNIK uczelni wyznaczony Rektora. PROTOKÓŁ LIKWIDACJI musi zawierać co najmniej jedną POZYCJĘ, a z każdą POZYCJĄ musi być związany zapis o FORMIE FIZYCZNEGO USUNIĘCIA składnika, PRZYCZYNIE LIKWIDACJI oraz JEDNOSTCE MIARY. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 59 Przykładowy model EER Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 58 Przykładowy model EER - opis Jeśli składnik został nieodpłatnie przekazany poza uczelnię to fakt ten odnotowuje się w encji PRZEKAZANIE POZA UCZELNIĘ. Każdy SKŁADNIK może być przekazany tylko jeden raz poza uczelnię, a każde PRZEKAZANIE musi dotyczyć dokładnie jednego SKŁADNIKA. Każde przekazanie musi nastąpić do jednego PODMIOTU ORGANIZACYJNEGO, który jest nieodpłatnym nabywcą SKŁADNIKA. PODMIOT ORGANIZACYJNY może nabyć nieodpłatnie wiele PRZEKAZANYCH POZA UCZELNIE składników majątku. Jeśli SKŁADNIK MAJĄTKU został sprzedany, to znajduje się on się na jednej POZYCJI FAKTURY SPRZEDAŻY. Każda POZYCJA FAKTURY SPRZEDAŻY musi zawierać stawkę PODATKU VAT, JEDNOSTKĘ MIARY oraz znajdować się na jednej FAKTURZE SPRZEDAŻY, a ta musi rzecz jasna, posiadać co najmniej jedną POZYCJĘ. POZYCJA musi dotyczyć albo SKŁADNIKA MAJĄTKU, albo MATERIAŁU (związki objęte łukiem). MATERIAŁ może pojawić się na POZYCJI FAKTURY wiele razy. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 60
Przykładowy model EER - opis Każdą FAKTURĘ SPRZEDAŻY trzeba wystawić dla jednego PODMIOTU ORGANIZACYJNEGO, ale ten może otrzymać wiele FAKTUR. Każda FAKTURA SPRZEDAŻY musi być sporządzona PRACOWNIKA uczelni, musi mieć określoną FORMĘ PŁATNOŚCI oraz w razie potrzeby rachunek bankowy, na który należy przelać należność. Rachunek bankowy jest w tym przypadku opisany numer KONTA, który musi być związany z jednym BANKIEM. Oczywiście, uczelnia w danym BANKU może posiadać wiele KONT, a każde KONTO może być związane z wieloma FAKTURAMI SPRZEDAŻY. FAKTURY SPRZEDAŻY muszą mieć określony RODZAJ np. faktura VAT, rachunek uproszczony. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 61 Własności atrybutów ograniczenia integralnościowe Unikalność uniemożliwia nadanie tej samej wartości atrybutowi (lub kombinacji atrybutów) w dwóch lub większej liczbie wystąpień encji. Notacja: # nazwa_projektu Zawężenie dziedziny wartości nakłada dodatkowe ograniczenie na wartości przyjmowane dany atrybut za pomocą złożonych wyrażeń i odwołań do innych atrybutów. Przykład: check( day(data_wypłaty) <> 'niedziela' ) check( data_zakończenia > data_rozpoczęcia ) Dynamika wartości nakłada ograniczenie na kolejność wartości przyjmowanych dany atrybut Przykład: kawaler żonaty wdowiec Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 63 Własności atrybutów ograniczenia integralności Dziedzina wartości nakłada ograniczenie, z jakiego przedziału wartości i jakiego typu wartości, mogą być przyjmowane dany atrybut. Notacja: nazwa_projektu - VARCHAR(25) wynagrodzenie - NUMBER(8,2) Obligatoryjność nakłada ograniczenie, że dla wszystkich wystąpień encji wartości danego atrybutu muszą być określone. Notacja: (Opcjonalność) * nazwisko o drugie_imię Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 62 Relacyjny model danych Model danych relacyjnych baz danych charakteryzuje się trzema podstawowymi składowymi: relacyjnymi strukturami danych, dostępnością operatorów algebry relacyjnej, umożliwiających tworzenie, przeszukiwanie i modyfikowanie danych, ograniczeniami integralności, jawnie lub niejawnie określającymi możliwe wartości danych Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 64
Relacyjny model danych pojęcia podstawowe Relacja, oznaczana dalej R, jest podstawową formą organizacji danych w bazie danych. Przykładowe rodzaje danych: Nazwisko, Imię, Wiek, Pensja itp. - w teorii relacyjnych baz danych rodzaj danych nazywa się atrybutem i jest oznaczany A j. Z każdym atrybutem jest związany zbiór wartości - Zbiór wszystkich możliwych wartości atrybutu A j jest nazywany domeną i oznaczany dom(a j ). Zbiór wybranych atrybutów A 1,...,A n jest nazywany schematem relacji i oznaczany S(A 1,...,A n ). Pracownicy (Nazwisko, Imię, Wiek, Pensja) Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 65 Relacyjny model danych pojęcia podstawowe- cd nr_indeksu imię nazwisko typ_ uczelni pole 12358 Celina Arbuz U wartość krotka 12362 Anastazja Iksińska U relacja atrybut Przykładowa relacja Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 67 Relacyjny model danych pojęcia podstawowe- cd Dla danego schematu relacji ciąg wartości jego atrybutów nazywa się krotką i oznacza t. <Kowalski, Jan, 35, 2200> Formalnie: dla danego schematu relacji S(A 1,...,A n ) krotką nazywa się ciąg wartości <a 1,...,a n > takich, że a 1 dom(a 1 ),..., a n dom(a n ). Relacją R określoną na danym schemacie relacji nazywa się skończony zbiór krotek. Formalnie R(A 1,...,A n ) = { < a 1,...,a n >: a 1 dom(a 1 ),..., a n dom(a n ) }, gdzie R(A 1,...,A n ) jest relacją określoną na schemacie relacji S(A 1,...,A n ). Atrybut A j relacji R i będziemy dalej oznaczać R i.a j. Liczbę atrybutów występujących w schemacie relacji nazywamy krotnością relacji. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 66 Relacyjny model danych pojęcia podstawowe- cd Relacja ujęcie nieformalne: Relacja jest skończonym zbiorem krotek (ang. tuples), posiadających taką samą strukturę (schemat) i różne wartości, przedstawianych w postaci wierszy tablicy. Każda krotka zawiera wartość co najmniej jednego atrybutu o określonej dziedzinie, przedstawianego w postaci kolumny tablicy. Każda relacja charakteryzuje się następującymi własnościami: wszystkie jej krotki są różne, jej atrybuty są różne, kolejność krotek nie ma znaczenia, kolejność atrybutów nie ma znaczenia, wartości atrybutów są atomowe. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 68
Relacyjny model danych pojęcia podstawowe- cd Strukturą pochodną w stosunku do relacji jest tzw. perspektywa (ang. view), charakteryzująca się następującymi cechami: ogranicza zakres dostępnych danych do atrybutów i krotek określonych w definicji perspektywy; jest definiowana na bazie co najmniej jednej relacji lub innej perspektywy; jest pamiętana w systemie wyłącznie w postaci swojej definicji. relacja perspektywa Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 69 Operacje relacyjne Algebra relacji Operacje algebry relacji działają na jednej lub wielu relacjach, a ich wynikiem jest relacja. Wyróżnia się następujące operacje: selekcji, umożliwiający wybór krotek relacji spełniających określone warunki, projekcji, umożliwiający okrojenie relacji do wybranych atrybutów, połączenia, umożliwiający łączenie krotek wielu relacji, klasyczne operatory teorii mnogości, jak suma mnogościowa, iloczyn kartezjański itp. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 71 Relacyjny model danych pojęcia podstawowe- cd Perspektywy cd. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 70 Operacje relacyjne Selekcja Operacja selekcji umożliwia pobranie krotek relacji spełniających określony warunek. Operacja ta jest nazywana także poziomym podzbiorem. nr_indeksu imię nazwisko typ_ uczelni 12358 Celina A rbuz U 12362 A nastazja Iksińska U Warunek selekcji 12358 Celina Arbuz U 12362 A nastazja Iksińska U Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 72
Operacje relacyjne Selekcja Przeznaczenie: wyodrębnienie podzbioru krotek relacji, które spełniają warunek selekcji Notacja: σ <warunek selekcji> (<Nazwa_relacji>) gdzie warunek selekcji jest zbiorem predykatów postaci: <nazwa atrybutu> <operator relacyjny> <nazwa atrybutu> połączonych arbitralnie operatorami logicznymi: AND lub OR Zbiór operatorów relacyjnych zawiera następujące elementy: {=,, >, <,, } Przykład: σ płaca > 1000 (Pracownicy) SQL: SELECT * FROM nazwa_tabeli WHERE <warunek_selekcji> Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 73 Operacje relacyjne Projekcja Przeznaczenie: wyodrębnienie wybranych atrybutów relacji Notacja: Π <lista atrybutów> (<Nazwa_relacji>) gdzie lista atrybutów jest podzbiorem atrybutów ze schematu relacji SQL: SELECT nazwy(a)_kolumn(y) / * FROM nazwa_tabeli; Przykłady: Π Nazwisko, Etat (Pracownicy) Π Id_Pracownika, Nazwisko (Pracownicy) Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 75 Operacje relacyjne Projekcja Projekcja umożliwia pobranie wartości wybranych atrybutów z wszystkich krotek relacji. Operacja ta jest także nazywana pionowym podzbiorem. nr_indeksu imię nazwisko typ_ uczelni 12358 Celina Arbuz U 12362 Anastazja Iksińska U Lista atrybutów 12358 Arbuz 12362 Iksińska Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 74 Operacje relacyjne Połączenie Operacja ta polega na konkatenacji krotek dwóch (lub więcej) relacji z zastosowaniem określonego warunku połączenia. Wynikiem połączenia jest podzbiór iloczynu kartezjańskiego relacji. nr_indeksu imię nazwisko typ_ uczelni P P typ_ uczelni P U nazwa Politechnika Uniwersytet 12358 Celina Arbuz U A Akademia P 12362 Anastazja Iksińska U A Celina Arbuz Uniwersytet Anastazja Iksińska Uniwersytet Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 76
Operacje relacyjne Połączenie Przeznaczenie: łączenie na podstawie warunku połączeniowego wybranych krotek z dwóch relacji w pojedynczą krotkę relacji wynikowej. Notacja: operacja połączenia relacji R (A1,..., An) i S (B1,..., Bm) jest oznaczana jako: R <warunek połączeniowy> S gdzie warunek połączeniowy jest zbiorem predykatów połączonych operatorami logicznymi AND. Predykaty są postaci: Ai Θ Bj, gdzie Ai i Bj są atrybutami połączeniowymi, i Ai jest atrybutem R, a Bj jest atrybutem S, dom(ai) = dom (Bj), i Θ jest jednym z operatorów relacyjnych {=,, >, <,, }. Ogólna postać operacji połączenia, gdzie Θ jest dowolnym operatorem relacyjnym jest nazywana połączeniem typu THETA Operacja połączenia, dla której Θ jest operatorem = nazywa się połączeniem równościowym. SQL: SELECT * FROM nazwy_tabel WHERE <warunek_połączeniowy> Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 77 Operacje relacyjne Połączenie zewnętrzne cd. Połączenie zewnętrzne prawostronne Notacja: operacja połączenia zewnętrznego prawostronnego relacji R (A1,..., An) i S (B1,..., Bm) jest oznaczana jako: R <warunek połączeniowy> S oznacza, że w relacji wynikowej znajdą się krotki odpowiadające wszystkim krotkom relacji S (prawostronnej). Połączenie zewnętrzne dwustronne Notacja: operacja połączenia zewnętrznego dwustronnego relacji R (A1,..., An) i S (B1,..., Bm) jest oznaczana jako: R <warunek połączeniowy> S oznacza, że w relacji wynikowej znajdą się krotki odpowiadające wszystkim krotkom relacji S i relacji R. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 79 Operacje relacyjne Połączenie zewnętrzne Przeznaczenie: łączenie na podstawie warunku połączeniowego wybranych krotek z dwóch relacji w pojedynczą krotkę relacji wynikowej w wypadku gdy danej krotce relacji nie odpowiada żadna krotka drugiej relacji, krotka ta jest łączona z krotką pustą. Połączenie zewnętrzne lewostronne Notacja: operacja połączenia zewnętrznego lewostronnego relacji R (A1,..., An) i S (B1,..., Bm) jest oznaczana jako: R <warunek połączeniowy> S oznacza, że w relacji wynikowej znajdą się krotki odpowiadające wszystkim krotkom relacji R (lewostronnej). Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 78 Operacje relacyjne Połączenie zewnętrzne cd. Przykład: Pracownicy Zespoły IdPrac Imię Nazwisko Szef IdZesp 100 Jan Kupiec 10 110 Alojzy Piórko 100 10 120 Edmund Wlazło 100 20 Pracownicy <Szef=IdPrac> Pracownicy IdPrac Imię Nazwisko Szef IdZesp IdPrac Imię Nazwisko Szef IdZesp 100 Jan Kupiec 10 110 Alojzy Piórko 100 10 100 Jan Kupiec 10 120 Edmund Wlazło 100 20 100 Jan Kupiec 10 Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 80
Operacje relacyjne Składanie operacji Sekwencja wielu operacji, w której kolejne operacje są wykonywane na pośrednich wynikach operacji poprzednich, może być zastąpiona pojedynczą operacją złożoną powstałą zagnieżdżenie operacji elementarnych W praktyce: operacja projekcji może być łączona z operacją selekcji. W tym przypadku pobierane są wartości atrybutów określonych projekcją wyłącznie z krotek spełniających warunek selekcji. Warunek selekcji może dotyczyć dowolnych atrybutów relacji. Przykład: Sekwencja operacji: PracownicyZesp10 σ Id_Zesp = 10 (Pracownicy) Wynik Π Id_Prac, Nazwisko (PracownicyZesp10) Może być zastąpiona operacją złożoną: Π Id_Prac, Nazwisko (σ Id_Zesp = 10 (Pracownicy)) Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 81 Operacje mnogościowe cd. Unia (Suma) Unia powoduje zsumowanie zbiorów krotek dwóch lub więcej relacji (bez powtórzeń). Warunkiem poprawności tej operacji jest zgodność liczby i typów atrybutów pobranych z relacji źródłowych. Przekrój (Iloczyn) Wynikiem przekroju jest iloczyn zbiorów krotek dwóch lub więcej relacji, tzn. zbiór krotek występujących jednocześnie w tych relacjach. Podobnie jak w przypadku sumy, warunkiem poprawności tej operacji jest zgodność liczby i typów atrybutów pobranych z relacji źródłowych. Różnica Operacja ta polega na pobraniu krotek występujących wyłącznie w pierwszej relacji spośród relacji źródłowych. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 83 Operacje mnogościowe Iloczyn kartezjański Iloczyn kartezjański umożliwia konkatenację krotek dwóch (lub więcej) relacji w taki sposób, że każda krotka pierwszej relacji jest łączona z każdą krotką drugiej relacji R1 R2 A X B a b c A a A b A c B a B b B c Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 82 Integralność danych Repetytorium: baza danych modeluje określony fragment rzeczywistości. Modelowanie to jest poprawne wtedy, gdy w każdej chwili baza danych odzwierciedla jeden z możliwych stanów tej rzeczywistości mówimy, że baza danych jest w stanie spójnym. W celu zapewnienia spójności bazy danych, z zawartymi w niej obiektami kojarzy się pewne predykaty, których spełnienie ogranicza możliwości zmiany stanu obiektów. Należy zapewnić semantyczną zgodność informacji przechowywanych w bazie danych. Przykłady: Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 84
Integralność danych Ograniczenia kojarzone z obiektami bazy danych, nazywamy ograniczeniami (więzami) integralności (ang. integrity constraints) Ograniczenia integralności są predykatami, które powinny być spełnione określony podzbiór danych z bazy Jeśli odpowiednie ograniczenia są spełnione, oznacza to, że określona grupa informacji znajduje się w stanie spójnym. System zarządzania bazą danych musi czuwać nad tym, by po każdej modyfikacji zawartości bazy danych były nadal spełnione więzy integralności Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 85 Integralność danych Ograniczenie klucza podstawowego (głównego) relacji Wartości klucza głównego identyfikują krotki relacji i dlatego muszą być to wartości unikalne i nie mogą przyjmować wartości pustych. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 87 Integralność danych Ograniczenie na unikalność krotek relacji Każdy podzbiór SK atrybutów relacji R, taki że dla każdych dwóch krotek relacji prawdą jest, że t1 [ SK ] t2 [ SK ], jest nazywany nadkluczem (ang. superkey) relacji R. Każda relacja ma co najmniej jeden superklucz schemat relacji. SK = {STUDENT.NrIndeksu, Nazwisko, Wiek} Kluczem relacji R nazywamy taki nadklucz tej relacji, że żaden z jego podzbiorów nie jest nadkluczem. K = {STUDENT.NrIndeksu } Jeżeli relacja zawiera więcej niż jeden klucz, to są one nazywane kluczami potencjalnymi (ang. candidate key). Jeden z nich może pełnić rolę klucza głównego (podstawowego)(ang. primary key) relacji. Pozostałe są wtedy kluczami drugorzędnymi (wtórnymi). Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 86 Integralność danych Ograniczenia referencyjne Dane są relacje R1 i R2. Podzbiór FK atrybutów relacji R1 nazywany jest kluczem obcym R1 (ang. foreign key), jeżeli: 1. Atrybuty w FK mają taką samą dziedzinę jak atrybuty klucza (głównego) podstawowego PK relacji R2 ; 2. Dla każdej krotki t1 relacji R1 istnieje krotka t2 relacji R2, taka że: t1 [FK] = t2 [PK], lub t1 [FK] = null Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 88
Integralność danych Ograniczenia integralności krotki Są to więzy, które muszą być spełnione wszystkie krotki niezależnie. Wśród podstawowych wyróżnić należy: Zawężenie dziedziny atrybutu jawne wskazanie przedziału jego dopuszczalnych wartości, na przykład... Zawężenie dziedziny atrybutu jawne wskazanie listy możliwych wartości, na przykład... Więzy wyrażające związek pomiędzy atrybutami, na przykład...... Więzy dotyczące formatu wartości atrybutu, na przykład...... Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 89 Ograniczenia integralnościowe wbudowane Uporządkowanie krotek w relacji Krotki w relacji nie mają określonego porządku. Podczas przeglądania relacji można określić wiele alternatywnych porządków. Relacja STUDENT może być porządkowana według: nazwisk studentów, wieku, lub numerów indeksów. Wartości atrybutów relacji Wartości atrybutów są atomowe: proste i jednowartościowe. Identyfikacja krotek Krotki identyfikowane są jedynie po wartość. Lokalizacja krotki nie ma żadnego wpływu na jej tożsamość. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 91 Integralność danych Ograniczenia zbioru krotek Więzy tej klasy dotyczą krotek więcej niż jednej relacji. Zbiór wartości, które może przyjmować pewien atrybut relacji R1 musi być ograniczony do wartości określonego atrybutu relacji R2. Więzy statyczne a dynamiczne statyczne atrybuty, z którymi są związane, muszą spełniać te więzy w każdej chwili pracy systemu dynamiczne są związane z przejściem bazy danych z jednego stanu do drugi Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 90 Kierunki rozwoju systemów baz danych Zarządzanie danymi czas rzeczywisty Aplikacje wieloprocesorowość 4GL rozproszenie COBOL wielodostęp FORTRAN Modele danych sieciowy hierarchiczny relacyjny postrelacyjny obiektowy obiektowo - relacyjny Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 92
Kierunki rozwoju systemów baz danych Relacyjne Obiektowe Postrelacyjne Rozproszone Sfederowane Wielo-bazy Rozszerzalne Aktywne Relacyjno - obiektowe Dedukcyjne Mobilne Przestrzenne Multimedialne Magazyny danych Czasu rzeczywistego Temporalne Aktywne Dedukcyjne Temporalne Multimedialne.... Zaawansowane systemy baz danych Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 93 Postrelacyjne systemy baz danych Próba rozszerzenia relacyjnego modelu danych o elementy ułatwiające modelowanie z natury coraz bardziej skomplikowanej rzeczywistości Model danych jest nadzbiorem koncepcji stosowanych w klasycznym modelu relacyjnym Systemy postrelacyjne najczęściej są tworzone od podstaw, lecz wzbogacenie określonych systemów relacyjnych Przykład: system POSTGRES rozszerzenie systemu INGRES Systemy postrelacyjne są próbą odparcia bardzo mocnej konkurencji ze strony obiektowych baz danych Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 95 Obiektowe bazy danych Próby zastosowania w latach osiemdziesiątych systemów baz danych do systemów komputerowego wspomagania projektowania - CAD/CAM, systemów wspomagania inżynierii oprogramowania - CASE, systemów zarządzania sieciami komputerowymi, systemów kartograficznych i medycznych zaowocowały obiektowymi systemami baz danych. Obiektowe systemy baz danych są oparte na obiektowozorientowanym modelu danych (ang. object-oriented data model), w którym kluczowym pojęciem jest pojęcie obiektu, który integruje strukturalne i operacyjne własności modelu danych. Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 94 Magazyny danych i technologia OLAP czas miejsce 1997-123 512 987 1996-1995 - 98 389 57 123 41 - Ameryka - Europa - Azja TV Audio Photo towar Przyklad danych wielowymiarowych Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 96
Multimedialne bazy danych Telewizja interaktywna Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 97 Mobilne systemy baz danych - Zastosowania militarne Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 99 Przestrzenne bazy danych Mapa Polski zaimplementowana w klasycznej relacyjnej bazie danych zajmowałaby ok. 20 GB. Teren kraju podzielony na kwadraty o rozmiarach 100 x 100 m - w bazie danych współrzędne kwadratów plus zestaw atrybutów charakteryzujących taki obszar. Czy klasyczne relacyjne bazy danych są odpowiednio efektywnym narzędziem do przetwarzania tego typu danych? NIE A więc co? Przestrzenne bazy danych (ang. Geographical Information Systems) Systemy baz danych Pojęcia podstawowe, Model EER, Relacyjny model danych Zbyszko Królikowski 98