Model logiczny baz danych. Jak działa model danych?

Model logiczny baz danych a fizyczny i koncepcyjny. Na czym polega modelowanie danych?

Modelowanie danych w języku SQL można podzielić na model logiczny, koncepcyjny oraz fizyczny. W niniejszym artykule zajmiemy się tematem projektowania baz danych pod kątem wyjaśnienia procesów, jakie zachodzą w modelowaniu logicznym. Zobacz, na czym to wszystko polega, a także dlaczego warto używać modeli danych w ramach administracji bazami danych.

10 przydatnych zapytań SQL dla Administratora Baz Danych

Model bazy danych – na czym polega projektowanie i modelowanie baz?

Pod pojęciem modelowania danych rozumiemy całokształt procesów, których celem jest stworzenie modelu danych do przechowywania w bazie danych. Efekt końcowy projektu to koncepcyjna reprezentacja obiektów danych, związków pomiędzy nimi, a także konkretnych zasad.

Proces modelowania okazuje się być niezwykle pomocny w przypadku wizualnego przedstawiania danych. Co więcej, wymusza on także wdrożenie i przestrzeganie polityki firmowej, zgodności z przepisami czy zasad zarządzania. Wszystkie elementy odnoszą się bezpośrednio do informacji, jakie znajdują się w bazie. Modele zapewniają jednocześnie spójność nazewnictwa, semantyki, bezpieczeństwa, a także zachowują wysoką jakość danych.

Model danych – co to takiego?

Skoro wyjaśniliśmy już proces, warto pochylić się także nad jego celem. Model danych to nic innego, jak pojęcie abstrakcyjne, które odzwierciedla organizację danych. Dotyczyć on może ich opisów, semantyki, a także ograniczenia ciągłości. Dzięki poszczególnym modelom możemy dowiedzieć się, jakie dane są potrzebne i w jaki sposób należy je organizować. W tym przypadku nie interesuje nas to, do jakich operacji przysłuży się dana baza.

Istnieją dwie techniki modelowania, które wyjaśnimy w dalszej części artykułu:

  • Diagram związków encji (ang. entity-relationship diagram, ERD).
  • Zunifikowany język modelowania (ang. Unified Modelling Language, UML).

Warto również zaznaczyć, że w kontekście baz danych SQL wyróżniamy trzy modele danych, a mianowicie:

  • Koncepcyjny model danych (ang. conceptual data model). Określa to, CO zawiera konkretny system. Najczęściej korzystają z niego interesariusze biznesowi oraz architekci danych. System ten ma na celu porządkować, określać zakres i definiować koncepcje biznesowe czy reguły.
  • Logiczny model danych (ang. logical data model). Określa to, JAK konkretny system powinno się implementować w bazie danych bez znaczenia na jej rodzaj. Używają go najchętniej architekci danych oraz analitycy biznesowi. Jego celem jest stworzenie technicznej mapy zasad i struktur danych.
  • Fizyczny model danych (ang. physical data model). Określa to, JAK konkretny system powinno się implementować w konkretnej bazie danych. Z tego procesu korzystają zwykle administratorzy baz danych i programiści. Cel tego modelu to faktyczne (fizyczne) wdrożenie bazy danych.

Zajmiemy się pokrótce każdym z wyżej wymienionych pojęć, aczkolwiek szczególny nacisk chcemy położyć na części „logicznej”.

Dlaczego warto korzystać z modeli danych w bazie?

Istnieje sporo zalet projektowania schematu bazy danych, do których odwołują się administratorzy (DBA). Korzystając z Oracle Database, MS SQL Server, PostgreSQL czy innych baz, można dzięki odpowiednim modelom zyskać szereg korzyści. Oto najciekawsze z nich:

  • Proces zapewnia faktyczną reprezentację wszystkich obiektów danych. Brak jakichkolwiek informacji może wówczas spowodować wygenerowanie błędnych raportów, czego skutkiem są niepoprawne wyniki.
  • Design bazy na poziomie koncepcyjnym, logicznym i fizycznym staje się łatwiejszy dzięki data modelingowi.
  • Struktura modeli pozwala definiować tabele relacyjne, klucz podstawowy, klucz obcy a także przechowywane procedury.
  • Administrator bazy danych uzyskuje wówczas jasny przegląd całej bazy, co może wykorzystać, by stworzyć fizyczną wersję database.
  • W ten sposób można również zidentyfikować brakujące lub niepotrzebne informacje.

Należy również podkreślić jedną niezwykle istotną rzecz. Wielu początkujących DBA odstraszać może czas i wysiłek, jaki trzeba poświęcić na zaplanowanie bazy. Pamiętaj jednak, że owoce swoich trudów będziesz zbierać, gdy przekonasz się, jak cała infrastruktura IT działać będzie lepiej, taniej i szybciej.

Model koncepcyjny danych w bazie danych

Podstawowy model to pojęcie skrywające się pod hasłem „koncepcyjnego”. Polega on na zorganizowanym widoku konceptów baz danych oraz ich relacji. Celem całego procesu jest stworzenie zbioru encji, ich atrybutów, jak również związków. Encja (ang. entity) występuje tu w roli reprezentacji obiektu lub ich grupy. Cały projekt opiera się w sumie na trzech filarach:

  • Encja, jako reprezentacja obiektu świata rzeczywistego.
  • Atrybut, jako charakterystyka cech głównych encji.
  • Związek, jako zależność lub połączenie pomiędzy dwiema encjami.

Struktura, jaką deweloper tworzy na tym etapie, przydać się może w kolejnym etapie, jakim jest budowa logicznego modelu danych.

kurs_praktyczna_administracja_postgresql_vertical_ad

Model logiczny danych w bazie

Z logicznych modeli korzystamy, gdy chcemy zdefiniować strukturę poszczególnych elementów danych, a także określić pomiędzy nimi relacje. Dodaje on więcej informacji do pojedynczych struktur modelu koncepcyjnego. Sporą zaletą korzystania z logicznego modelu jest stworzenie sobie podstaw do implementacji rozwiązań w modelu fizycznym.

Najważniejsze cechy logicznego modelu danych to:

  • Opis zapotrzebowania na dane dla pojedynczego projektu, jak również integracja z innymi modelami w oparciu o zakres projektu.
  • Planować i programować interfejs można bez względu na używany rodzaj bazy danych.
  • Atrybuty danych posiadają typy danych o dokładnej precyzji, a także długości.
  • Procesy normalizacyjne w modelu stosuje się zwykle do 3NF (Third Normal Form).

Ostatnią strategią planowania baz będzie physical model.

Fizyczny model danych w projektowaniu bazy

Relacyjna baza danych może wejść w życie po zastosowaniu fizycznego modelu danych. Opisuje on określone zasady implementacji dla konkretnej bazy danych. Pozwala programiście stworzyć pełen schemat działania dzięki bogactwu metadanych. 

Dzięki modelowi fizycznemu zyskać można wizualizację struktury bazodanowej poprzez replikacje następujących elementów: kolumny, kluczy, ograniczeń, indeksów, wyzwalaczy i innych.

Różnica między logicznym modelem danych a modelami fizycznymi i koncepcyjnymi

Nakreśliliśmy już, jakie funkcje i cechy posiadają poszczególne modele projektowania baz danych. Pora wyjaśnić kilka różnic w ramach przypadków użycia modeli danych. Każdy proces w inny sposób wpływa na to, jak rozumiemy struktury baz danych.

Najważniejsza różnica pomiędzy poszczególnymi modelami danych obejmuje inny rodzaj i cel designu. Koncepcyjny odnosi się do konceptów, a więc pomysłów na to, co znajdzie się w bazie. Logiczny i fizyczny są do siebie nieco podobne, choć ten pierwszy dotyczyć może każdego typu baz, podczas gdy drugi opisuje dane w specyficznym rodzaju bazy.

Korzystanie z projektowania nie jest wymagane, by zacząć pracę z administracją bazami danych. Jednakże, niezależnie od używanego systemu informatycznego, warto odpowiednio wcześniej zaplanować swoje działania. Zwłaszcza w przypadku, gdy mamy do czynienia z informacjami wysokiego poziomu poufności, jak numery PESEL, imię i nazwisko klienta czy numery kart kredytowych. W dłuższej perspektywie modele baz danych mogą pozwolić zaoszczędzić sobie kłopotów i pieniędzy w firmie. Choćby dlatego warto pochylić się nad ich zaletami.