Trzy poziomy modelowania
Modelowanie danych odbywa się na trzech poziomach abstrakcji, każdy skierowany do innego odbiorcy i służący innemu celowi:
| Poziom | Cel | Notacja | Odbiorca |
|---|---|---|---|
| Konceptualny | Opis biznesowy obszaru danych | Encje i relacje wysokiego poziomu | Analitycy biznesowi, właściciele domen |
| Logiczny | Struktura niezależna od technologii | Tabele, kolumny, klucze, typy | Architekci danych, analitycy systemów |
| Fizyczny | Implementacja w konkretnej bazie | DDL, indeksy, partycjonowanie | Inżynierowie danych, DBA |
Model konceptualny definiuje główne encje i ich wzajemne powiązania bez wchodzenia w szczegóły atrybutów. Model logiczny precyzuje atrybuty każdej encji, typy danych i reguły integralności. Model fizyczny jest bezpośrednim odzwierciedleniem struktury bazy danych z uwzględnieniem specyfiki silnika (partycjonowanie, indeksy, kompresja).
Articles published on this website summarize publicly available information, industry research and educational materials.
Diagram encja-relacja (ERD)
Diagram encja-relacja (Entity-Relationship Diagram) jest graficzną reprezentacją modelu danych. Encje reprezentowane są jako prostokąty, atrybuty jako elipsy (lub listy w notacji Crow's Foot), a relacje jako linie łączące encje z oznaczeniem kardynalności.
Popularne notacje ERD: notacja Chena (oryginalna notacja akademicka), notacja Crow's Foot (szeroko stosowana w narzędziach CASE i dokumentacji technicznej) i notacja UML (klasy zamiast encji).
Normalizacja danych
Normalizacja to proces organizowania danych w celu minimalizacji redundancji i zależności. Wyróżnia się kilka postaci normalnych (Normal Form — NF):
| Postać normalna | Wymaganie | Eliminuje |
|---|---|---|
| 1NF | Atomowe wartości, unikalne wiersze | Grupy powtarzające się |
| 2NF | 1NF + brak częściowej zależności | Zależności od części klucza złożonego |
| 3NF | 2NF + brak przechodniej zależności | Zależności przez kolumny nieklucza |
| BCNF | Silniejsza wersja 3NF | Anomalie w kluczach złożonych |
| 4NF | BCNF + brak wielowartościowych zależności | Redundancja wielowartościowa |
W systemach transakcyjnych (OLTP) normalnie dąży się do 3NF lub BCNF, co minimalizuje anomalie aktualizacji i redundancję. Tabele są mniejsze, ale zapytania wymagają wielu złączeń (JOIN).
Denormalizacja w hurtowniach danych
Denormalizacja polega na świadomym wprowadzeniu redundancji do modelu danych w celu przyspieszenia zapytań. W hurtowniach danych jest to standardowa praktyka — tabele wymiarów w schemacie gwiazdy są zdenormalizowane, co eliminuje potrzebę złączeń i przyspiesza agregacje.
Modele analityczne
W środowiskach analitycznych stosuje się kilka wzorców modelowania:
- Schemat gwiazdy — centralna tabela faktów, zdenormalizowane tabele wymiarów
- Schemat płatka śniegu — tabele wymiarów w 3NF z hierarchią powiązań
- Data Vault — modelowanie zorientowane na historię: hubs (klucze biznesowe), links (relacje), satellites (atrybuty)
- One Big Table (OBT) — jedna szeroka tabela z wszelkimi atrybutami; typowe w środowiskach ML
Typy relacji między encjami
| Typ relacji | Opis | Przykład |
|---|---|---|
| Jeden-do-jednego (1:1) | Jeden rekord powiązany z dokładnie jednym | Klient — konto bankowe |
| Jeden-do-wielu (1:N) | Jeden rekord powiązany z wieloma | Kategoria — produkty |
| Wiele-do-wielu (N:M) | Wiele rekordów po obu stronach | Studenci — kursy |