Model danych opisuje strukturę i powiązania danych. Definiuje encje, atrybuty i relacje. Klient ma adres. Zamówienie ma pozycje. Produkt należy do kategorii. Model jest planem działania. Informuje programistów, jak zbudować bazę danych i analityków, jak ją przeszukiwać. Dobry model odzwierciedla działalność firmy. Zły wprowadza zamieszanie, które utrzymuje się latami.
Modele występują w poziomach. Model koncepcyjny opisuje jednostki biznesowe i ich relacje na wysokim poziomie. Model logiczny dodaje szczegóły: atrybuty, klucze i normalizację. Model fizyczny określa tabele, kolumny, indeksy i pamięć masową. Każdy poziom służy innej grupie odbiorców. Interesariusze biznesowi rozumieją model koncepcyjny. Deweloperzy pracują z modelem fizycznym. Proces modelowania wymusza przejrzystość. Czym właściwie jest klient? Czy potencjalny klient jest klientem? Co się dzieje, gdy zamówienie zostanie anulowane? Odpowiedzi na te pytania uzyskuje się podczas modelowania, a nie w sytuacji kryzysowej. Źle zaprojektowane modele powodują problemy, które trudno naprawić. Zdenormalizowane tabele prowadzą do anomalii aktualizacji. Brak kluczy prowadzi do duplikatów. Niespójne nazewnictwo prowadzi do zamieszania. Zmiana modelu po załadowaniu danych jest kosztowna. Poprawne rozwiązanie na początku jest tańsze, choć nigdy nie jest łatwe.
Poziomy modeli
- Konceptualne — podmioty i relacje biznesowe
- Logiczne — atrybuty, klucze i normalizacja
- Fizyczne — tabele, kolumny, indeksy i magazyny
- Wymiarowe — schematy gwiazdy i płatka śniegu do analizy
Model danych to kontrakt. Określa znaczenie danych i sposób ich powiązania. Zerwanie kontraktu oznacza zerwanie wszystkiego, co na nim zbudowano.
Comments
No comments yet. Be the first to share a thought.
Leave a comment