Relacyjny model bazy danych
Transkrypt
Relacyjny model bazy danych
Model relacyjny. Relacyjny model bazy danych Relacyjny model bazy danych oparty jest na kilku prostych zasadach: 1. 2. 3. 4. Wszystkie dane w bazie przedstawiane są w formie tabel. Każda tabela reprezentuje zbiór podobnych obiektów ze świata rzeczywistego. Każda tabela zawiera jedną lub więcej kolumn (atrybutów reprezentowanych obiektów). Każda tabela zawiera zero lub więcej wierszy (krotki, rekordy). Wiersze reprazentują egzemplarze obiektów. 5. Każdy rekord ma identyczną strukturę, lecz może zawierać różne wartości. Przykładem tabeli relacyjnej bazy danych jest książka telefoniczna. Tabela 1. Przykładowa książka telefoniczna Abonent Telefon pogotowie ratunkowe 999 straż pożarna 998 policja 997 pogotowie energetyczne 991 Ćwiczenie 1: Ile tabela przykładowej książki telefonicznej (Tabela 1) ma atrybutów? Ile rekordów? W modelu relacyjnym dane przechowywane są w wielu odrębnych, ale powiązanych ze sobą tabelach. Na potrzeby porównania model baz danych możemy przyjąć, że w jednej tabeli powinno się zapisywać dane o obiektach jednego typu, np. wyłącznie informacje o znajomych czy firmach. Przekształcone do modelu relacyjnego informacje o zakupach pokazane zostały w tabelach poniżej: Nazwa sandały sznurowadła tanisówki Cena 120 zł 12 zł 57 zł ilość data_zakupu 2 12-11-2015 3 12-10-2014 1 03-09-2015 Dostawca ulica kod_pocztowy Dobry S.A. Handlowej 35-211 But S. A. Podkarpacka 35-200 Antek & Bazyl Lwowska 35-210 miejscowość Rzeszów Sanok Reszów telefon 178 525 252 172 525 252 178 256 465 Nazwa Cena sandały ilość data_zakupu Dostawca ulica kod_pocztowy miejscowość 35-211 120 zł 2 12-11-2015 Dobry S.A. Handlowej sznurowadła 12 zł 3 12-10-2014 But S. A. Podkarpacka 35-200 Sanok tanisówki 57 zł 1 03-09-2015 Antek & Bazyl Lwowska Reszów 35-210 Zaletą modelu relacyjnego jest zapobieganie tworzeniu duplikatów- teraz dane o poszczególnych sprzedawcach i nazwy towarów zapisane są tylko raz. Nie tylko zmniejsza to ilość przechowywanych w bazie informacji, ale również ułatwia ich modyfikowanie i wstawianie. Wadą modelu relacyjnego jest skomplikowane i wolne odczytywanie danych. Chcąc poznać komplet informacji na temat sprzedaży określonego produktu, musimy odczytać aż trzy tabele. W dodatku dane odczytywane z jednej tabeli należy właściwie połączyć z danymi odczytanymi z poszczególnych tabel – inaczej nie dowiemy się, u kogo i za ile kupiliśmy dany towar. W ten sposób otrzymaliśmy drugą charakterystyczną cechę modelu relacyjnego: dane są przechowywane w osobnych, ale powiązanych ze sobą tabelach. Te łączące tabele powiązania nazywa się relacjami. Żeby relacje były jednoznaczne, połączone nimi tabele muszą mieć klucze podstawowe, z zapisane w nich identyfikatory muszą być powtórzone w każdej z połączonych tabel. W innym przypadku nie byliśmy w stanie stwierdzić, u jakiego dostawcy, kiedy i za ile kupiliśmy dany towar. Kolumna, która zawiera identyfikator rekordu innej tabeli, nazywa się kluczem obcym. http://www.neurosoft.edu.pl/jbartman/BD-W2.pdf Model związków encji. Diagram związków encji lub Diagram ERD (od ang. Entity-Relationship Diagram) – rodzaj graficznego przedstawienia związków pomiędzy encjami używany w projektowaniu systemów informacyjnych do przedstawienia konceptualnych modeli danych używanych w systemie. Diagram pokazuje logiczne związki pomiędzy różnymi encjami, związki te mają dwie cechy: 1. Opcjonalność – która mówi o tym, czy każda encja musi, czy też może wystąpić równocześnie z inną. Np. TOWAR musi zostać zakupiony przez co najmniej jednego KLIENTA, ale KLIENT może być nabywcą TOWARU. W reprezentacji graficznej linia przerywana oznacza opcjonalność związku, natomiast ciągła wymóg związku. 2. Krotność – określającą ile encji wchodzi w skład związku: a. 1:1 ("jeden do jeden") – encji odpowiada dokładnie jedna encja, Rzeszów b. 1:N ("jeden do wielu") – encji odpowiada jedna lub więcej encji, c. M:N ("wiele do wielu") – jednej lub więcej encjom odpowiada jedna lub więcej encji. Więcej materiału: http://math.uni.lodz.pl/~antczak/bazy/pwsz/ERD.pdf Diagram Związków Encji - CELE 1 Zrozumienie struktury danych przetwarzanych w organizacji; Dostarczenie dokładnego modelu potrzeb informacyjnych przedsiębiorstwa, który stanowiłby podstawę do konstruowania nowych lub ulepszonych systemów; Dostarczenie modelu niezależnego od sposobu przetwarzania, przechowywania danych i dostępu do nich, umożliwiającego podejmowanie celowych decyzji, jeśli chodzi o metody implementacyjne i współdziałanie z istniejącymi systemami; Diagram Związków Encji - CHARAKTERYSTYKA Kolejnym krokiem w tworzeniu specyfikacji systemowej jest analiza i modelowanie struktury informacji. Do tej pory tworząc diagramy przepływu danych interesował nas jedynie sposób przepływu danych. Po pobraniu danych od obiektu zewnętrznego proces przetwarzał je a następnie buforował zapisując istotne z perspektywy działalności firmy dane do magazynów danych. Na diagramie DFD nie braliśmy pod uwagę struktury danych. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM - entity relationship model), którego graficznym odpowiednikiem jest diagram związków encji (ERD - entity relationship diagram). Diagram ten spotyka się w różnych notacjach, do których zaliczamy m.in. notacje Chena, Martina, Bachmana, IDEF1X. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji Diagram ERD przedstawia: 1. obiekty, o których informacje są istotne z punktu widzenia realizacji celów strategicznych firmy; 2. atrybuty obiektów; 3. związki pomiędzy obiektami. Wyodrębnione obiekty mogą być rzeczywiste lub mogą być pojęciami abstrakcyjnymi. Obiekty mające te same atrybuty łączy się w typy obiektów np. Towar, Klient, Dostawca, Zamówienie. 1 http://jjakiela.prz.edu.pl/erd.htm ENCJA ENCJA jest rzeczą lub obiektem mającym dla nas znaczenie, rzeczywistym bądź wyobrażonym, o którym informacje muszą być znane lub przechowywane. Graficzną reprezentacją ENCJI jest prostokąt z nazwą ENCJI zapisaną w liczbie pojedynczej. ZWIĄZEK ZWIĄZEK jest nazwanym, istotnym powiązaniem pomiędzy dwiema encjami. Związki przedstawiają zależności zachodzące pomiędzy obiektami. Każdy zwiazek ma dwa końce, z których każdy ma przypisane następujące artybuty nazwę; liczebność (jak wiele); opcjonalność (opcjonalny czy wymagany). Związek jest reprezentowany za pomocą linii łączącej dwie encje. Na powyższym schemacie jest przedstawiony najczęściej występujący związek jeden-do-wiele. PRZYKŁADY ZWIĄZKÓW KLIENT składa ZAMÓWIENIE Arność: Jeden do Jeden-lub-Wiele DOSTAWCA dostarcza TOWAR Arność: Wiele do Wiele KLIENT posiada NIP Arność: Jeden do Jeden (opcjonalnie) Związek NADTYP-PODTYP Związek nadtyp-podtyp obejmuje zwykle typ obiektu oraz jedną lub więcej podkategorii. Atrybuty nadtypu odnoszą się do wszystkich podtypów, natomiast atrybuty podtypów są unikalne w zakresie podtypu. Poniżej znajduje się przykład związku nadtyp-podtyp opisujący klienta w rozbiciu na klienta indywidualnego oraz instytucjonalnego. ATRYBUTY ATRYBUT jest dowolnym szczegółem służącym do kwalifikowania, identyfikowania, klasyfikowania, określania ilości lub wyrażania stanu ENCJI. Lub ATRYBUT jest dowolnym opisem mającym znaczenie dla ENCJI. ATRYBUT może być tekstem, liczbą, wartością logiczną lub obrazem. Przykład atrybutów ENCJI klient. Zasady tworzenia diagramów ERD Poniżej przedstawiona jest metoda tworzenia diagramów ERD jako proces składający się z pięciu kroków: Identyfikacja zbioru obiektów, o których informacje są istotne; o Identyfikację obiektów rozpoczynamy od wyodrębnienia kluczy głównych poszczególnych obiektów, czyli identyfikatorów jednoznacznie identyfikujących obiekt. Wyróżnione identyfikatory pozwalają na uformowanie wstępnej listy obiektów; Określenie związków zachodzących pomiędzy obiektami oraz rodzaju związków; Identyfikacja bezpośrednich zależności pomiędzy obiektami, które odzwierciedlają pewne reguły przyjęte w firmie. Należy zbadać istnienie bezpośrednich powiązań między wszystkimi parami obiektów w systemie; Identyfikacja atrybutów obiektów; o Po wyodrębnieniu istotnych obiektów oraz związków zachodzących pomiędzy nimi można uzupełnić opis obiektów identyfikując potrzebne atrybuty tzn. dane istotne dla firmy opisujące konkretny obiekt; Stworzenie wstępnego modelu pojęciowego; Sprawdzenie poprawności otrzymanej struktury. o Na podstawie zidentyfikowanych obiektów oraz powiązań między nimi możemy narysować wstępny diagram związków encji. PRZYKŁAD Weryfikacja WERYFIKACJA POD KĄTEM WYMAGAŃ UŻYTKOWNIKA Otrzymany na podstawie opisu organizacji model należy zweryfikować, pod kątem spełnienia wymagań użytkownika. Jest to oczywiście wstępna weryfikacja, gdyż na etapie analizy próbujemy formalnie naszkicować część modelowanej rzeczywistości, natomiast podczas etapu projektowania modele te zostaną rozwinięte i uszczegółowione. Jeżeli utworzony model danych nie spełnia wymagań użytkownika, to należy uzupełnić go o dodatkowe obiekty i powiązania. WERYFIKACJA POD KĄTEM SPÓJNOŚCI PERSPEKTYW PRZEDSIĘBIORSTWA Jeżeli modelujemy kilka fragmentów firmy, zawarcie wszystkiego w jednym diagramie jest właściwie niemożliwe. Nawet w przypadku stworzenia takiego diagramu jest on nieczytelny i trudny do analizy. W takich przypadkach można zastosować rozbicie wg perspektyw przedsiębiorstwa. Perspektywa przedsiębiorstwa jest to zbiór obiektów zawartych w polu zainteresowań wybranej grupy pracowników firmy. Oczywiście perspektywy mogą się częściowo nakładać. Wynika to z faktu, że różne grupy pracowników mogą korzystać z podobnych informacji.