Modelowanie danych - Data modeling

Proces modelowania danych. Rysunek ilustruje sposób, w jaki modele danych są obecnie opracowywane i wykorzystywane. Koncepcyjny model danych został opracowany na podstawie danych wymagań dla aplikacji, która jest rozwinięty, być może w kontekście modelu działalności . Model danych zwykle składa się z typów jednostek, atrybutów, relacji, reguł integralności i definicji tych obiektów. Jest to następnie wykorzystywane jako punkt początkowy do projektowania interfejsu lub bazy danych.

Modelowanie danych w inżynierii oprogramowania to proces tworzenia modelu danych dla systemu informacyjnego poprzez zastosowanie pewnych technik formalnych.

Przegląd

Modelowanie danych to proces służący do definiowania i analizowania wymagań dotyczących danych potrzebnych do wsparcia procesów biznesowych w zakresie odpowiednich systemów informatycznych w organizacjach. Dlatego w proces modelowania danych zaangażowani są profesjonalni modelerzy danych ściśle współpracujący z interesariuszami biznesowymi, a także potencjalnymi użytkownikami systemu informatycznego.

Istnieją trzy różne typy modeli danych, które powstają podczas przechodzenia od wymagań do rzeczywistej bazy danych, która ma być używana w systemie informacyjnym. Wymagania dotyczące danych są początkowo rejestrowane jako koncepcyjny model danych, który jest zasadniczo zestawem niezależnych od technologii specyfikacji danych i jest używany do omawiania początkowych wymagań z interesariuszami biznesowymi. Model koncepcyjny jest następnie tłumaczony na logiczny model danych , który dokumentuje struktury danych, które można zaimplementować w bazach danych. Implementacja jednego koncepcyjnego modelu danych może wymagać wielu logicznych modeli danych. Ostatnim krokiem w modelowaniu danych jest przekształcenie logicznego modelu danych w fizyczny model danych, który organizuje dane w tabele i uwzględnia szczegóły dotyczące dostępu, wydajności i pamięci. Modelowanie danych definiuje nie tylko elementy danych, ale także ich struktury i relacje między nimi.

Techniki i metodologie modelowania danych służą do modelowania danych w standardowy, spójny i przewidywalny sposób w celu zarządzania nimi jako zasobem. Stosowanie standardów modelowania danych jest zdecydowanie zalecane we wszystkich projektach wymagających standardowych sposobów definiowania i analizowania danych w organizacji, np. za pomocą modelowania danych:

  • pomoc analitykom biznesowym, programistom, testerom, autorom podręczników, selektorom pakietów IT, inżynierom, menedżerom, powiązanym organizacjom i klientom w zrozumieniu i stosowaniu uzgodnionego półformalnego modelu, który obejmuje koncepcje organizacji i ich wzajemne relacje
  • do zarządzania danymi jako zasobem
  • integrować systemy informatyczne
  • do projektowania baz danych/hurtowni danych (tzw. repozytoriów danych)

Modelowanie danych może być wykonywane podczas różnego rodzaju projektów oraz w wielu fazach projektów. Modele danych są progresywne; nie ma czegoś takiego jak ostateczny model danych dla firmy lub aplikacji. Zamiast tego model danych należy traktować jako żywy dokument, który będzie się zmieniał w odpowiedzi na zmieniający się biznes. Modele danych powinny idealnie być przechowywane w repozytorium, aby można je było z czasem pobierać, rozszerzać i edytować. Whitten i in. (2004) określili dwa rodzaje modelowania danych:

  • Strategiczne modelowanie danych: Jest to część tworzenia strategii systemów informatycznych, która definiuje ogólną wizję i architekturę systemów informatycznych. Inżynieria informatyczna to metodologia, która obejmuje to podejście.
  • Modelowanie danych podczas analizy systemowej: W analizie systemowej w ramach rozwoju nowych baz danych tworzone są logiczne modele danych.

Modelowanie danych jest również wykorzystywane jako technika wyszczególniania wymagań biznesowych dla określonych baz danych . Czasami nazywa się to modelowaniem bazy danych, ponieważ model danych jest ostatecznie implementowany w bazie danych.

Tematy

Modele danych

Jak modele danych przynoszą korzyści.

Modele danych zapewniają ramy dla danych, które mają być wykorzystywane w systemach informatycznych, zapewniając określoną definicję i format. Jeśli model danych jest używany konsekwentnie w różnych systemach, można osiągnąć zgodność danych. Jeśli te same struktury danych są używane do przechowywania i uzyskiwania dostępu do danych, różne aplikacje mogą bezproblemowo udostępniać dane. Wyniki tego są pokazane na diagramie. Jednak systemy i interfejsy są często drogie w budowie, obsłudze i utrzymaniu. Mogą również ograniczać biznes, zamiast go wspierać. Może się to zdarzyć, gdy jakość modeli danych zaimplementowanych w systemach i interfejsach jest niska.

Niektóre typowe problemy występujące w modelach danych to:

  • Reguły biznesowe, specyficzne dla tego, jak coś się robi w określonym miejscu, są często utrwalone w strukturze modelu danych. Oznacza to, że drobne zmiany w sposobie prowadzenia biznesu prowadzą do dużych zmian w systemach komputerowych i interfejsach. Tak więc reguły biznesowe muszą być implementowane w sposób elastyczny, który nie powoduje skomplikowanych zależności, a model danych powinien być na tyle elastyczny, aby zmiany w biznesie mogły być wdrażane w modelu danych w stosunkowo szybki i wydajny sposób.
  • Typy jednostek często nie są identyfikowane lub są identyfikowane nieprawidłowo. Może to prowadzić do replikacji danych, struktury danych i funkcjonalności, wraz z towarzyszącymi kosztami tej duplikacji w zakresie rozwoju i utrzymania. Dlatego definicje danych powinny być tak wyraźne i łatwe do zrozumienia, jak to tylko możliwe, aby zminimalizować błędną interpretację i powielanie.
  • Modele danych dla różnych systemów są arbitralnie różne. W rezultacie wymagane są złożone interfejsy między systemami współużytkującymi dane. Interfejsy te mogą stanowić od 25 do 70% kosztów obecnych systemów. Podczas projektowania modelu danych należy uwzględnić wymagane interfejsy, ponieważ sam model danych nie byłby użyteczny bez interfejsów w różnych systemach.
  • Dane nie mogą być udostępniane drogą elektroniczną klientom i dostawcom, ponieważ struktura i znaczenie danych nie zostały ustandaryzowane. Aby uzyskać optymalną wartość z wdrożonego modelu danych, bardzo ważne jest zdefiniowanie standardów, które zapewnią, że modele danych będą zarówno odpowiadać potrzebom biznesowym, jak i będą spójne.

Schematy pojęciowe, logiczne i fizyczne

Trójpoziomowa architektura ANSI/SPARC. Pokazuje to, że model danych może być modelem zewnętrznym (lub widokiem), modelem koncepcyjnym lub modelem fizycznym. Nie jest to jedyny sposób patrzenia na modele danych, ale jest to przydatny sposób, szczególnie przy porównywaniu modeli.

W 1975 roku ANSI opisał trzy rodzaje instancji modelu danych :

  • Schemat pojęciowy : opisuje semantykę dziedziny (zakres modelu). Na przykład może to być model obszaru zainteresowania organizacji lub branży. Składa się z klas encji, reprezentujących rodzaje ważnych rzeczy w domenie, oraz twierdzeń o relacjach dotyczących powiązań między parami klas encji. Schemat pojęciowy określa rodzaje faktów lub twierdzeń, które można wyrazić za pomocą modelu. W tym sensie definiuje dozwolone wyrażenia w sztucznym „języku” o zasięgu ograniczonym zasięgiem modelu. W uproszczeniu schemat koncepcyjny jest pierwszym krokiem w organizacji wymagań dotyczących danych.
  • Schemat logiczny : opisuje strukturę pewnej dziedziny informacji. Składa się z opisów (na przykład) tabel, kolumn, klas obiektowych i znaczników XML. Schemat logiczny i schemat pojęciowy są czasami implementowane jako jeden i ten sam.
  • Schemat fizyczny : opisuje fizyczne środki używane do przechowywania danych. Dotyczy to partycji, procesorów, obszarów tabel i tym podobnych.

Według ANSI takie podejście pozwala na względną niezależność trzech perspektyw. Technologia pamięci masowej może się zmieniać bez wpływu na schemat logiczny lub koncepcyjny. Struktura tabeli/kolumny może się zmieniać bez (koniecznie) wpływu na schemat pojęciowy. W każdym przypadku oczywiście struktury muszą pozostać spójne we wszystkich schematach tego samego modelu danych.

Proces modelowania danych

Modelowanie danych w kontekście Integracji Procesów Biznesowych .

W kontekście integracji procesów biznesowych (patrz rysunek) modelowanie danych uzupełnia modelowanie procesów biznesowych i ostatecznie skutkuje generowaniem bazy danych.

Proces projektowania bazy danych polega na stworzeniu opisanych wcześniej trzech typów schematów – pojęciowego, logicznego i fizycznego. Projekt bazy danych udokumentowany w tych schematach jest konwertowany za pomocą języka definicji danych , którego można następnie użyć do wygenerowania bazy danych. Model danych z pełnymi atrybutami zawiera szczegółowe atrybuty (opisy) dla każdej jednostki w nim zawartej. Termin „projekt bazy danych” może opisywać wiele różnych części projektu całego systemu baz danych . Zasadniczo i najbardziej poprawnie można go traktować jako logiczny projekt podstawowych struktur danych używanych do przechowywania danych. W modelu relacyjnym są to tabele i widoki . W bazie danych obiektów encje i relacje są mapowane bezpośrednio na klasy obiektów i nazwane relacje. Jednak termin „projektowanie bazy danych” może być również używany w odniesieniu do całego procesu projektowania, nie tylko bazowych struktur danych, ale także formularzy i zapytań używanych jako część ogólnej aplikacji bazy danych w ramach systemu zarządzania bazami danych lub DBMS.

W tym procesie interfejsy systemowe stanowią od 25% do 70% kosztów rozwoju i wsparcia obecnych systemów. Głównym powodem tego kosztu jest to, że systemy te nie mają wspólnego modelu danych. Jeśli modele danych są opracowywane na zasadzie system po systemie, to nie tylko ta sama analiza jest powtarzana w nakładających się obszarach, ale należy przeprowadzić dalszą analizę w celu stworzenia interfejsów między nimi. Większość systemów w organizacji zawiera te same podstawowe dane, opracowane na nowo w określonym celu. Dlatego efektywnie zaprojektowany podstawowy model danych może zminimalizować przeróbki przy minimalnych modyfikacjach na potrzeby różnych systemów w organizacji

Metodyki modelowania

Modele danych reprezentują interesujące obszary informacyjne. Chociaż istnieje wiele sposobów tworzenia modeli danych, według Len Silverstona (1997) wyróżniają się tylko dwie metodologie modelowania, odgórna i oddolna:

  • Modele oddolne lub modele View Integration są często wynikiem prac inżynieryjnych . Zwykle zaczynają się od istniejących formularzy struktur danych, pól na ekranach aplikacji lub raportów. Modele te są zazwyczaj fizyczne, specyficzne dla aplikacji i niekompletne z perspektywy przedsiębiorstwa . Nie mogą promować udostępniania danych, zwłaszcza jeśli są zbudowane bez odniesienia do innych części organizacji.
  • Z drugiej strony odgórne logiczne modele danych są tworzone w sposób abstrakcyjny, pobierając informacje od osób znających dany obszar tematyczny. System może nie implementować wszystkich encji w modelu logicznym, ale model służy jako punkt odniesienia lub szablon.

Czasami modele są tworzone przez połączenie dwóch metod: poprzez uwzględnienie potrzeb danych i struktury aplikacji oraz konsekwentne odwoływanie się do modelu obszaru tematycznego. Niestety w wielu środowiskach rozróżnienie między logicznym modelem danych a fizycznym modelem danych jest zamazane. Ponadto niektóre narzędzia CASE nie rozróżniają modeli danych logicznych i fizycznych .

Diagramy encja-relacja

Przykład diagramów encji i relacji IDEF1X użytych do modelowania samego IDEF1X. Nazwa widoku to mm. Podana jest również hierarchia domen i ograniczenia. Ograniczenia są wyrażone w postaci zdań w formalnej teorii metamodelu.

Istnieje kilka notacji do modelowania danych. Rzeczywisty model jest często nazywany „modelem encji i relacji”, ponieważ przedstawia dane w kategoriach encji i relacji opisanych w danych . Model relacji encji (ERM) jest abstrakcyjną konceptualną reprezentacją danych strukturalnych. Modelowanie encji i relacji jest metodą modelowania baz danych schematów relacyjnych , wykorzystywaną w inżynierii oprogramowania do tworzenia typu pojęciowego modelu danych (lub semantycznego modelu danych ) systemu, często relacyjnej bazy danych , i jego wymagań w sposób odgórny .

Modele te są wykorzystywane w pierwszym etapie projektowania systemu informatycznego podczas analizy wymagań w celu opisania potrzeb informacyjnych lub rodzaju informacji, które mają być przechowywane w bazie danych . Modelowanie danych technika może być stosowany do opisania każdego ontologii (tj przegląd i klasyfikacje używanych terminów i ich relacji) przez pewien uniwersum dyskursu czyli obszar zainteresowania.

Opracowano kilka technik projektowania modeli danych. Chociaż te metodologie kierują modelami danych w ich pracy, dwie różne osoby korzystające z tej samej metodologii często uzyskują bardzo różne wyniki. Najbardziej godne uwagi są:

Ogólne modelowanie danych

Przykład ogólnego modelu danych.

Ogólne modele danych to uogólnienia konwencjonalnych modeli danych . Definiują one standardowe typy relacji ogólnych wraz z rodzajami rzeczy, które mogą być powiązane przez taki typ relacji. Definicja generycznego modelu danych jest podobna do definicji języka naturalnego. Na przykład ogólny model danych może definiować typy relacji, takie jak „relacja klasyfikacyjna”, będąca relacją binarną między indywidualną rzeczą a rodzajem rzeczy (klasą) oraz „relacją część-całość”, będącą relacją binarną między dwie rzeczy, jedna z rolą części, druga z rolą całości, niezależnie od tego, jakie rzeczy są ze sobą powiązane.

Biorąc pod uwagę rozszerzalną listę klas, pozwala to na klasyfikację dowolnej indywidualnej rzeczy i określenie relacji część-całość dla dowolnego indywidualnego obiektu. Dzięki standaryzacji rozszerzalnej listy typów relacji, generyczny model danych umożliwia wyrażanie nieograniczonej liczby rodzajów faktów i zbliża się do możliwości języków naturalnych. Z drugiej strony konwencjonalne modele danych mają ustalony i ograniczony zakres dziedzinowy, ponieważ tworzenie (wykorzystanie) takiego modelu pozwala tylko na wyrażenia rodzajów faktów, które są predefiniowane w modelu.

Semantyczne modelowanie danych

Logiczna struktura danych DBMS, czy to hierarchiczna, sieciowa czy relacyjna, nie może całkowicie spełnić wymagań dotyczących koncepcyjnej definicji danych, ponieważ ma ograniczony zakres i jest ukierunkowana na strategię implementacji zastosowaną przez DBMS. Dzieje się tak, chyba że semantyczny model danych jest celowo zaimplementowany w bazie danych, co może nieznacznie wpłynąć na wydajność, ale ogólnie znacznie poprawia produktywność.

Semantyczne modele danych.

Dlatego potrzeba zdefiniowania danych z punktu widzenia konceptualnego doprowadziła do rozwoju semantycznych technik modelowania danych . To znaczy techniki definiowania znaczenia danych w kontekście ich wzajemnych powiązań z innymi danymi. Jak pokazano na rysunku, świat rzeczywisty, pod względem zasobów, pomysłów, wydarzeń itp., jest symbolicznie zdefiniowany w fizycznych magazynach danych. Semantyczny model danych to abstrakcja, która określa, w jaki sposób przechowywane symbole odnoszą się do świata rzeczywistego. Dlatego model musi być prawdziwą reprezentacją świata rzeczywistego.

Semantyczny model danych może służyć do wielu celów, takich jak:

  • planowanie zasobów danych
  • budowanie udostępnianych baz danych
  • ocena oprogramowania dostawcy
  • integracja istniejących baz danych

Ogólnym celem semantycznych modeli danych jest uchwycenie większego znaczenia danych poprzez zintegrowanie pojęć relacyjnych z potężniejszymi pojęciami abstrakcji znanymi z dziedziny sztucznej inteligencji . Pomysł polega na zapewnieniu prymitywów modelowania wysokiego poziomu jako integralnej części modelu danych, aby ułatwić reprezentację sytuacji ze świata rzeczywistego.

Zobacz też

Bibliografia

Dalsza lektura

  • JH ter Bekkego (1991). Semantyczne modelowanie danych w środowiskach relacyjnych
  • John Vincent Carlis, Joseph D. Maguire (2001). Opanowanie modelowania danych: podejście zorientowane na użytkownika .
  • Alan Chmura, J. Mark Heumann (2005). Logiczne modelowanie danych: co to jest i jak to zrobić .
  • Martina E. Modella (1992). Analiza danych, modelowanie danych i klasyfikacja .
  • M. Papazoglou, Stefano Spaccapietra, Zahir Tari (2000). Postępy w obiektowym modelowaniu danych .
  • G. Lawrence Sanders (1995). Modelowanie danych
  • Graeme C. Simsion, Graham C. Witt (2005). Podstawy modelowania danych
  • Matthew West (2011) Tworzenie modeli danych wysokiej jakości

Zewnętrzne linki