Modelowanie Danych (ERD – Entity Relationship Diagram)
Definicja
ERD (Entity Relationship Diagram), czyli diagram związków encji, to narzędzie analizy systemowej służące do projektowania logicznej struktury bazy danych. Pozwala on zrozumieć, jakie dane system musi przechowywać oraz w jaki sposób poszczególne obiekty biznesowe (np. Klient, Produkt, Zamówienie) są ze sobą powiązane.
Kluczowe elementy diagramu ERD
Aby poprawnie odczytać lub stworzyć diagram ERD, należy poznać jego trzy podstawowe składniki:
1. Encja (Entity)
To konkretny obiekt, o którym chcemy zbierać informacje. Na diagramie przedstawiana jest jako prostokąt.
- Przykład: Klient, Pracownik, Faktura.
2. Atrybut (Attribute)
Cecha opisująca daną encję. Atrybuty to dane, które będą przechowywane w kolumnach tabeli bazy danych.
- Przykład: Imię, Nazwisko, NIP, Data_Urodzenia.
- Klucz główny (Primary Key - PK): Unikalny atrybut identyfikujący dany rekord (np. ID_Klienta).
3. Relacja (Relationship)
Linia łącząca encje, która opisuje, jak obiekty wchodzą ze sobą w interakcje. Relacje definiują logikę biznesową systemu.
Liczebność relacji (Cardinality)
Kluczowym aspektem ERD jest określenie liczebności powiązań (tzw. kardynalność), najczęściej oznaczanej za pomocą notacji “kurza stopka” (Crow’s Foot notation):
- Jeden do jednego (1:1): Jednemu rekordowi w tabeli A odpowiada dokładnie jeden rekord w tabeli B (np. Obywatel – PESEL).
- Jeden do wielu (1:N): Jednemu rekordowi w tabeli A odpowiada wiele rekordów w tabeli B (np. Klient – Zamówienia).
- Wielu do wielu (M:N): Wiele rekordów w tabeli A może odpowiadać wielu rekordom w tabeli B (np. Autorzy – Książki). W bazach relacyjnych takie powiązanie wymaga zazwyczaj tabeli pośredniczącej.
Poziomy modelowania danych
W procesie analizy systemowej model danych ewoluuje:
- Model Konceptualny: Wysokopoziomowy widok dla biznesu, zawiera tylko główne encje i relacje.
- Model Logiczny: Bardziej szczegółowy, zawiera wszystkie atrybuty i klucze, ale jest niezależny od konkretnej technologii bazy danych.
- Model Fizyczny: Najbardziej szczegółowy, uwzględnia typy danych (np. VARCHAR, INT), indeksy i ograniczenia konkretnego silnika bazy danych (np. PostgreSQL, SQL Server).
Dlaczego ERD jest ważne dla Analityka?
- Eliminacja redundancji: Pomaga zaprojektować bazę tak, aby nie dublować tych samych informacji w wielu miejscach (normalizacja).
- Weryfikacja wymagań: Jeśli biznes mówi o “historii zmian statusu”, a na ERD nie ma tabeli logów, oznacza to lukę w projekcie.
- Komunikacja z IT: ERD jest dla programisty konkretną instrukcją, jak zbudować bazę danych, która obsłuży logikę opisaną w Przypadkach użycia.
Typowe błędy
- ❌ Brak kluczy głównych – Uniemożliwia jednoznaczną identyfikację rekordów.
- ❌ Relacje “wiszące” – Encje, które nie łączą się z niczym innym, co sugeruje błąd w analizie procesów.
- ❌ Mieszanie poziomów – Umieszczanie szczegółów technicznych (np. wielkość bufora) na modelu konceptualnym dla biznesu.
Podsumowanie
Modelowanie danych to serce analizy systemowej. Bez solidnego diagramu ERD trudno o stabilny i skalowalny system informatyczny. Dobrze zaprojektowany model danych to fundament, na którym opiera się cała logika biznesowa Twojej aplikacji.
Powiązane pojęcia:
Kliknij w pojęcie, aby przejść do jego definicji w słowniku
Inne pojęcia ze słownika
Agile
Zwinne podejście do zarządzania projektami i wytwarzania oprogramowania, stawiające na iteracyjność, współpracę i szybkie dostarczanie wartości.
Czytaj więcej →Baza danych
Zorganizowany zbiór danych przechowywanych i zarządzanych w sposób elektroniczny, który umożliwia szybki dostęp, modyfikację oraz analizę informacji przez aplikacje i użytkowników.
Czytaj więcej →Sprint
Krótki, stały przedział czasu, w którym Zespół Scrumowy pracuje nad dostarczeniem konkretnego przyrostu produktu.
Czytaj więcej →
Latarnia Analizy