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
Definition of Done (DoD)
Wspólne rozumienie zespołu na temat tego, co oznacza, że dany element backlogu jest w pełni ukończony i gotowy do wydania.
Czytaj więcej →SQL (Structured Query Language) – Język komunikacji z danymi
Standardowy język programowania służący do zarządzania relacyjnymi bazami danych, umożliwiający wyszukiwanie, dodawanie, aktualizację i usuwanie informacji.
Czytaj więcej →Programowanie Obiektowe (OOP)
Paradygmat programowania oparty na koncepcji 'obiektów', które łączą dane (pola) oraz działania (metody). Pozwala na tworzenie modularnego, łatwego w utrzymaniu i skalowalnego kodu.
Czytaj więcej →
Latarnia Analizy