🎯 Definicja
Modelowanie danych to proces projektowania “planu architektonicznego” dla danych. Zanim zbudujesz bazę danych, musisz narysować, jakie będą tabele, jakie kolumny i jak się ze sobą połączą. Bez modelu system staje się bałaganem.
🔑 Kluczowe punkty
- Poziomy abstrakcji:
- Koncepcyjny: “Klienci kupują Produkty” (dla Biznesu).
- Logiczny: “Tabela Klienci ma ID i Nazwisko” (dla Analityków).
- Fizyczny: “Tabela
CUST_T01na partycji D, kolumnaVARCHAR(50)” (dla DBA).
- Cel: Zrozumienie danych, unikanie duplikatów, wydajność.
📚 Szczegółowe wyjaśnienie
Dobre modelowanie to sztuka kompromisu między elastycznością (łatwo dodać nowe funkcje) a wydajnością (szybkie zapytania). Dwa główne podejścia:
- OLTP (Relacyjne): Normalizacja (3NF). Unikanie powtórzeń. Dobre do zapisu (np. system kasowy).
- OLAP (Wymiarowe): Denormalizacja (Star Schema). Celowe powtórzenia. Dobre do odczytu (np. raport sprzedaży).
💡 Przykład zastosowania
Budujesz sklep internetowy.
Model Koncepcyjny: “Klient składa Zamówienie”.
Model Logiczny: Encja Klient (Imię, Email), Encja Zamówienie (Data, Suma), Relacja 1:N.
Model Fizyczny: CREATE TABLE customers (...).
📌 Źródła
- “Data Modeling Essentials” (Simsion & Witt).
👽 Brudnopis
- Obecnie popularne jest “Data Modeling in the Modern Stack” (dbt), gdzie modelowanie odbywa się często już po załadowaniu danych (ELT zamiast ETL).