Articles

modelowanie danych

dowiedz się, jak modelowanie danych wykorzystuje abstrakcję do reprezentowania i lepszego zrozumienia natury przepływu danych w systemie informacyjnym przedsiębiorstwa

czym jest modelowanie danych?

modelowanie danych to proces tworzenia wizualnej reprezentacji całego systemu informacyjnego lub jego części w celu komunikowania połączeń między punktami danych i strukturami. Celem jest zilustrowanie typów danych używanych i przechowywanych w systemie, relacji między tymi typami danych, sposobów grupowania i organizowania danych oraz ich formatów i atrybutów.

modele danych są zbudowane wokół potrzeb biznesowych. Zasady i wymagania są definiowane z góry na podstawie informacji zwrotnych od interesariuszy biznesowych, dzięki czemu można je włączyć do projektu nowego systemu lub dostosować do iteracji istniejącego.

dane mogą być modelowane na różnych poziomach abstrakcji. Proces rozpoczyna się od zebrania informacji o wymaganiach biznesowych od interesariuszy i użytkowników końcowych. Te reguły biznesowe są następnie tłumaczone na struktury danych w celu sformułowania konkretnego projektu bazy danych. Model danych można porównać do mapy drogowej, planu architekta lub dowolnego formalnego diagramu, który ułatwia głębsze zrozumienie tego, co jest projektowane.

modelowanie danych wykorzystuje znormalizowane schematy i techniki formalne. Zapewnia to wspólny, spójny i przewidywalny sposób definiowania i zarządzania zasobami danych w całej organizacji, a nawet poza nią.

najlepiej, aby modele danych były żywymi dokumentami, które ewoluują wraz ze zmieniającymi się potrzebami biznesowymi. Odgrywają ważną rolę we wspieraniu procesów biznesowych oraz planowaniu architektury i strategii IT. Modele danych mogą być udostępniane dostawcom, partnerom i/lub współpracownikom z branży.

rodzaje modeli danych

jak każdy proces projektowania, projektowanie baz danych i systemów informacyjnych zaczyna się na wysokim poziomie abstrakcji i staje się coraz bardziej konkretne i specyficzne. Modele danych można ogólnie podzielić na trzy kategorie, które różnią się w zależności od stopnia abstrakcji. Proces rozpocznie się od modelu koncepcyjnego, przejdzie do modelu logicznego i zakończy się modelem fizycznym. Każdy typ modelu danych omówiono bardziej szczegółowo poniżej:

  • koncepcyjne modele danych. Są one również określane jako modele domen i oferują pełny obraz tego, co system będzie zawierał, jak będzie zorganizowany i jakie reguły biznesowe są zaangażowane. Modele koncepcyjne są zwykle tworzone w ramach procesu zbierania początkowych wymagań projektowych. Zazwyczaj obejmują one klasy encji (definiujące rodzaje rzeczy, które są ważne dla firmy do reprezentowania w modelu danych), ich cechy i ograniczenia, relacje między nimi oraz odpowiednie wymagania dotyczące bezpieczeństwa i integralności danych. Każda notacja jest zazwyczaj prosta.
    schemat koncepcyjnego modelu danych
  • logiczne modele danych. Są one mniej abstrakcyjne i dostarczają więcej szczegółów na temat pojęć i relacji w rozważanej dziedzinie. Stosuje się jeden z kilku formalnych systemów notacji modelowania danych. Wskazują one atrybuty danych, takie jak typy danych i odpowiadające im długości, oraz pokazują relacje między podmiotami. Logiczne modele danych nie określają żadnych technicznych wymagań systemowych. Ten etap jest często pomijany w praktykach agile lub DevOps. Logiczne modele danych mogą być przydatne w wysoce proceduralnych środowiskach wdrożeniowych lub w projektach, które z natury są zorientowane na dane, takich jak projektowanie hurtowni danych lub rozwój systemu raportowania.
    schemat logicznego modelu danych
  • fizyczne modele danych. Dostarczają one schematu fizycznego przechowywania danych w bazie danych. Jako takie, są najmniej abstrakcyjne ze wszystkich. Oferują one sfinalizowany projekt, który może być zaimplementowany jako relacyjna baza danych, w tym tabele asocjacyjne, które ilustrują relacje między jednostkami, a także klucze podstawowe i klucze obce, które będą używane do utrzymania tych relacji. Fizyczne modele danych mogą zawierać właściwości specyficzne dla systemu zarządzania bazami danych (DBMS), w tym dostrajanie wydajności.
    schemat fizycznego modelu danych

proces modelowania danych

jako dyscyplina, modelowanie danych zachęca interesariuszy do szczegółowej oceny przetwarzania i przechowywania danych. Techniki modelowania danych mają różne konwencje, które określają, które symbole są używane do reprezentowania danych, jak modele są układane i jak wymagania biznesowe są przekazywane. Wszystkie podejścia zapewniają sformalizowane przepływy pracy, które obejmują sekwencję zadań do wykonania w sposób iteracyjny. Te przepływy pracy zazwyczaj wyglądają tak:

  1. identyfikują jednostki. Proces modelowania danych rozpoczyna się od identyfikacji rzeczy, zdarzeń lub pojęć, które są reprezentowane w zbiorze danych, który ma być modelowany. Każda jednostka powinna być spójna i logicznie oddzielona od wszystkich innych.
  2. identyfikuje kluczowe właściwości każdej jednostki. Każdy typ encji można odróżnić od wszystkich innych, ponieważ ma jedną lub więcej unikalnych właściwości, zwanych atrybutami. Na przykład podmiot o nazwie ” Klient „może posiadać takie atrybuty, jak imię, nazwisko, numer telefonu i pozdrowienie, podczas gdy podmiot o nazwie” adres ” może zawierać nazwę ulicy i numer, miasto, stan, kraj i Kod Pocztowy.
  3. identyfikuje relacje między podmiotami. Najwcześniejszy projekt modelu danych określi charakter relacji, jakie każdy podmiot ma z innymi. W powyższym przykładzie każdy klient „mieszka” pod adresem. Gdyby ten model został rozszerzony o podmiot zwany „zamówieniami”, każde zamówienie byłoby wysyłane i rozliczane na adres. Relacje te są zwykle dokumentowane za pomocą unified modeling language (UML).
  4. Mapuj atrybuty do encji całkowicie. Zapewni to, że model będzie odzwierciedlał sposób, w jaki firma wykorzysta dane. Wiele formalnych wzorców modelowania danych jest w powszechnym użyciu. Programiści zorientowani obiektowo często stosują wzorce analizy lub wzorce projektowe, podczas gdy interesariusze z innych dziedzin biznesowych mogą zwrócić się do innych wzorców.
  5. Przypisz klucze w razie potrzeby i zdecyduj o stopniu normalizacji, który równoważy potrzebę zmniejszenia redundancji z wymaganiami wydajności. Normalizacja jest techniką organizowania modeli danych (i baz danych, które reprezentują), w których identyfikatory numeryczne, zwane kluczami, są przypisywane do grup danych, aby reprezentować relacje między nimi bez powtarzania danych. Na przykład, jeśli każdemu klientowi przypisany jest klucz, klucz ten można powiązać zarówno z jego adresem, jak i historią zamówień bez konieczności powtarzania tych informacji w tabeli nazw klientów. Normalizacja ma tendencję do zmniejszania ilości miejsca, którego potrzebuje baza danych,ale wydajność zapytań może być kosztem.
  6. finalizuje i weryfikuje model danych. Modelowanie danych jest procesem iteracyjnym, który powinien być powtarzany i udoskonalany w miarę zmieniających się potrzeb biznesowych.

rodzaje modelowania danych

modelowanie danych ewoluowało wraz z systemami zarządzania bazami danych, a typy modeli stawały się coraz bardziej złożone wraz ze wzrostem potrzeb firm w zakresie przechowywania danych. Oto kilka typów modeli:

  • hierarchiczne modele danych reprezentują relacje od jednego do wielu w formacie przypominającym drzewo. W tego typu modelach każdy rekord ma pojedynczy rdzeń lub rodzic, który mapuje się do jednej lub więcej tabel potomnych. Model ten został wdrożony w IBM Information Management System (IMS), który został wprowadzony w 1966 roku i szybko znalazł szerokie zastosowanie, zwłaszcza w bankowości. Chociaż takie podejście jest mniej wydajne niż nowsze modele baz danych, nadal jest stosowane w systemach Extensible Markup Language (XML) i systemach informacji geograficznej (GISS).
  • relacyjne modele danych zostały pierwotnie zaproponowane przez badacza IBM E. F. Codda w 1970 roku. Są one nadal implementowane w wielu różnych relacyjnych bazach danych powszechnie używanych w komputerach korporacyjnych. Relacyjne modelowanie danych nie wymaga szczegółowego zrozumienia fizycznych właściwości używanego magazynu danych. W it segmenty danych są wyraźnie łączone za pomocą tabel, co zmniejsza złożoność bazy danych.

relacyjne bazy danych często wykorzystują structured query language (SQL) do zarządzania danymi. Te bazy danych działają dobrze w celu utrzymania integralności danych i minimalizacji redundancji. Są one często używane w systemach POS-of-sale, a także do innych rodzajów przetwarzania transakcji.

  • Modele danych Entity-relationship (ER) używają formalnych diagramów do reprezentowania relacji między podmiotami w bazie danych. Architekci danych wykorzystują kilka narzędzi do modelowania ER do tworzenia wizualnych map, które przekazują cele projektu bazy danych.
  • obiektowe modele danych zyskały popularność jako programowanie obiektowe i stały się popularne w połowie lat 90. XX wieku.” obiekty ” to abstrakcje rzeczywistych Bytów. Obiekty są grupowane w hierarchie klas i mają powiązane funkcje. Obiektowe bazy danych mogą zawierać tabele, ale mogą również obsługiwać bardziej złożone relacje danych. Takie podejście jest stosowane w multimedialnych i hipertekstowych bazach danych, a także w innych przypadkach użycia.
  • Modele danych wymiarowych zostały opracowane przez Ralpha Kimballa i zostały zaprojektowane w celu optymalizacji prędkości pobierania danych do celów analitycznych w hurtowni danych. Podczas gdy modele relacyjne i ER kładą nacisk na wydajną pamięć masową, modele wymiarowe zwiększają redundancję, aby ułatwić lokalizowanie informacji do raportowania i wyszukiwania. Modelowanie to jest zwykle stosowane w systemach OLAP.

dwa popularne modele danych wymiarowych to schemat gwiazdy, w którym dane są zorganizowane w Fakty (mierzalne elementy) i wymiary (informacje referencyjne), gdzie każdy fakt jest otoczony przez związane z nim wymiary w układzie przypominającym gwiazdę. Drugi to schemat płatka śniegu, który przypomina schemat gwiazdy, ale zawiera dodatkowe warstwy powiązanych wymiarów, dzięki czemu wzór rozgałęzienia jest bardziej złożony.

korzyści z modelowania danych

modelowanie danych ułatwia programistom, architektom danych, analitykom biznesowym i innym interesariuszom przeglądanie i zrozumienie relacji między danymi w bazie danych lub hurtowni danych. Ponadto może:

  • zmniejszyć błędy w tworzeniu oprogramowania i baz danych.
  • zwiększenie spójności dokumentacji i projektowania systemów w całym przedsiębiorstwie.
  • Popraw wydajność aplikacji i bazy danych.
  • ułatwia mapowanie danych w całej organizacji.
  • poprawa komunikacji pomiędzy programistami a zespołami business intelligence.
  • ułatwia i przyspiesza proces projektowania baz danych na poziomie koncepcyjnym, logicznym i fizycznym.

narzędzia do modelowania danych

liczne komercyjne i open source computer-aided Software engineering (CASE) rozwiązania są obecnie szeroko stosowane, w tym wiele narzędzi do modelowania danych, tworzenia diagramów i wizualizacji. Oto kilka przykładów:

  • erwin Data Modeler to narzędzie do modelowania danych oparte na języku modelowania danych Integration DEFinition for information modeling (IDEF1X), który obsługuje obecnie inne metody notacji, w tym podejście wymiarowe.
  • Enterprise Architect to narzędzie do modelowania wizualnego i projektowania, które wspiera modelowanie systemów i architektur informatycznych przedsiębiorstwa, a także aplikacji i baz danych. Opiera się na obiektowych językach i standardach.
  • ER / Studio to oprogramowanie do projektowania baz danych, które jest kompatybilne z kilkoma Najpopularniejszymi obecnie systemami zarządzania bazami danych. Obsługuje zarówno relacyjne, jak i wymiarowe modelowanie danych.
  • Darmowe narzędzia do modelowania danych obejmują rozwiązania open source, takie jak Open ModelSphere.

modelowanie danych i IBM Cloud

naukowcy z IBM byli jednymi z pionierów, którzy stworzyli pierwsze hierarchiczne i relacyjne modele danych, a także zaprojektowali bazy danych, w których modele te były początkowo wdrażane.

obecnie IBM Cloud oferuje platformę full stack, która obsługuje bogate portfolio baz danych SQL i NoSQL, a także narzędzia programistyczne potrzebne do efektywnego zarządzania zasobami danych w nich zawartych. IBM Cloud obsługuje również narzędzia open source, które pomagają programistom zarządzać przechowywaniem danych obiektowych, plików i bloków w celu optymalizacji wydajności i niezawodności.

chcesz dowiedzieć się więcej o modelowaniu danych w IBM Cloud? Zarejestruj się na IBMid i utwórz bezpłatne konto IBM Cloud już dziś.