Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00522 010161 10730071 na godz. na dobę w sumie
Modelowanie danych - książka
Modelowanie danych - książka
Autor: Liczba stron: 560
Wydawca: Helion Język publikacji: polski
ISBN: 83-246-0184-8 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych >> inne
Porównaj ceny (książka, ebook, audiobook).

Modelowanie danych to umiejętność stosunkowo rzadko poszukiwana na rynku. Firmy chętniej zatrudniają programistów i administratorów baz danych. Jednak zaprojektowanie efektywnych mechanizmów przechowywania danych ma duże znaczenie przy tworzeniu korporacyjnych aplikacji bazodanowych. Dopiero w sytuacji, gdy systemy zaczynają działać niewłaściwie, okazuje się, że przyczyną jest niepoprawny projekt bazy danych. Odpowiednio przeprowadzony proces modelowania danych może ułatwić rozwiązywanie problemów z aplikacją.

Książka 'Modelowanie danych' to wyczerpujące omówienie tego procesu i niezbędne źródło wiedzy dla każdego projektanta baz danych, który chce opracować wydajny i niezawodny system. Przedstawia modelowanie oparte na modelu relacyjnym, jego matematyczne podstawy i praktyczne wdrożenia. Czytając tę książkę, poznasz różne typy modeli. Dowiesz się, jaki poziom szczegółowości reprezentuje każdy z nich i jak je zaimplementować w konkretnych projektach informatycznych.

W książce omówiono także:

Dzięki wiadomościom z tej książki staniesz się specjalistą w zakresie modelowania danych.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREŒCI SPIS TREŒCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOŒCIACH O NOWOŒCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Modelowanie danych Autor: Sharon Allen T³umaczenie: Bart³omiej Garbacz, Tomasz Walczak ISBN: 83-246-0184-8 Tytu³ orygina³u: Data Modeling for Everyone Format: B5, stron: 578 Modelowanie danych to umiejêtnoœæ stosunkowo rzadko poszukiwana na rynku. Firmy chêtniej zatrudniaj¹ programistów i administratorów baz danych. Jednak zaprojektowanie efektywnych mechanizmów przechowywania danych ma du¿e znaczenie przy tworzeniu korporacyjnych aplikacji bazodanowych. Dopiero w sytuacji, gdy systemy zaczynaj¹ dzia³aæ niew³aœciwie, okazuje siê, ¿e przyczyn¹ jest niepoprawny projekt bazy danych. Odpowiednio przeprowadzony proces modelowania danych mo¿e u³atwiæ rozwi¹zywanie problemów z aplikacj¹. Ksi¹¿ka „Modelowanie danych” to wyczerpuj¹ce omówienie tego procesu i niezbêdne Ÿród³o wiedzy dla ka¿dego projektanta baz danych, który chce opracowaæ wydajny i niezawodny system. Przedstawia modelowanie oparte na modelu relacyjnym, jego matematyczne podstawy i praktyczne wdro¿enia. Czytaj¹c tê ksi¹¿kê, poznasz ró¿ne typy modeli. Dowiesz siê, jaki poziom szczegó³owoœci reprezentuje ka¿dy z nich i jak je zaimplementowaæ w konkretnych projektach informatycznych. W ksi¹¿ce omówiono tak¿e: (cid:129) Cykl istnienia danych (cid:129) Podstawowe pojêcia modelowania relacyjnego (cid:129) Regu³y Codda dotycz¹ce relacyjnych baz danych (cid:129) Normalizacja danych (cid:129) Analiza logiczna i fizyczna (cid:129) Modelowanie procesów biznesowych (cid:129) Tworzenie modelu logicznego (cid:129) Przekszta³canie modelu logicznego w fizyczny (cid:129) Stosowanie metadanych (cid:129) Praktyki modelowania danych Dziêki wiadomoœciom z tej ksi¹¿ki staniesz siê specjalist¹ w zakresie modelowania danych. O autorce ....................................................................................... 13 Wstęp ............................................................................................ 15 Rozdział 1. Modelowanie danych — wprowadzenie ............................................ 21 Istota danych ....................................................................................................................21 Istota modelowania danych ..............................................................................................22 Cykl istnienia danych .......................................................................................................23 Pomoc oferowana przez model danych ............................................................................29 Modelarze danych ............................................................................................................31 Definicja roli ....................................................................................................................31 Zakres obowiązków modelarza danych .....................................................................34 Nazwy zawodów ..............................................................................................................34 Obsługa bieżąca ................................................................................................................35 Zarządzanie konfiguracją ...........................................................................................35 Analiza zmian ............................................................................................................36 Promowanie standardów informatycznych ................................................................36 Ocena spójności danych .............................................................................................37 Badanie istniejących technik i narzędzi .....................................................................37 Obsługa przyszła ..............................................................................................................37 Projektowanie nowych struktur danych .....................................................................38 Doradztwo eksperckie ................................................................................................38 Sugerowanie rozwiązań alternatywnych ....................................................................38 Oferowanie oceny oczekiwań ....................................................................................39 Badanie nowych technik i narzędzi ...........................................................................39 Podsumowanie .................................................................................................................39 Rozdział 2. Modelowanie relacyjne ................................................................... 41 Modele baz danych ...........................................................................................................41 Model hierarchiczny ..................................................................................................42 Model sieciowy ..........................................................................................................42 Model relacyjny .........................................................................................................43 Pojęcia z zakresu modelowania koncepcyjnego i logicznego ..........................................44 Encje ..........................................................................................................................44 Encje kategorii ...........................................................................................................48 Encje powiązań i przecięcia .......................................................................................51 Atrybuty .....................................................................................................................54 Klucze ........................................................................................................................57 Związki ......................................................................................................................61 Reguły biznesowe modelu relacyjnego .....................................................................64 D:\druk\Modelowanie danych\10 druk\!spis-07.doc (05-04-06) — 5 — 6 Modelowanie danych Pojęcia z zakresu modelowania fizycznego .....................................................................67 Tabele .........................................................................................................................67 Perspektywy ...............................................................................................................69 Kolumny ....................................................................................................................69 Więzy .........................................................................................................................70 Składnia modelowania .....................................................................................................71 Symbole standardu Integration DEFinition (IDEF1X) ..............................................71 Prostokąty ..................................................................................................................72 Linie ...........................................................................................................................75 Symbole końcowe ......................................................................................................78 Diagramy związków encji (ER, diagramy Chena) ....................................................80 Standard Information Engineering (I/E) ....................................................................82 Notacja Barkera .........................................................................................................83 Podsumowanie .................................................................................................................84 Rozdział 3. Wprowadzenie do teorii relacyjnej ................................................... 87 Podejście relacyjne do modelowania danych ...................................................................88 Cele działania relacyjnych systemów zarządzania bazami danych ...........................89 Reguły Codda dotyczące systemów RDBMS ..................................................................90 Normalizacja ....................................................................................................................95 Uniwersalne właściwości relacji ................................................................................97 Pierwsza postać normalna (1NF) .............................................................................101 Druga postać normalna ............................................................................................103 Trzecia postać normalna ..........................................................................................105 Postać normalna Boyce’a-Codda .............................................................................106 Denormalizacja ...............................................................................................................108 Kolumny pochodne ..................................................................................................109 Celowe powielanie danych ......................................................................................109 Celowe usuwanie lub dezaktywowanie więzów ......................................................110 Celowe odchodzenie od postaci normalnych ...........................................................110 Podsumowanie ...............................................................................................................111 Rozdział 4. Poziomy analizy ............................................................................ 113 Opracowanie modelu ......................................................................................................114 Nie diagram przepływu ............................................................................................116 Reguły związków danych ........................................................................................117 Analiza koncepcyjna ......................................................................................................118 Encje w modelu koncepcyjnym ...............................................................................119 Związki w modelu koncepcyjnym ...........................................................................120 Przykład modelu koncepcyjnego .............................................................................120 Analiza logiczna .............................................................................................................121 Encje w modelu logicznym ......................................................................................122 Atrybuty ...................................................................................................................122 Przykład analizy logicznej .......................................................................................127 Analiza fizyczna .............................................................................................................128 Tabele .......................................................................................................................129 Przykład analizy fizycznej .......................................................................................132 Analiza oparta na inżynierii wstecznej ...........................................................................134 Szczegółowość analizy ...................................................................................................135 Poziom encji .............................................................................................................135 Poziom kluczy ..........................................................................................................137 Poziom pełnej atrybutowości ...................................................................................139 Podsumowanie ...............................................................................................................141 — 6 — (05-04-06) D:\druk\Modelowanie danych\10 druk\!spis-07.doc Spis treści 7 Rozdział 5. Miejsce modeli danych w projektach ............................................. 143 Projekt ............................................................................................................................143 Zarządzanie projektem .............................................................................................144 Cykl życia projektu ..................................................................................................151 Typy projektów ..............................................................................................................158 Projekty z poziomu przedsiębiorstwa ......................................................................158 Projekty transakcyjne — OLTP ...............................................................................159 Hurtownie danych i tworzenie raportów na poziomie przedsiębiorstwa .................160 Porównanie technik projektowania ..........................................................................160 Cel tworzenia modelu .....................................................................................................162 Modele abstrakcji .....................................................................................................162 Modele analiz elementów danych ............................................................................163 Modele projektów fizycznych ..................................................................................164 Właściwy model .............................................................................................................165 Typy projektu ...........................................................................................................166 Cel modelu ...............................................................................................................166 Wymagania klientów ...............................................................................................166 Wskazówki tworzenia modeli ..................................................................................168 Podsumowanie ...............................................................................................................168 Rozdział 6. Tworzenie modelu koncepcyjnego .................................................. 171 Modelowanie procesów biznesowych ............................................................................171 Cele .................................................................................................................................173 Zakres .............................................................................................................................174 Podejście .........................................................................................................................175 Od ogółu do szczegółu .............................................................................................176 Od szczegółu do ogółu .............................................................................................177 Dokumentacja procesu — od ogółu do szczegółu .........................................................178 Aktywności w pasjansie ...........................................................................................179 Etapy procesu gry w pasjansa ..................................................................................179 Tworzenie opisów aktywności .................................................................................181 Identyfikacja istotnych elementów ..........................................................................182 Definiowanie elementów .........................................................................................183 Sprawdzanie poprawności efektów pracy ................................................................184 Agregacja w pojęcia .................................................................................................185 Dokumentacja zasad procesu — podejście od szczegółu do ogółu ...............................186 Dokumentacja zasad aktywności .............................................................................187 Tworzenie opisów zasad ..........................................................................................188 Identyfikacja istotnych elementów ..........................................................................188 Definiowanie wyróżnionych elementów .................................................................190 Porównanie metod ...................................................................................................192 Tworzenie modelu koncepcyjnego .................................................................................193 Rozbudowywanie definicji koncepcyjnych .............................................................194 Dodawanie związków ..............................................................................................196 Sprawdzanie zasad biznesowych ...................................................................................206 Sprawdzanie związków ............................................................................................208 Przedstawianie modelu ............................................................................................211 Podsumowanie ...............................................................................................................212 Rozdział 7. Tworzenie modelu logicznego ........................................................ 215 Model koncepcyjny jako przewodnik ............................................................................216 Sprawdzanie poprawności modelu ..........................................................................218 Korzystanie z informacji zwrotnych ........................................................................218 Zakres obszarów tematycznych ...............................................................................219 D:\druk\Modelowanie danych\10 druk\!spis-07.doc (05-04-06) — 7 — 8 Modelowanie danych Logiczne modelowanie danych ......................................................................................220 Modelowanie obszaru tematycznego „Karta” ................................................................220 Analizy encji Karta ..................................................................................................221 Analizy kategorii Karta ............................................................................................222 Związki dotyczące Karty .........................................................................................224 Szczegóły encji Karta ..............................................................................................229 Modelowanie obszaru tematycznego „Ruch Karty” ......................................................242 Analizy encji Ruch Karty .........................................................................................242 Szczegóły encji Ruch ...............................................................................................251 Modelowanie obszaru tematycznego „Zdarzenie” .........................................................254 Analizy encji Zdarzenie ...........................................................................................255 Związki dotyczące zdarzenia ...................................................................................256 Łączenie fragmentów w całość — pełen obraz ..............................................................258 Sprawdzanie jakości .......................................................................................................261 Postacie normalne — 1-BCNF ................................................................................261 Za dużo lub za mało atrybutów ................................................................................264 Zbędne związki ........................................................................................................264 Precyzyjne nazwy ról ...............................................................................................265 Tabele egzemplarzy .................................................................................................265 Eksperci od obszaru tematycznego ..........................................................................267 Przegląd modelu ze współpracownikami .................................................................267 Dopracowywanie rozwiązania .................................................................................267 Podsumowanie ...............................................................................................................268 Rozdział 8. Przekształcanie modelu logicznego na fizyczny .............................. 271 Stan projektu ..................................................................................................................272 Kolejne etapy ...........................................................................................................272 Od modelu logicznego do fizycznego ............................................................................273 Fizykalizacja nazw .........................................................................................................273 Rzut oka na inne aplikacje .......................................................................................276 Tworzenie tabel na podstawie kategorii .........................................................................277 Scalanie kategorii .....................................................................................................279 Rozwijanie kategorii ................................................................................................280 Kategoria rozszerzalna .............................................................................................282 Pasjans ......................................................................................................................285 Analiza encji ukrytych ...................................................................................................285 Wybór kluczy głównych ................................................................................................287 Przegląd kluczy głównych .......................................................................................288 Dodawanie typów danych i rozmiarów ...................................................................300 Testy jakości i wartość dodana .......................................................................................301 Tabele egzemplarzy .................................................................................................301 Nazwy i definicje .....................................................................................................301 Przegląd wymagań ...................................................................................................303 Opowiadanie ............................................................................................................303 Identyfikacja zarządcy danych .................................................................................304 Tworzenie testowych plików DDL ..........................................................................304 Inne dodatki ....................................................................................................................306 Dodatki operacyjne ..................................................................................................306 Dokumentacja populacji ..........................................................................................307 Dokumentacja aktywności .......................................................................................307 Znaczenie modelu ....................................................................................................307 Podsumowanie ...............................................................................................................309 — 8 — (05-04-06) D:\druk\Modelowanie danych\10 druk\!spis-07.doc Spis treści 9 Rozdział 9. Projektowanie samego modelu fizycznego ..................................... 311 Ograniczenia świata rzeczywistego ...............................................................................311 Od czego zacząć? ...........................................................................................................312 System do badań nad pasjansem ....................................................................................313 Dodaj do modelu dokładnie to, co widzisz ..............................................................314 Stosowanie standardów nazewnictwa ......................................................................315 Tworzenie tabeli sprawdzającej ...............................................................................317 Ponowne szukanie ważnych zbiorów danych ..........................................................318 Sprawdzanie pól tekstowych ....................................................................................318 Ciąg dalszy fizykalizacji ..........................................................................................319 Jakość i kompromis ..................................................................................................322 Coś nieco trudniejszego .................................................................................................324 Klasyfikacja elementów danych ..............................................................................326 Pola tekstowe ...........................................................................................................328 Inne czysto fizyczne projekty .........................................................................................338 Tabele operacyjne ....................................................................................................339 Tabele etapowe ........................................................................................................340 Tabele archiwalne ....................................................................................................340 Podsumowanie ...............................................................................................................341 Rozdział 10. Modelowanie wymiarowe .............................................................. 343 Podstawy modelowania wymiarowego ..........................................................................344 Zalety projektowania wymiarowego ........................................................................346 Schematy gwiazdy ...................................................................................................348 Schematy płatka śniegu ............................................................................................350 Model badań nad pasjansem ....................................................................................353 Wynajdowanie faktów .............................................................................................354 Definicje faktu .........................................................................................................359 Składnica danych Gra ..............................................................................................359 Składnica danych RuchGry ......................................................................................379 Dopracowywanie rozwiązania .......................................................................................386 Podsumowanie ...............................................................................................................386 Rozdział 11. Tworzenie modelu danych za pomocą inżynierii wstecznej .............. 389 Od czego zacząć? ...........................................................................................................390 Zasoby ......................................................................................................................391 Analiza struktury danych ...............................................................................................392 Narzędzia do modelowania ......................................................................................392 Przetwarzanie samodzielne ......................................................................................400 Ocena struktury ........................................................................................................403 Analiza danych ...............................................................................................................408 SELECT COUNT ....................................................................................................409 SELECT COUNT lub GROUP BY .........................................................................410 SELECT COUNT DISTINCT .................................................................................410 SELECT MIN ..........................................................................................................410 SELECT MAX .........................................................................................................410 SELECT ...................................................................................................................411 Ocena danych ...........................................................................................................411 Zasady danych w kodzie ..........................................................................................411 Analiza frontonu .............................................................................................................415 Etykiety widoczne na stronach ................................................................................415 Zasady związków danych formularzy .....................................................................419 Wartości pochodne ...................................................................................................420 Źródła historyczne i opisowe .........................................................................................422 D:\druk\Modelowanie danych\10 druk\!spis-07.doc (05-04-06) — 9 — 10 Modelowanie danych Ostatnie poprawki ..........................................................................................................423 Tworzenie modelu logicznego .......................................................................................423 Nazwy ......................................................................................................................424 Klucze ......................................................................................................................425 Kategorie ..................................................................................................................426 Inne zasady ...............................................................................................................430 Nazwy związków .....................................................................................................431 Dopracowywanie rozwiązania .......................................................................................431 Podsumowanie ...............................................................................................................433 Rozdział 12. Przedstawianie modelu ................................................................. 435 Po co dodawać coś jeszcze? ...........................................................................................435 Uporządkowanie elementów ..........................................................................................436 Dodatkowy tekst .............................................................................................................437 Tytuły i nagłówki .....................................................................................................438 Uwagi .......................................................................................................................445 Legendy ....................................................................................................................447 Dodatki graficzne ...........................................................................................................450 Grafika, rysunki i ikony ...........................................................................................450 Inne możliwości .......................................................................................................452 Format publikacji ...........................................................................................................453 Dostęp publiczny i półpubliczny — sieć .................................................................453 Dostęp zespołu projektowego do plików .................................................................454 Dostęp do archiwum — biblioteka ..........................................................................455 Podsumowanie ...............................................................................................................455 Rozdział 13. Dalsze analizy danych ................................................................... 457 Różne aspekty jakości danych ........................................................................................458 Analizy wierności danych ........................................................................................458 Analizy krytyczności ...............................................................................................462 Analizy dotyczące wrażliwości i poufności .............................................................464 Zarządzanie ..............................................................................................................466 Sumowanie kontrolne ..............................................................................................467 Sprawdzanie poprawności procesu ..........................................................................469 Analizy ryzyka i jego łagodzenie .............................................................................469 Model danych jako schemat wiedzy ..............................................................................471 Odwzorowanie danych .............................................................................................472 Podsumowanie ...............................................................................................................485 Rozdział 14. Modelowanie metadanych ............................................................. 487 Definiowanie metadanych ..............................................................................................487 Metadane techniczne ................................................................................................490 Metadane biznesowe ................................................................................................491 Żywe metadane ........................................................................................................491 Znaczenie metadanych ...................................................................................................493 Modele metadanych .......................................................................................................495 Koncepcyjny model metadanych .............................................................................496 Logiczny model metadanych ...................................................................................498 Fizyczny model metadanych ....................................................................................500 Modelarz i metadane ......................................................................................................501 Modelarz danych — autor metadanych ...................................................................501 Modelarz danych — klient metadanych ..................................................................502 Przyszłość metadanych ..................................................................................................502 Podsumowanie ...............................................................................................................503 — 10 — (05-04-06) D:\druk\Modelowanie danych\10 druk\!spis-07.doc Spis treści 11 Rozdział 15. Praktyki modelowania danych ....................................................... 505 Najgorsze praktyki .........................................................................................................506 Praktyki blokujące zespół ...............................................................................................506 Arogancja .................................................................................................................506 Bezkompromisowość ...............................................................................................507 Utrudnianie ..............................................................................................................507 Zachowania obronne ................................................................................................508 Unikanie ...................................................................................................................508 Blefowanie przed zespołem .....................................................................................509 Ignorowanie innych .................................................................................................509 Krytykowanie ...........................................................................................................509 Niezrozumiałość ......................................................................................................510 Pasywność ................................................................................................................510 Blokowanie harmonogramu ...........................................................................................510 Paraliż analiz ............................................................................................................511 Brak komunikacji .....................................................................................................511 Jedno zadanie naraz .................................................................................................512 Nieprzyznawanie się do błędów ..............................................................................512 Niepoprawne zarządzanie modelami .............................................................................512 Najlepsze praktyki ..........................................................................................................514 Słuchanie współpracowników .................................................................................514 Kompromisowość ....................................................................................................514 Dostępność ...............................................................................................................514 Wrażliwość ..............................................................................................................514 Punktualność ............................................................................................................515 Szczerość ..................................................................................................................515 Szacunek ..................................................................................................................515 Efektywna komunikacja ...........................................................................................515 Automotywacja ........................................................................................................516 Trzymanie się harmonogramu ........................................................................................516 Reguła Pareto ...........................................................................................................517 Prawo zmniejszających się korzyści ........................................................................517 Zarządzanie oczekiwaniami .....................................................................................518 Posługiwanie się inicjatywą .....................................................................................518 Korzystanie z pomocy ..............................................................................................519 Zarządzanie modelami .............................................................................................520 Zrozumienie danych i projektu ......................................................................................522 Przekształcanie modelu logicznego na fizyczny ......................................................522 Błędy dotyczące danych fizycznych ........................................................................523 Praktyczne lekcje projektowania ....................................................................................525 Własne projekty rozwiązań ......................................................................................525 Zwroty, na które trzeba uważać ...............................................................................526 Projekty dotyczące kupionych rozwiązań ................................................................528 Analizy starych i utraconych rozwiązań ..................................................................532 Przeglądy modeli .....................................................................................................534 Waga doświadczenia ................................................................................................534 Odpowiedzialność a uprawnienia ............................................................................535 Podsumowanie ...............................................................................................................535 Skorowidz ..................................................................................... 537 D:\druk\Modelowanie danych\10 druk\!spis-07.doc (05-04-06) — 11 — Rozdział 2. Aby móc tworzyć relacyjne modele danych i opracowywać prawdziwie relacyjne bazy danych, musimy zrozumieć, co składa się na taką bazę, opanować terminologię zwią- zaną z opisywaniem systemów relacyjnych oraz mieć świadomość istnienia różnych zestawów symboli umożliwiających reprezentowanie systemów relacyjnych w formacie graficznym. Dlatego też w niniejszym rozdziale zostaną poruszone następujące kwestie: t Natura relacyjnych baz danych oraz istniejące różnice między nimi a hierarchicznymi oraz sieciowymi systemami zarządzania bazami danych (ang. Database Management System — DBMS). t Terminologia dotycząca relacyjnych baz danych: t t t t t t t t encje, atrybuty, klucze (kandydujące, główne i obce), związki, tabele i perspektywy, kolumny, klucze (główne, sztuczne, alternatywne, obce), więzy. t Składnia modelowania IDEF1X oraz inne notacje dostępne w arsenale modelarza, a używane w celu dokumentowania elementów danych oraz reguł biznesowych. Modele baz danych Zanim przyjrzymy się bardziej szczegółowo bazom danych, najpierw pobieżnie omówi- my hierarchiczne oraz sieciowe systemy zarządzania bazami danych, gdyż poznanie wiążących się z nimi ograniczeń pomoże nam w zrozumieniu, rozwiązaniem jakich problemów jest podejście relacyjne. D:\druk\Modelowanie danych\10 druk\r02-07.doc (05-04-06) — 41 — 42 Modelowanie danych Model hierarchiczny Jednym z wciąż wykorzystywanych hierarchicznych systemów DBMS jest produkt fir- my IBM o nazwie IMS (od ang. Information Management System). Zasadniczo stanowi on strukturę drzewiastą wykorzystującą serię łączy w celu zapewnienia możliwości nawigacji od jednego do drugiego typu rekordu (tabeli). Rekordy (tabele) zawierają jedno lub większą liczbę pól (kolumn). Każde drzewo musi posiadać pojedynczy główny (ang. root) typ rekordu. Jako przykład takiego systemu rozważmy poniższy system pla- nowania zajęć używany w college’u przedstawiony na rysunku 2.1. Rysunek 2.1. Problem dotyczący tego rodzaju systemów jest związany z wierzchołkami potomnymi posiadającymi więcej niż jednego rodzica (na przykład Grupa w powyższym przykła- dzie). Wiele rzeczywistych elementów danych charakteryzuje się właśnie taką cechą, ale niestety, hierarchiczny system DBMS nie potrafi obsłużyć tej sytuacji w wydajny sposób, gdyż dwa egzemplarze rekordu Grupa nie są ze sobą w prosty sposób powią- zane. Rozwiązania umożliwiające obejście tego problemu zwykle wymagają tworzenia zduplikowanych rekordów lub tabel w celu spełnienia różnych wymagań, a to prowa- dzi do powstawania problemów z synchronizacją danych, ponieważ te same rekordy pojawiają się w wielu miejscach w bazie danych. Model sieciowy Jednymi z dużych baz sieciowych wciąż przetwarzających ogromne ilości danych są sys- temy IDMS (od ang. Integrated Database Management Systems). Sieciowe bazy danych rozwiązują problem wielu rodziców występujących w przypadku baz hierarchicznych. Jeżeli raz jeszcze posłużymy się przykładem bazy danych college’u, to w przypadku bazy sieciowej tabela Kampus będzie bezpośrednio połączona z tabelą Grupa poprzez łącze właściciel-składowa, co przedstawiono na rysunku 2.2. Niestety, w celu przejścia z tabeli Wykładowca do tabeli Kampus musimy wrócić do tabeli Grupa. Można sobie z łatwością wyobrazić, że w przypadku dużej bazy danych liczącej wiele tabel może się to okazać bardzo długą ścieżką. Ponadto ścieżki te nie są proste w modyfikacji ani też nie jest prostą rzeczą dodawanie nowych związków, kiedy baza danych zostanie już utworzona, co sprawia, że ma ona mało elastyczny charakter. — 42 — (05-04-06) D:\druk\Modelowanie danych\10 druk\r02-07.doc Rozdział 2. ¨ Modelowanie relacyjne 43 Rysunek 2.2. Model relacyjny Relacyjne bazy danych, takie jak Oracle, Microsoft SQL Server czy IBM DB2, stano- wią rozwinięcie zarówno modelu sieciowego, jak i hierarchicznego poprzez umożli- wienie dopasowywania pól danych na poziomie bazy danych. Wkrótce przyjrzymy się bardziej szczegółowo, w jaki sposób jest to osiągane, ale na razie omówimy model rela- cyjnej bazy danych przedstawionego już przykładu (rysunek 2.3). Rysunek 2.3. Jeżeli Czytelnik nie rozumie znaczenia powyższych symboli, nie powinien się tym na razie martwić — wkrótce wszystko zostanie wyjaśnione. Powyższy model pozwala, aby tabela Grupa posiadała trzy związki rodzicielskie, co nie jest możliwe w przypadku hierarchicznych baz danych. Zapewnia to, że będzie wystę- pował tylko jeden zbiór o nazwie Kurs, który może być związany z samym sobą w przy- padku, gdy wymagania wstępne pewnego kursu określają, że trzeba mieć ukończony inny kurs. W przypadku sieciowej bazy danych nie jest możliwe, aby występował taki rekord, który byłby zarówno swoim rodzicem, jak i potomkiem. Podobnie wykładow- cy i studenci są rozpoznawani jako Osoby, co pozwala, aby Isaac Asimov był zarówno D:\druk\Modelowanie danych\10 druk\r02-07.doc (05-04-06) — 43 — 44 Modelowanie danych Studentem, jak i Wykładowcą Grupy. Projekt relacyjny kładzie nacisk na zachowanie tylko pojedynczego rekordu dla podobnych informacji. Uzyskiwanie dostępu do rekordów także może być łatwiejsze w przypadku relacyjnej bazy danych. W omawianym przy- kładzie można natychmiast połączyć tabelę GrupaStudent z tabelą Kampus bez koniecz- ności ich bezpośredniego łączenia. Pojęcia z zakresu modelowania koncepcyjnego i logicznego Modelowanie koncepcyjne i logiczne jest wykorzystywane w celu określania reguł danych w ramach działań biznesowych. Nacisk kładzie się na sposoby wykorzystania danych w środowisku biznesowym. Nie ma znaczenia, że bieżące narzędzie dopuszcza tylko jeden adres poczty elektronicznej, jeżeli przechowuje się wiele takich adresów producentów. Nie ma znaczenia, czy bieżący formularz nie posiada miejsca na adres witryny internetowej, jeżeli taka informacja okaże się potrzebna. Modelowanie kon- cepcyjne i logiczne skupia się na dokumentowaniu tego, co naprawdę dzieje się z da- nymi, jak są używane oraz do czego mają służyć w przyszłości. Na podstawie takiej analizy można wówczas utworzyć narzędzia, które zapewniają ła- twość i poprawność użycia danych w ramach danego rozwiązania biznesowego. Projekt bazy danych będzie posiadał reguły wbudowane w faktyczną strukturę, która promuje jakość, łatwość zarządzania danymi oraz wzrost. Zdobycie wiedzy o tym, jakie reguły rządzą danymi w określonym biznesie, stanowi pierwszy krok w zakresie zaprojekto- wania odpowiedniej struktury tabel w bazie danych. Encje Encje stanowią podstawę relacyjnego modelowania danych. Branżowa definicja encji brzmi następująco: Encja jest osobą, miejscem, rzeczą lub pojęciem, które posiada cechy interesujące z punktu widzenia przedsiębiorstwa i o którym chce się przechowywać informacje. Należy zauważyć, że encje nie są tabelami. Często są one na poziomie fizycznym im- plementowane w postaci tabel i na diagramach modeli danych obrazuje się je w spo- sób podobny do tabel, jednak nie są one tabelami. Tabele są zawsze implementowane fizycznie, natomiast niektóre encje mają zbyt koncepcyjny charakter, aby mogły stać się faktycznymi tabelami. Weźmy pod uwagę typowy dom. Na obszarach nawiedzanych trzęsieniami ziemi miesz- kańcy od czasu do czasu zestawiają na ziemię różne przedmioty domowego użytku (książki, płyty CD, butelki wina, ołówki i tak dalej), kiedy ziemia zaczyna się bardziej trząść. Wszystko, co było zorganizowane, staje się stertą przedmiotów porozrzucanych — 44 — (05-04-06) D:\druk\Modelowanie danych\10 druk\r02-07.doc Rozdział 2. ¨ Modelowanie relacyjne 45 na podłodze. Kiedy stanie się oko w oko z takim bałaganem, naturalnym odruchem jest chęć poukładania wszystkiego: płyty CD są ustawiane w jednym rogu, książki w dru- gim i tak dalej. Modelowanie danych zapewnia organizację oddzielnych elementów danych w podobny sposób, grupując razem elementy, które reprezentują osoby, miej- sca, rzeczy lub pojęcia. Na szczęście zwykle nie znajdują się one oryginalnie w stanie zupełnego chaosu, ale też nie posiadają mechanizmów pozwalających na ich odpowied- nie ułożenie. Musimy określić wymagania systemu, którym się zajmujemy, i utwo- rzyć od podstaw odpowiednie struktury składowania danych. W przypadku sprzątania domu rozpoczynamy zwykle od szybkiego ułożenia drobnych przedmiotów, zwykle grupując elementy o podobnym charakterze. Wszystkie multi- media zostają umieszczone w jednym rogu, naczynia kuchenne w drugim, zaś potłu- czone resztki wędrują do kosza. W przypadku modelowania danych stanowi to analogię do fazy analizy koncepcyjnej. Posiadamy elementy, które zamierzamy zachować na bardzo ogólnym poziomie szczegółowości, wciąż niezbadane fragmenty (encje kon- cepcyjne) oraz pewną liczbę elementów wykraczających poza zakres naszego zainte- resowania. Po zapewnieniu organizacji na takim poziomie koncepcyjnym przechodzimy do bardziej szczegółowego schematu organizacji. Tym razem multimedia zostają po- sortowane w ramach bardziej szczegółowych grup, takich jak muzyka, filmy i gry. W kontekście modelowania danych oznacza to zidentyfikowanie encji koncepcyjnej Multimedia, reprezentującej ten zbiór przedmiotów, i pogłębienie swojego zrozumie- nia istoty problemu, określając encje logiczne w postaci Muzyka, Film oraz Gra. Każda z nich jest oddzielnym zbiorem o innych istotnych atrybutach. Dane o kompozytorze lub artyście są istotne pod względem sposobu składowania i pobierania muzyki, jednak w przypadku filmów największe znaczenie ma tematyka i tytuł. Modelowanie danych rozpoczyna się od zorganizowania, w ramach abstrakcji koncep- cyjnej, zbiorów odpowiednich danych. Poprzez użycie pojęcia określanego mianem normalizacji, któremu przyjrzymy się bardziej szczegółowo w kolejnym rozdziale, oczysz- czamy i rozdzielamy pod względem logicznym dane do postaci odrębnych, możliwych do ponownego użycia, zbiorów elementów, które mogą być wiązane i łączone w róż- nych celach. Wreszcie projektujemy fizyczne struktury składowania (tabele) w celu przechowywania danych i odpowiedniego zarządzania nimi. Ogólnie rzecz biorąc, encje postrzega się jako zbiory klas encji reprezentujące osoby, miejsca, rzeczy, zdarzenia lub pojęcia. Dobrym pomysłem jest użycie tej listy jako formy sprawdzianu, kiedy bada się grupę elementów pod względem potencjalnego uznania ich za encje. Tak więc, jeżeli encję będziemy postrzegali jako zbiór, wówczas obie struktury przedstawione na rysunku 2.4 będą encjami systemu Zamówienie: Analogicznie pojęcia, takie jak Pracownik, Projekt, Dział, Część, Producent, wszystkie można by uznać za encje. Należy zachować szczególną ostrożność w zakresie stosowanego nazewnictwa w przy- padku modelowania. Pracownika być może lepiej będzie nazwać Robotnikiem lub nawet Osobą obsłuOującą — w zależności od tego, dla jakiego klienta tworzy się model. D:\druk\Modelowanie danych\10 druk\r02-07.doc (05-04-06) — 45 — 46 Rysunek 2.4. Modelowanie danych To, z czego składa się encja, zależy od modelowanego systemu, przykładowo: t t t t t dla hodowcy psów encją może być Owczarek, dla weterynarza encją może być Duży pies, dla sklepu ze zwierzętami encją może być Pies, dla firmy wynajmującej mieszkania encją może być Zwierzę domowe, dla stacji epidemiologicznej encją może być Zwierzę. Podobnie: t t dla kancelarii prawniczej Porada może być usługą fakturowaną lub encją, dla komisu samochodowego Porada może być atrybutem encji Sprzedawca. Sztuka polega na podejmowaniu odpowiednich decyzji odnośnie do tego, czy znalazło się encję czy egzemplarz (jeden z elementów zbioru) albo też oba, oraz stosowaniu odpowiedniej metody określania tego faktu na podstawie zakresu projektu oraz dzie- dziny problemu. Encje koncepcyjne i logiczne Warto pamiętać, że encje występują w dwóch głównych odmianach, które służą róż- nym celom. Encje koncepcyjne (ang. conceptual entity) w istocie reprezentują idee i nigdy nie podlegają fizycznemu wdrożeniu. Rzadko posiadają one jakieś dodatkowe cechy (znane jako atrybuty (ang. attributes)) i głównie są wykorzystywane w celu powiadamiania zespołów o obszarach zainteresowania oraz rozległych pojęciach, które mają być poddawane dalszej analizie w ramach projektu. Trudno wyróżnić jakiekol- wiek reguły definiujące encje koncepcyjne. Jeżeli uzna się, że encja taka pomoże — 46 — (05-04-06) D:\druk\Modelowanie danych\10 druk\r02-07.doc Rozdział 2. ¨ Modelowanie relacyjne 47 w zrozumieniu istoty problemu oraz można nadać jej definicję opisową, to ogólnie rzecz biorąc, można jej użyć. Encje koncepcyjne niemal nigdy nie zostają tabelami lub innymi obiektami fizycznymi, gdyż zazwyczaj mają zbyt ogólny charakter. Poniżej przedstawiono niewielki model zawierający encje koncepcyjne opisujące pewne przemyślenia dotyczące systemu obsługi zamówień (rysunek 2.5). Encje te znajdują się na bardzo wysokim poziomie. Zamówienie uwzględnia tu zapewne pojedyncze zamówie- nia, jak również kontrakty łańcucha dostaw. Produkt może być usługami, funkcjami śledzenia lub procesami pomocnymi w obsłudze zamówień. Wszystko zależy od prze- prowadzonych analiz. Rysunek 2.5. Na poziomie koncepcyjnym szczegóły ulegają rozmyciu. Kiedy używa się tych struktur w ramach modelu, można nie mieć pełnego zrozumienia zakresu pojęć. Na dalszym etapie prac osoba znająca daną problematykę pomoże utworzyć i zweryfikować popraw- ność modelu. Encja logiczna (ang. logical entity) to nieco bardziej złożony element, gdyż posiada- jąc szczegółowy opis i dokumentację, często stanowi strukturę prowadzącą do projektu tabeli lub obiektu fizycznego. Kiedy zostaną opatrzone atrybutami, mają postać podobną do przedstawionej poniżej (rysunek 2.6): Rysunek 2.6. D:\druk\Modelowanie danych\10 druk\r02-07.doc (05-04-06) — 47 — 48 Modelowanie danych Od tego momentu, kiedy będzie mowa o encjach, będzie nam chodziło o encje lo- giczne. Egzemplarz czy encja? Egzemplarz (element zbioru) zdefiniowany przez encję odpowiada poniekąd wierszowi lub rekordowi w tabeli — tak samo jak encja odpowiada tabeli — ale nie jest to jego ścisła definicja. Przykładowo, w przypadku encji Płyty jazzowe można wyróżnić takie egzemplarze, jak „Kind of Blue”, „Porgy Bess” lub „Time Out”. Egzemplarz oznacza pojedynczą składową encji — element zbioru. Może to być wiersz lub rekord w tabeli, ale nie definiuje się go w ten sposób. Encje kategorii Struktury kategorii, inaczej hierarchie uogólnień (ang. generalization hierarchies), są używane w celu podziału encji na podzbiory. Każdy taki podzbiór stanowi część całości, więc na przykład Ciężarówki, Samochody, Statki i Samoloty to wszystko podzbiory encji Pojazdy. Na rysunku 2.7 przedstawiono schemat systemu zamówień. Jak widać, sprzedaży podlegają Pojazdy, które można rozbić na Samochody, Ciężarówki i FurOonetki. Rysunek 2.7. Encję, której zbiór zawiera wszystkie elementy (w omawianym przykładzie jest to encja Pojazdy) określa się mianem nadtypu (ang. supertype). Z kolei podziały (w omawia- nym przykładzie chodzi o encje Samochód, FurOonetka oraz Ciężarówka) określa się mia- nem podtypów (ang. subtypes). Wszystkie podtypy współużytkują elementy danych nadtypu, ale mogą również posiadać własne elementy danych, unikatowe tylko dla nich. — 48 — (05-04-06) D:\druk\Modelowanie danych\10 druk\r02-07.doc Rozdział 2. ¨ Modelowanie relacyjne 49 Takiej struktury modelowania (kategorii) używamy w celu dokumentowania zwartości schematu, która w przeciwnym wypadku zostałaby utracona. Encje kategorii potomków niekiedy przypominają egzemplarze ze względu na fakt, że podziały stają się coraz bardziej szczegółowe. Czasem nawet wystąpi encja podtypu, która stanowi zbiór zawierający tylko jeden element, więc różnica między egzempla- rzem a encją staje się bardzo cienka. Należy jednak pamiętać, że egzemplarz jest ele- mentem zbioru, natomiast encja sama w sobie reprezentuje ideę zbioru. Struktura kategorii zarządza pojedynczym zbiorem egzemplarzy, dzieląc je na typy. Ogólnie rzecz biorąc, dzieje się tak ze względu na różnice pod względem użycia lub pod względem atrybutów należących do każdego z typów. Oczywiście Owczarek może być egzemplarzem encji Pies, natomiast Ciężarówka, Sa- mochód i FurOonetka mogą być egzemplarzami encji Pojazd. Pojawia się zatem pytanie, skąd wiadomo, że czy chodzi o egzemplarz czy element składowy kategorii? W celu rozwiązania tego problemu należy obserwować lub odkryć „naturalne sposoby użycia” zbioru, innymi słowy zaobserwować, jak i dlaczego występują określone zachowania w ramach danego zbioru, wykorzystując wskazówki, które zostaną podane poniżej. Definiowanie oznak występowania kategorii Poniżej wymieniono najważniejsze wskazówki ułatwiające stwierdzenie, czy należy lub nie zapisać strukturę kategorii. t Co sądzi klient? Jest to pierwsza i najlepsza metoda sprawdzenia, czy mamy do czynienia z egzemplarzem czy encją. Należy się dowiedzieć, co sądzi klient. Jeżeli zadaje się pytania dotyczące Ciężarówki, FurOonetki lub Samochodu i klient uważa, że dotyczą one „Pojazdu”, to „Ciężarówki” są po prostu egzemplarzami zbioru Pojazd. Z drugiej strony, może się okazać, że „Ciężarówka” i jej zdolność pociągowa, możliwość posiadania więcej niż czterech kół oraz zdefiniowany rozmiar ładowni są wystarczająco unikatowymi cechami, że pojęcie „Ciężarówki” jest czymś odrębnym samym w sobie. Czy jest encją, której istnienie jest na tyle odrębne ze względu na jej użycie lub strukturę, że można poddać ją oddzielnej kategoryzacji wraz z przydatnymi atrybutami charakterystycznymi tylko dla niej? t Jak jest definiowana? Należy zapisać definicje elementów, które potencjalnie mogłyby być encjami. Następnie należy opisać te pojęcia w formie tekstowej i dokonać ich przeglądu oraz wyszukać podobieństw. Być może znajdzie się pojęcia, które wyglądają na bardzo różne, ale w rzeczywistości oznaczają to samo lub posiadają encję uogólniającą, która uwzględnia istniejące podobieństwa, na przykład: t Samochód = pojazd kołowy, w szczególności samochód osobowy. t Ciężarówka = Duży, zwykle czterokołowy, pojazd używany w celach transportu drogowego wielkich ciężarów. t Furgonetka = Duży pojazd przykryty służący do transportu drogowego mebli i innych towarów. D:\druk\Modelowanie danych\10 druk\r02-07.doc (05-04-06) — 49 — 50 Modelowanie danych Należy zwrócić uwagę na istniejące podobieństwa między wymienionymi trzema elementami. Wszystkie one posiadają w definicjach wspólny czynnik pojazd, posiadają koła, jeżdżą po drogach. Należy także zwrócić uwagę na występujące różnice: Ciężarówka jest używana w przypadku ciężkich ładunków, FurOonetki są przykryte, zaś Samochody to zwykle samochody osobowe. Jeżeli klienci podkreślają istniejące podobieństwa, prawdopodobnie mamy do czynienia z egzemplarzami. Jeżeli jednak podkreślają istniejące różnice, to zapewne mamy do czynienia z podtypami kategorii. t Przyjrzenie się przykładowym danym. Te same działania wykonujemy w przypadku danych dotyczących potencjalnych encji, które klient będzie chciał przetwarzać. Należy utworzyć listę opisowych elementów danych. Jeżeli zauważy się powtarzalne wzorce atrybutów takich jak Nazwa, WaOa lub Opis, to prawdopodobnie mamy do czynienia z kolekcją egzemplarzy, a nie encji. Nie będą one potrzebowały na tyle odrębnej struktury, aby ich utworzenie wymagało użycia różnych encji. Z drugiej strony, jeżeli tylko Ciężarówki wymagają prowadzenia rejestru przeglądów stanu technicznego, to posiadają one inny atrybut niż pozostałe Pojazdy i mogą wymagać utworzenia dla nich odrębnej kategorii. t Zliczanie. Inna metoda polega na sprawdzeniu, czy istnieje więcej niż jeden egzemplarz encji kandydującej. Należy jednak pamiętać, że nie jest to sprawdzenie niezawodne. Pewne encje posiadają tylko jedną instancję w czasie dokonywania analizy, ale potencjalnie mogą później posiadać większą ich ilość. Przykładowo, encja Firma, która odnosi się do samego przedsiębiorstwa, może być w danym momencie pojedynczym egzemplarzem, ale w przyszłości możemy mieć do czynienia z fuzjami firm. Niekiedy nieuwzględnienie pojedynczego egzemplarza, który stanowi odrębne pojęcie, jako encji spowoduje znaczne ograniczenie elastyczności schematu w przyszłości. Kategorie zupełne i niezupełne Kategorie mogą być zupełne (ang. complete) lub niezupełne (ang. incomplete)
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Modelowanie danych
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: