1 Informatyczne Systemy Zarządzania Wykład 3: Projektowanie relacyjnych BD (56 slajdów) Wykładowca: Prof. Anatoly Sachenko Ogólny zarys wykładu Etapy projektowania System analizujący dziedzinę zastosowania Modelowanie BD Model związków encji Model relacyjny Wybór Systemem zarządzania bazą danych (DBMS) Projektowanie logiczne (model pojęciowy) Projektowanie fizyczne 2 Etapy projektowania - cykl życia Bazy Danych Główne etapy cyklu życia BD to: Projekt BD Projekt formularza Wdrażanie BD Opracowanie narzędzi do administrowania DB Użytkowanie BD Proces projektowania BD jest sekwencją zmian od nieformalnego, werbalnego zapisu struktury informacyjnej dziedziny danego problemu, do sformalizowanego opisu przedmiotu dziedziny zainteresowania w odniesieniu do jakiegoś modelu 3 Etapy projektowania – dwa spojrzenia System analizujący dziedzinę zastosowania Modelowanie BD Projektowanie konceptualne wybór DBMS Projektowanie logiczne (model pojęciowy) Projektowanie fizyczne (model nadający się do implementacji) Projektowanie logiczne (model pojęciowy) Projektowanie fizyczne (model nadający się do implementacji) 4 System analizujący dziedzinę zainteresowania - podejście funkcjonalne Podejście funkcjonalne opiera się na zasadzie przepływu “od zadania” jest to wprowadzane z czyn gdy działania jakiejś grupy użytkowników i złożone zadania są znane uprzednio BD jest projektowana dla utrzymania obu powyższych W tym przypadku możemy dokładnie wybrać niezbędny, minimalny zbiór obiektów z dziedziny wiedzy, która musi zostać opisana 5 System analizujący dziedzinę zainteresowania - podejście funkcjonalne Podejście funkcjonalne stosowane jest gdy potrzeby informacyjne przyszłych użytkowników BD nie są dokładnie ustalone Powyższe potrzeby mogą być wielowymiarowe oraz wysoce dynamiczne Nie możemy ustalić dokładnie minimalnego zbioru obiektów które maja być opisane w danej dziedzinie W tym przypadku opisanie dziedziny zawiera najbardziej typowe obiekty i powiązania BD nazywana jest przedmiotową BD i może być wykorzystywana do różnorodnych problemów które zostały wstępnie zdefiniowane Zaprojektowana 6 7 System analizujący dziedzinę zainteresowania (c.d.) System analizujący powinien zakończyć się: Szczegółowym opisem informacji dotyczących obiektów należących do dziedziny zainteresowania Sformułowaniem charakterystycznych zadań, rozwiązaniu których służyć ma BD oraz krótkim opisem algorytmu rozwiązania tego zadania Opisem dokumentów wyjściowych, które system powinien stworzyć Opisem dokumentów wejściowych stanowiących przyszłą bazę - danych wejściowych do BD 8 System analizujący dziedzinę zainteresowania - przykład Wymagany jest rozwój systemu informatycznego obsługującego wypożyczanie oraz zwroty książek z biblioteki Wewnątrz biblioteki książki mogą posiadać unikalny, systemowy numer i nazwę Każda książka w bibliotece może mieć kilka kopii; ponadto cechują ją następujące parametry: Unikalny kod Nazwa Nazwisko autora Miejsce wydania Wydawnictwo Rok wydania Ilość stron Cena Ilość kopii dostępnych w bibliotece 9 System analizujący dziedzinę zainteresowania – przykład (c.d.) System powinien udostępnić systematyczny katalog Bibliotek posiada indeks kart czytelników ; każdy czytelnik zostaje zarejestrowany na podstawie następujących informacji : Nazwisko, imię, drugie imię Adres domowy Nr telefonu Data urodzenia Użytkownicy mogący korzystać z systemu: Czytelnicy Bibliotekarze Pracownicy administracyjni biblioteki 10 System analizujący dziedzinę zainteresowania – przykład (c.d.) Bibliotekarz powinien potrafić: Wpisywać/wypisywać czytelników, oraz wypożyczane przez nich książki Przyjmować nowe książki, rejestrować je w bibliotece, przypisywać je odpowiednim dziedzinom wiedzy to conduct books cataloguing and book removing Czytelnik może: Przeglądać katalog systemowy – listę wszystkich dostępnych w bibliotece książek, zgodnie z dziedzina wiedz Otrzymać kompletną listę książek biblioteki wewnątrz wybranej dziedziny wiedz Dla wybranych książek: Otrzymać an nr indeksów dostępnych kopii , OR Otrzymać informację o barku dostępnej książki, i Uzyskać informacje o najbliższym terminie zwrotu Pracownicy administracyjni biblioteki mogą: Wyszukiwać informacje o dłużnikach, mało popularnych książkach, System analizujący dziedzinę zainteresowania – przykład (c.d.) powinien zastrzegać następujący limit informacji: System Książka nie może być bez autora Czytelnik biblioteki nie może mieć mniej niż 17 lat, a książki opublikowane nie wcześniej niż w roku 1960 Każdy czytelnik może wypożyczać nie więcej niż 5 książek, i tylko po jednym egzemplarzu każdej z nich Każdy czytelnik musi w trakcie rejestracji podać nr telefonu : domowy lub służbowy Każda dziedzina zainteresowania może odnosić się jednocześnie do wielu książek każda książka z osobna może być związana z wieloma dziedzinami zainteresowań 11 12 Modelowanie – Model związków encji związków encji (ER model ) opisuje dane za pomocą encji, atrybutów i relacji Powstały w 1976 roku – twórca: Peter Pin Shan Chen zaproponował on metodę diagramowania nazywaną Diagramami Związków Encji (ERD), która wkrótce została przyjęta ERD wykorzystuje: prostokąty do opisu encji elipsy dla atrybutów, oraz romby reprezentujące relacje Model 13 Model związków encji – prezentacja graficzna 14 Model związków encji – inna prezentacja graficzna Encje Atrybuty Związki 15 Model związków encji – definicja encji to" coś co istnieje (obiekt), co odróżnia się od innych, o czym trzeba mieć informację“ - Peter Chen Encja Tak więc encją może być osoba, miejsce, obiekt, zdarzenie, lub pojęcie o którym chcemy przechowywać dane Każdy zbiór encji powinien mieć unikalną nazwę, która powinna przedstawiać typ lub kategorię rzeczy, a nie przykład Kilka przykładów zawierających encje: Encją dla osoby może być PRACOWNIK, WETERYNARZ lub STUDENT Encja miejsca- STAN lub PAŃSTWO Encja obiektu- BUDYNEK, SAMOCHÓD lub PRODUKT Encja pojęcia- DZIEDZINA Model związków encji – definicja relacji – są powiązane binarnie co pokazuje jak encje są zrelacjonowane lub jak ze sobą współdziałają Relacje może istnieć pomiędzy różnymi encjami lub w jednej encji (związek rekurencyjny) Pokazuje to jak poszczególne wystąpienia encji są ze sobą zrelacjonowane Rodzaje relacji pomiędzy encjami Relacje 1:1 ("jeden do jeden") — encji odpowiada dokładnie jedna encja 1:M ("jeden do wielu") — encji odpowiada jedna lub więcej encji M:M ("wiele do wielu") — jednej lub więcej encjom odpowiada jedna lub więcej encji. 16 Model związków encji – relacja jeden-do-jeden nazywamy jeden-do-jeden, gdy któreś z wystąpień encji X może być kojarzony tylko z jednym wystąpieniem encji Y. Przyjmuje się, że jest tylko jedna osoba w biurze, jest to relacja jeden-do-jeden pomiędzy biurem a pracownikiem Relacje 17 Model związków encji – relacja jeden-do-wielu Relacje nazywamy jeden-do-wielu, gdy pojedyncze wystąpienie encji może być kojarzone z wieloma wystąpieniami kolejnych encji Zakłada się, ze jest tylko jeden budynek w którym znajduje się kilka biur, jest to relacja jeden-dojeden pomiędzy budynkiem a biurem 18 Model związków encji – relacja wiele-do-wielu 19 rzeczywistym świecie istnieje mnóstwo przykładów relacji wiele-do-wielu Student uczestniczy w wielu kursach; w każdym kursie uczestniczy wielu studentów Klienci kupują w wielu sklepach; w każdym sklepie jest wielu klientów W Model związków encji – relacja wiele-do-wielu (c.d.) Relacja wiele-do-wielu nie może być przedstawiona bezpośrednio w relacyjnej bazie danych Zamiast tego, stosuje się moduły relacji pośredniczących o relacji jeden-do-wielu z każdym z autentycznych uczestników Taka relacja pośrednicząca jest zazwyczaj nazywana tabelą krzyżową 20 Model związków encji – przykład “biblioteka” krokiem jest wybór encji Wybieramy encję «książka», każda książka posiada unikalny kod, który będzie kluczem podstawowym Każde wystąpienie encji«książka» odzwierciedla opis książki znajdujący się w katalogu systemowym, (nie określona książka) Aktualnie w bibliotece może znajdować się kilka kopi książki, dlatego też tak ważne jest przypisanie warunku encji «egzemplarz» Kolejne wystąpienia encji «egzemplarz» odzwierciedla określony dla każdej książki unikalny numer inwentarza Pierwszym 21 Model związków encji – przykład “biblioteka” (c.d.) Pomiędzy encjami «książka» i «egzemplarz» występuje relacja 1:M, obowiązująca dla obu stron Międzynarodowy Znormalizowany Numer Książki ISBN jest unikalny dla jednej edycji książki , ale może istnieć więcej niż jedna kopia danej książki w bibliotece Jeżeli książka jest opisana w encji «książka», to co najmniej jedne wystąpienie tej książki przypisane jest encji «egzemplarz» W innym przypadku książka nie jest przypisana warunkowi encji «książka» Inaczej, jeżeli książka przedstawiona jest w encji «egzemplarz», powinna być opisana również w encji «książka» 22 Model związków encji – przykład “biblioteka” (c.d.) na temat czytelników znajdują się pod warunkiem encji «czytelnik» Informacje każde wystąpienie tej encji będzie przypisane określonemu czytelnikowi Dla identyfikacji czytelników, przypisane są im unikalne numery ID ID będzie kluczem podstawowym dla encji «czytelnik» Dodatkowymi atrybutami encji «czytelnik» jest np.: “imię” i “nazwisko”, “adres czytelnika”, “telefon domowy” lub “telefon do pracy” Każdy czytelni może mieć kilka książek w tym samym czasie Numer 23 Model związków encji – przykład “biblioteka” (c.d.) sytuacji wypożyczanie/zwrot książek powinna być tworzona przez relacje pomiędzy encją <<czytelnik>> a <<egzemplarz>> Reprezentacja typ takiej relacji to 1:M (nie wymagane dla obu stron): czytelnik w pewnym momencie może nie mieć wypożyczonych książek z drugiej strony, przykładowe książki mogą nie być wypożyczane przez czytelników 24 25 Model związków encji – przykład “biblioteka” (c.d.) Katalog systemowy zawiera listę wszystkich obszarów ekspertyz problemowych dla książek w bibliotece. Będzie to zaprezentowane w encji <<katalog>> Tytuł obszary ekspertyz problemowych może być zbyt długi, więc przedstawimy dwa przypisy (opisy) Kod obszarów ekspertyz problemowych oraz <<tytuł dziedziny zainteresowania>> atrybut dziedzina zainteresowania będzie kluczem podstawowym używając dodatkowego polaczenia «egzemplarz» i «książka» możemy w każdym czasie ustalić które dokładnie książki są wypożyczone przez którego czytelnika. 26 Model związków encji – przykład “biblioteka” (c.d.) Każda książka może zawierać informacje z wielu dziedzin zainteresowania oraz są też dziedziny zainteresowania zawierające wiele książek Więc związek między encjami <<katalog>> i <<książka>> jest M:M, obowiązkowy dla obu stron. 27 Model związków encji – przykład “biblioteka” (c.d.) Books Readers ISBN Title Author Publisher Publishing place Publishing date Number of pages # of library ticket Name Birth date Sex Home phone Work phone Have a book Have info. from Information is in System Catalog Knowl. area code Title of knowl. area Exemplar Relate to Change in Inv. number Presense in library Date in Date out Have Is in Model stosunkowy - Przekształcenie Zasad modelu ER w relacyjne Każda jednostka modelu ER (relacja encji) odpowiada jednostce modelu podrzędnego. Każdy tytuł powinien być po łacinie, bez odstępów Każdy atrybut modelu ER staje się atrybutem właściwej jednostki w modelu podrzędnym. Tytuły powinny być w języku łacińskim, bez odstępów Atrybuty które należą do KLUCZA PODSTAWOWEGO przyjmują obowiązkową zasadę (NOT NULL- NIE ZERO) Każda podporządkowana encja jest dodawana do głównej encji co jest podstawowym kluczem encji głównej Ten zestaw atrybutów staje się obcym kluczem dla podporządkowanych encji Dla modelowania fizycznego poziomu atrybuty – które reprezentują obcy klucz – uzyskują: NULL- własność relacji obowiązkowej NOT NULL- w relacji nieobowiązkowej 28 Model stosunkowy - Przekształcenie Zasad modelu ER w relacyjne(Kontynuacja) Relacja Wiele-do-Wielu jest dopuszczana przez model ER Ale nie może być to przedstawione bezpośrednio w relacyjnej bazie danych. W tym przypadku jest to sposób stworzenia specjalnego mechanizmu pozwalającego na mnożenie wielorakich łączy dla relacyjnego modelu przy pomocy dopuszczalnych kategorii Dlatego pomiędzy encjami <<KSIĄŻKA>> i <<KATALOG>> została stworzona tabela krzyżowa <<ZWIĄZEK>>, która posiada tylko dwa atrybuty: ISBN – numer książki i KW_COD – kod dziedziny zainteresowania Każdy atrybut nowej relacji jest KLUCZEM OBCYM atrybutów Obydwa atrybuty razem tworzą KLUCZ PODSTAWOWY dla tego związku 29 Relacyjny model "biblioteki" 30 Wybór DBMS - główne kryteria Są następujące kryteria dla wyboru DBMS: Modelowanie danych Używany model danych procedury urachamiające i przechowujące Wyszukiwanie narzędzi Dotarczanie typów danych Realizacja pytań językowych Cechy architektury i funkcjonalne możliwości: Zmienność Skalowalność Pozycja dystrybucji Możliwości tworzenia sieci 31 Wybór DBMS - główne kryteria (kontynuacja) Kontrola nad układem pracy: Kontrola nad użyciem pamieci komputera Automatyczne strojenie Cechy dla rozwoju aplikacji Narzędzia projektowe Wielojęzykowe wsparcie Możliwości rozwoju podań bazujących na stronach internetowych Wspieranie oprogramowania językowego Wydajność: Klasyfikacja TPC (Transakcje procentowe) Możliwości równoległej architektury Możliwości optymalizacji wątpliwości 32 Wybór DBMS - główne kryteria (kontynuacja) Niezawodność: odnowienie po awarii rezerwowe kopie zmienne wycofanie Wielopoziomowy system zabezpieczeń Wymagania dla środowiska pracowniczego Pomocne programy komputerowe spełnienie minimalnych wymogów dotyczących sprzętu komputerowego Maksymalny rozmiar pamięci adresowej System operacyjny, w którym DBMS jest zdolny do pracy 33 DBMS - powszechne relacje DBMS Systemy DBMS: Oracle MySQL Microsoft SQL Server Microsoft Access PostgreSQL CSQL FrontBase DB2 Informix InterBase Microsoft Visual FoxPro, … 34 Logiczny projekt danych - dokumenty końcowe Projektowanie logiczne w relacyjnych bazach prowadzi do rozwoju bazy danych jest to pakiet schematów relacyjnych, które ostatecznie modelują: abstrakcyjne obiekty dziedziny Semantyczne łącza pomiędzy tymi obiektami wspólne dokumenty jako rezultat fazy logicznego projektu: Opis pojęciowego schematu w okresie selekcji DBMS Opis zewnętrznych modeli w okresie selekcji DBMS Opis oznajmujących zasad dla zintegrowanego wspierania DB Rozwój procedur wspierających semantyczną integrację DB 35 Logiczny projekt danych - dwa sposoby Projektowanie logiczne może odbywać się na dwa sposoby: dekompozycja (partycjonowanie) – gdy zbiór encji źródłowych- jako część bazy danych – jest zastępowanych przez zbiór innych encji (w tym przypadku jest to wzrost liczby) ostatnia jest zabezpieczeni em źródła encji synteza – droga prowadząca do zamontowania danego źródła elementarnej relacji pomiędzy obiektami schematu dziedziny bazy danych 36 Logiczny projekt danych - proces normalizacji Teoria normalizacji bazuje na analizie funkcjonalnych zależności pomiędzy powiązanymi atrybutami Normalizacja – jest techniką produkcyjną zestawu tabel z potrzebnymi własnościami, które wspierają wymagania użytkownika lub firmy Głównym celem relacyjnego projektu DB jest grupa kolumn w tabelach do zmniejszenia nadmiaru danych i redukcja przestrzeni magazynowej wymaganej przez bazowe tabele Główne cechy form normalnych: Każda kolejna forma jest lepsza niż poprzednia Kiedy zamienia się w kolejną normalną formę, własności poprzedniej zostają zachowane 37 Logiczny projekt danych - Formy Normalne Jest następujący porządek Formy Normalnej Pierwsza forma normalna (1NF ) Druga forma normalna (2NF) Trzecia (3NF) forma normalna Boyce-Codd'a (BCNF) Czwarta forma normalna (4NF) Piąta forma normalna (5NF lub PJNF) Schemat BD nazwany jest równoważnikiem jeśli: Zawartość początkowa BD może być zrobiona z naturalnych relacji złączy, które są włączone w schemat wynikowy i Nie pojawiają się tam nowe wiersze 38 Proces normalizacji – pełno funkcjonalna zależność funkcjonalna zależność zbioru atrybutów B dla encji R ze zbiorem atrybutów A tej samej encji jest odnotowana jako: R.A -> R.B lub A -> B oznacza to korelacje projekcji R[A] oraz R[B] gdzie żaden element projekcji R[A] nie koresponduje przez jakiś czas tylko z jednym elementem projekcji R[B] który nie jest częścią (razem z R[A]) żadnego wiersza w encji R funkcjonalna zależność R.A -> R.B jest nazywana zależnością pełną, jeżeli: zbiór atrybutów B jest funkcjonalnie zależny od A, oraz nie zależny to od żadnego podzbioru A, LUB (formalnie): żadne A1 ∈ A => R.A -/-> R.B, co należy czytać dla żadnego A1 należącego do zbioru A, R.B nie zależy funkcjonalnie od R.A w przeciwnym wypadku R.A -> R.B jest nazywane nie zero jeden 39 Proces normalizacji - Transitive Functional Dependency funkcjonalna zależność R.A -> R.B jest nazywana przechodnią zależnością zbiór atrybutów C istnieje, I: С nie jest podzbiorem А С nie wyklucza В funkcjonalna zależność R.A -> R.C istnieje funkcjonalna zależność R.C -> R.A nie istnieje funkcjonalna zależność R.C -> R.B istnieje 40 Normalization Process– Armstrong Axioms Funkcjonalne zależności BD stworzona na potrzeby uniknięcia nadmiaru reprezentacji, To zakładało liczbę zależności, które mogą być odejmowane od innych używając 3 maksym Armstronga: Zwrotność: Dopełnienie: If А->В , then АС->ВС Przechodność: If В is a subset of А, then А ->В If А->В and В->С , then А->С Zostało to aksjomatycznie udowodnione, wyczerpująco i gruntownie. Zbiór wszystkich możliwych wszystkich funkcjonalnych niezależności nazywany jest zamknięciem danego zbioru początkowego zbioru zależności funkcjonalnych 41 Proces normalizacji – Pierwsza normalna forma(1NF) 42 encja jest prezentowana w 1NF kiedy: podstawowe wartości atrybutów są w punktach przecinania się wszystkich kolumn i wierszy Tabela „plan zajęć” poniżej nie jest prezentowana w 1 NF Proces normalizacji – Pierwsza normalna forma(Continued) 43 By zredukować relację “plan” do 1 NF niezbędne jest uzupełnienie każdego rzędu w tabeli nazwiskiem wykładowcy prowadzącego Tabela “plan zajęć” poniżej jest prezentowana w 1 NF Druga normalna forma(2NF) - Definicja jest w 2 NF jeśli: Jest w 1 NF i Nie ma nieodpowiednich funkcjonalnych zależności niepodstawowym kluczem atrybutów a kluczem podstawowym Innymi słowy: Formalną definicją 2 NF jest jednostka, która jest w 1 NF i Każdy nie główny klucz jest w pełni funkcjonalnie zależny od podstawowego klucza Encja 44 Druga normalna forma(2NF) – Przykład Spójrzmy na encje pokazująca proces egzaminacyjny studentów struktura tej encji mogłaby by być opisana przez zbiór następujących atrybutów: (nazwisko, numer indeksu, grupa, przedmiot, ocena) kluczem podstawowym dla tej encji mógłby być (nr indeksu, przedmiot) jako unikalny dla każdego identyfikowanego wiersza encji z innej strony, atrybut nazwisko czy tez grupa, zależny jedynie od części klucza podstawowego – numer indeksu, tak wiec ta encji nie ma w pełni funkcjonalnie zależnych atrybutów Aby znormalizować ta encje do 2NF należny zaprojektować w niej dwie encje o pełnej funkcjonalne zależności od atrybutu klucza podstawowego (nr indeksu., Nazwisko, Grupa) oraz (nr indeksu, przedmiot, ocena) 45 Trzecia normalna forma(3NF) – Definicja jest w 3 NF jeśli: Jest w 1 NF i 2 NF i Nie posiada przejściowych zależności Innymi słowy: Formalną definicją 3 NF jest: encja należy do 3 NF jeśli należy do 1 NF i 2 NF i w której żaden nie-główny atrybut jest przejściowo zależny od głównej myśli Więc, to znaczy, że jednostka która jest w 1 NF i 2 NF I której wszystkie nie-główne kolumny mogą działać bez głównego atrybutu i innych atrybutów. Encja 46 47 Trzecia normalna forma (3NF) - Przykład Spójrzmy na encję która łączy studentów w zależne grupy , zdolności i specjalności na których oni studiują (Numer książki kredytowej, Imię i nazwisko, Grupa, Wydział, Specjalność i wydział ukończenia szkoły wyższej) Grupa studentów dokładnie określa fakultet gdzie student się uczy, jego specjalność i wydział ukończenia szkoły wyższej. Wydział ukończenia szkoły wyższej dokładnie określa fakultet gdzie studenci ukończyli wydział, na który uczęszczali Ale, jeśli jedna specjalność może być stworzona przez wiele wydziałów, wtedy specjalizacja nie określa wydziału ukończenia szkoły wyższej Trzecia normalna forma(3NF) - Przykład (Kontynuacja) W tym wypadku są funkcjonalne zależności: Numer książki kredytowej -> Imię i nazwisko Numer książki kredytowej -> Grupa Numer książki kredytowej -> Wydział Numer książki kredytowej -> Specjalizacja Numer książki kredytowej -> Wydział ukończenia szkoły wyższej Grupa -> Wydział Grupa -> Specjalizacja Grupa -> Wydział ukończenia szkoły wyższej Wydział ukończenia szkoły wyższej -> fakultet Te zależności tworzą grupę przechodnią. By temu zaprzeczyć proponowany jest zestaw w 3 NF (Numer książki kredytowej, Imię i nazwisko, Specjalizacja, Grupa) (Grupa, Wydział ukończenia szkoły wyższej) (Wydział ukończenia szkoły wyższej, Fakultet) 48 Projektowanie fizyczne – główne procedury Celem fizycznego projektu jest zmaksymalizowanie wyników bazy danych przez całe widmo zastosowań zapisanych w nim Zaczyna się gdy tabele zostały zdefiniowane i znormalizowane Skupia się na metodach magazynowania i dostępności tych tabel na dysku, umożliwiając bazie danych wysoką sprawność działania Fizyczny projekt DB zawiera zasady postępowania: wybór indeksów dzielenie gromadzenie wybór realizacji danych 49 Projektowanie fizyczne – powszechne definicje Logiczny zapis jest zbiorem pozycji danych albo atrybutów traktowanych jako elementy zastosowane przez program W pamięci, pewien zapis zawiera wskazówki i zapis ogólny potrzebny do identyfikacji i przetwarzania przez bazę danych zarządzania systemem. Plik jest kompletem podobnie skonstruowanych zapisów jednego typu i związanych tabel są typowo zmagazynowane jako akta Fizyczna baza danych jest zbiorem powiązanych zapisów różnego typu, możliwie wliczając w to pewien zbór powiązanych akt Pytanie i aktualizacja transakcji wobec bazy danych są wykonane skutecznie przez wprowadzone w życie pewne metody szukania jako część DBMS 50 Projektowanie fizyczne - Indeksy Indeks odpowiednio umieszcza zorganizowane dane by przyspieszyć ich wyszukiwanie w tabelach z danymi W DBMS , indeksy mogą być sporządzane specyficznie przez bazę danych zgłoszoną programiście przy pomocy SQL polecenia STWÓRZ … INDEKS … Typy indeksów: Unikalny indeks (zalecany) Nie unikalny indeks (drugorzędny) Grupowy indeks Niegrupowy indeks Indeks mieszany Blok adresowy Indeks w postaci mapy bitowej 51 Projektowanie fizyczne – materialny widok Kiedy jedna lub więcej tabel jest zakwestionowanych, wyniki mogą być zmagazynowane w zmaterializowanym widoku Poglądy w SQL są zmagazynowane jako definicje, lecz poglądy zmaterializowane są zmagazynowane jako tabele w DB, zupełnie jak wszystkie inne tabele Te rodzaje poglądów są bardzo pomocne (użyteczne) w poprawieniu prędkości (szybkości): Zapytania o dane, o które pytano często wcześniej, lub zapytania oparte na zbiorach danych, które mogą być budowane na zmaterializowanych poglądach, wobec odpowiedzi na pytania, zamiast przymusu cofania się za każdym razem do pierwotnych danych Potencjalnie dużo z pytań może być zrozumianych jeśli ten właściwy komplet zmaterializowanych poglądów jest zmagazynowany, co oszczędzi nam czas. Wadą jest zwykle niemożliwy do zmagazynowania zapas wszystkich możliwych poglądów z powodu limitu przestrzeni magazynowej i problemu wielorakich aktualizacji, które czynią użycie zmaterializowanych poglądów mniej wydajnym. To musi być wzięte pod uwagę w ich oznaczeniu i użyciu 52 Projektowanie fizyczne partycjonowanie i dzielenie wielowymiarowe 53 Partycjowanie w fizycznym projekcie BD jest pewną metodą redukcji obciążenia pracy wszelkich sprzętów wchodzących w skład komputera, jak np. indywidualny dysk , poprzez dzielenie (podzielenie się) danych na kilka dysków. W partycjowanie rzędów , dane przypisane wartości są sortowane, a dziedziny wartości są wybierane, więc każdy rząd ma obowiązkowo tą samą liczbę zapisów. dokumentacja w pewnym ustalonym rzędzie jest alokowana na specyficznym dysku dokumentacja ta może być rozpatrywana niezależnie od innych dziedzin To jest technika (metoda działania) według której dane mogą być skupione przez: Wielkości (rozmiary), tak jak lokalizacja ramę czasową typ produktu Projektowanie fizyczne – pozostałe metody Inne sposoby poprawy dostepnosci do danych BD Kompresja danych pozawla to na umieszczenie większej ilości danych w przestrzeni dyskowej i przyspiesza dostęp do danych oraz ich skanowanie Segmentacja danych jest to sposób szczegółowego dopasowania do architektury przestrzeni dyskowej - jak RAID (Redundant Arrays of Independent Disks – zbyteczne przestrzenie niezależnego dysku), gdy dane mogą być udostępniane równolegle, w zorganizowany sposób na dyskach wymiennych. Redundacja danych (jak odbicie lustrzane) dane są kopiowane (tworzone duplikaty) na inne dyski 54 55 Bibliografia Lecture Notes. Database (e-version). Based on a book by T.S. Karpova. Database: Models, Development, Implementation. (in Russian). S.Pitersburg. Piter. 2002, 304p., (translated and edited by Anatoly Sachenko) C.J. Date. An Introduction to Database Systems. AddisonWesley, Copyright , 1024 p., 2003 Rebecca M. Riordan. Designing Effective Database Systems . Addison Wesley Professional. 384 p., 2005 By Michael J. Hernandez. Database Design for Mere Mortals™: A Hands-On Guide to Relational Database Design, Second Edition. Addison Wesley. 672 p., 2003 56 Bibliografia (kontynuacja) Thomas Connolly, Carolyn Begg. Database Systems: A Practical Approach to Design, Implementation, and Management. 3rd Edition. Addison Wesley. 1236 p., 2001 Sikha Bagui and Richard Earp. Database Design Using EntityRelationship Diagrams. Auerbach Publications, 242 p., 2003 Sam Lightstone, Toby Teorey, and Tom Nadeau. Physical database design : the database professional’s guide to exploiting indexes, views, storage, and more Kisielnicki J., Sroka H.: Systemy informacyjne biznesu. Informatyka dla zarządzania. Metody projektowania i wdrażania systemów. A.W. „Placet”, Wwarszawa 1999 r. Dobson R.: Programowanie Microsoft Access 2000. Wydawnictwo RM, Warszawa 2000. Beynon-Davies P.: Systemy baz danych. WNT, Warszawa 2000. 57 Bibliografia (kontynuacja) Andrzejewski M., Chudzicki M., Nowosielska G.: Materiały pomocnicze do projektowania aplikacji bazodanowych. Wydawnictwo Politechniki Śląskiej, Gliwice 2003. Microsoft Official Curriculum: MS #2072: Administering a Microsoft SQL Server 2000 Database. Date C.J.: Wprowadzenie do systemów baz danych. WNT, Warszawa 2000. Internet: Strona domowa przedmiotu: http://www.roz6.polsl.pl/bazydanych. Internet: Portal wiedzy Katedry Informatyki i Ekonometrii http://www.roz6.polsl.pl/portalwiedzy. http://www.roz6.polsl.pl/asachenko/sutaa.html