ERD to skrót od Entity-Relationship Diagram (diagram encji i relacji). To wizualna reprezentacja struktury twojej bazy danych, która pokazuje, jak encje (tabele) są ze sobą powiązane.
Wyobraź sobie, że ERD to mapa metra dla bazy danych. Stacje to tabele, a linie między nimi to relacje. Ta mapa pomaga ci ogarnąć, jak przemieszczać się między stacjami (i jak tabele ze sobą współpracują).
ERD składa się z:
- Encji: to obiekty albo tabele, takie jak "Studenci", "Kursy", "Wykładowcy".
- Atrybutów: to kolumny w tabelach, np.
ID,Imię,Nazwisko. - Relacji: to linie między tabelami, pokazujące powiązania, np. jeden student zapisany na wiele kursów.
Dzięki ERD możesz nie tylko zaplanować bazę danych, ale też pokazać kolegom lub szefowi, jak to wszystko działa. To mega przydatne narzędzie dla każdego dev'a!
Podstawowe elementy ERD
- Encje
Encja to taka miniaturowa baza danych. Każda encja odpowiada rzeczywistemu obiektowi lub pojęciu, którym chcesz zarządzać w swoim systemie. Przykłady:
- Tabela "Studenci".
- Tabela "Kursy".
- Tabela "Wydania" (w systemie bibliotecznym).
Przykład:
+---------------+
| Studenci |
+---------------+
| ID |
| Imię |
| Nazwisko |
| Data urodzenia|
+---------------+
- Atrybuty Atrybuty to pojedyncze właściwości lub cechy encji. Są wyświetlane jako kolumny w tabeli bazy danych. Przykłady:
- Dla tabeli "Studenci" to mogą być
ID,Imię,Nazwisko. - Dla tabeli "Kursy" to
ID Kursu,Nazwa kursu.
W ERD najczęściej zapisuje się je wewnątrz prostokąta oznaczającego encję.
Relacje między encjami
Relacja pokazuje, jak dwie encje współdziałają ze sobą. Przypomnę podstawowe typy relacji:
- Jeden do jednego (1:1): np. każdy student ma jedną unikalną legitymację.
- Jeden do wielu (1:N): np. jeden wykładowca może prowadzić kilka kursów.
- Wiele do wielu (M:N): np. kilku studentów zapisanych na kilka kursów.
Przykład relacji "Jeden do wielu":
Studenci (1) <----- zapisany -----> (N) Kursy
Do realizacji relacji w bazie danych zwykle używamy kluczy obcych.
Jak zbudować ERD?
Przejdźmy przez proces budowania ERD krok po kroku, a także przykład dla biblioteki.
Krok 1: Określ encje
Twoje zadanie to rozbić system na główne obiekty. Przykładowo, dla systemu bibliotecznego to:
- "Książki".
- "Czytelnicy".
- "Wydania".
Przykład:
+-------------+ +--------------+ +------------+
| Książki | | Czytelnicy | | Wydania |
+-------------+ +--------------+ +------------+
| ID | | ID | | ID |
| Tytuł | | Imię | | Czytelnik |
| Autor | | Nazwisko | | Książka |
| ISBN | | Data urodzenia| | Data wydania|
+-------------+ +--------------+ +------------+
Krok 2: Dodaj atrybuty
Każda encja powinna mieć kluczowe atrybuty. Przykłady:
- Tabela "Książki" powinna zawierać
ID(klucz główny),Tytuł,Autor,ISBN. - Tabela "Czytelnicy" —
ID,Imię,Nazwisko.
Krok 3: Ustal relacje
Teraz dodaj relacje między encjami:
- "Wydania" są powiązane z "Książkami" (jedna książka może być wydana kilka razy).
- "Wydania" są powiązane z "Czytelnikami" (jeden czytelnik może wypożyczyć kilka książek).
Krok 4: Zwizualizuj
Użyj dowolnego narzędzia do tworzenia diagramów, np.:
- draw.io
- dbdiagram.io
- Lucidchart
- Microsoft Visio
Diagram będzie wyglądał tak:
[Czytelnicy] ----(1:N)---- [Wydania] ----(N:1)---- [Książki]
Dla każdej relacji dodaj typ danych i wyjaśnienie, np.:
- ID Czytelnika w "Wydaniach" powiązane z kluczem głównym tabeli "Czytelnicy".
Przykład: ERD dla sklepu internetowego
Dla sklepu internetowego potrzebna będzie logiczna struktura, która obejmuje:
- Użytkownicy (zarejestrowani klienci).
- Produkty (towary).
- Zamówienia.
Krok 1: Encje
- Użytkownicy:
ID Użytkownika,Imię,Email. - Produkty:
ID Produktu,Nazwa,Cena. - Zamówienia:
ID Zamówienia,ID Użytkownika,Data zamówienia.
Krok 2: Ustalanie relacji
- Jeden użytkownik może złożyć kilka zamówień (1:N).
- Jedno zamówienie może zawierać kilka produktów (M:N).
Pełny diagram ERD:
[Użytkownicy] ----(1:N)---- [Zamówienia] ----(N:M)---- [Produkty]
Do realizacji relacji wiele do wielu dodaj tabelę pośrednią:
- Skład zamówień:
ID Zamówienia,ID Produktu,Ilość.
Porady dotyczące tworzenia ERD
Najpierw zastanów się, co chcesz zobaczyć w swojej bazie danych. Wszystko zaczyna się od zrozumienia twojej domeny.
Dodawaj tylko te atrybuty i encje, które naprawdę są ważne. Zbyt dużo szczegółów może tylko zamieszać.
Upewnij się, że wszystkie relacje mają sens. Jeśli jakaś relacja wydaje się dziwna, przemyśl ją jeszcze raz.
Korzystaj z narzędzi, które pomagają wizualizować diagramy. To oszczędza czas i nerwy.
GO TO FULL VERSION