Twoje Centrum Szkoleniowe

Nauczmy się dziś czegoś nowego!

Kurs programowania - SQL

Diagram ERD (Entity-Relationship Diagram): encje, związki encji, atrybuty

W tym rozdziale omówimy diagramy ERD (Entity-Relationship Diagram) na przykładzie bazy danych „Dziennik”, która przechowuje informacje o uczniach, klasach, nauczycielach, przedmiotach i ocenach. Diagram ERD to narzędzie, które pomaga zrozumieć strukturę bazy danych poprzez przedstawienie obiektów (encji), ich właściwości (atrybutów) oraz relacji między nimi.

Co to jest diagram ERD?

Diagram ERD to graficzne przedstawienie elementów bazy danych, takich jak encje, atrybuty oraz relacje między encjami. Jest to pierwszy krok w projektowaniu bazy danych, który pozwala zobaczyć, jakie dane będą przechowywane i jak są ze sobą powiązane. Przykład diagramu ERD dla bazy „Dziennik” pomoże w zrozumieniu, jak przechowujemy informacje o uczniach, nauczycielach i ocenach.

Podstawowe pojęcia w ERD

Aby lepiej zrozumieć diagramy ERD, musimy poznać kilka podstawowych pojęć, takich jak encje, atrybuty i związki.

Encja

Encja to obiekt, który chcemy przechowywać w bazie danych. W bazie „Dziennik” mamy kilka głównych encji. Encja Uczeń reprezentuje uczniów, posiadających takie atrybuty jak imie, nazwisko, oraz klasa_id, które wskazuje, do jakiej klasy należy uczeń. Encja Nauczyciel przechowuje dane o nauczycielach, z atrybutami imie i nazwisko. Mamy także encję Przedmiot, która przechowuje informacje o przedmiotach, takich jak „Matematyka” czy „Biologia”. Kolejną encją jest Klasa, która zawiera informacje o klasach, do których przypisani są uczniowie, jak np. „1A” lub „2B”. Istnieje również encja Ocena, przechowująca informacje o ocenach wystawionych uczniom z różnych przedmiotów przez nauczycieli. Atrybuty tej encji to m.in. ocena (wartość od 1 do 6), data_oceny oraz odniesienia do ucznia, nauczyciela, przedmiotu i kategorii oceny. Na końcu mamy encję KategoriaOceny, która zawiera informacje o typie oceny, np. „Kartkówka”, „Klasówka” czy „Zadanie domowe”.

Atrybuty

Atrybuty to cechy lub właściwości encji. Na przykład encja Uczeń ma atrybuty imie, nazwisko, i klasa_id. Encja Ocena posiada takie atrybuty jak ocena, data_oceny, oraz uczen_id, które opisują szczegóły dotyczące wystawionych ocen.

Związki encji

Związki między encjami opisują sposób, w jaki encje są ze sobą powiązane. Na przykład encja Uczeń jest powiązana z encją Klasa poprzez klasa_id. Każdy uczeń jest przypisany do jednej klasy, co tworzy relację „wiele do jednego” (wiele uczniów może należeć do jednej klasy). Podobnie Ocena jest powiązana z encją Uczeń – każda ocena jest przypisana do konkretnego ucznia, co oznacza, że jedna encja Uczeń może mieć wiele powiązanych z nią ocen, ale każda ocena odnosi się tylko do jednego ucznia.

Rodzaje relacji w ERD

W diagramach ERD wyróżniamy różne rodzaje relacji między encjami. Typ relacji opisuje, ile obiektów z jednej encji może być powiązanych z obiektami z innej encji.

Relacja jeden do jednego (1:1) oznacza, że każda instancja jednej encji jest powiązana z dokładnie jedną instancją drugiej encji. Przykładem może być sytuacja, w której każdy nauczyciel ma przypisany jeden gabinet.

Relacja jeden do wielu (1) oznacza, że każda instancja jednej encji może być powiązana z wieloma instancjami drugiej encji. W naszej bazie „Dziennik” takim przykładem jest związek między Klasa a Uczeń – jedna klasa może mieć wielu uczniów.

Relacja wiele do wielu (M) występuje wtedy, gdy każda instancja jednej encji może być powiązana z wieloma instancjami drugiej encji i na odwrót. Przykładowo, uczniowie mogą uczęszczać na wiele zajęć, a każde zajęcia mogą mieć wielu uczniów.

Przykład tworzenia diagramu ERD dla bazy „Dziennik”

Tworząc diagram ERD dla bazy „Dziennik”, najpierw identyfikujemy encje i ich atrybuty, a następnie określamy relacje między nimi, aby zobaczyć, jak dane są ze sobą powiązane.

Zaczynamy od zdefiniowania encji takich jak Uczeń, Nauczyciel, Klasa, Przedmiot, Ocena, oraz KategoriaOceny. Każda z tych encji ma swoje atrybuty, np. encja Uczeń zawiera id, imie, nazwisko, klasa_id, natomiast encja Ocena zawiera id, uczen_id, nauczyciel_id, przedmiot_id, kategoria_id, ocena, data_oceny.

Następnie określamy relacje między encjami. Uczeń jest powiązany z Klasa poprzez klucz obcy klasa_id, co oznacza, że każdy uczeń jest przypisany do jednej klasy. Ocena jest powiązana z encjami Uczeń, Nauczyciel, Przedmiot oraz KategoriaOceny poprzez odpowiednie klucze obce (uczen_id, nauczyciel_id, przedmiot_id, kategoria_id), co umożliwia dokładne przypisanie każdej oceny do odpowiedniego ucznia, nauczyciela, przedmiotu i kategorii.

Po ustaleniu encji, atrybutów i relacji możemy narysować diagram ERD. Encje są przedstawione jako prostokąty, atrybuty jako elipsy połączone z encjami, a związki jako romby łączące odpowiednie encje.

Przykład związku i relacji w bazie „Dziennik”

Weźmy przykład związku między encjami Uczeń a Ocena. Każdy uczeń może mieć wiele ocen, ale każda ocena dotyczy tylko jednego ucznia. W diagramie ERD przedstawiamy to jako relację „jeden do wielu” (1). „Jeden” odnosi się do encji Uczeń, a „wiele” do encji Ocena. Oznacza to, że jeden uczeń może mieć wiele ocen, ale każda ocena jest przypisana tylko do jednego ucznia. W tabeli Ocena znajduje się klucz obcy uczen_id, który wskazuje, do którego ucznia dana ocena należy. Dzięki temu możemy łatwo połączyć informacje o ocenach z danymi konkretnego ucznia.

Inny przykład to związek między Nauczyciel a Ocena. Każda ocena jest przypisana do jednego nauczyciela, który ją wystawił. Ta relacja również jest relacją „jeden do wielu”. „Jeden” odnosi się do nauczyciela, a „wiele” do ocen, ponieważ jeden nauczyciel może wystawić wiele ocen. Klucz obcy nauczyciel_id w tabeli Ocena wskazuje, który nauczyciel wystawił daną ocenę, co pozwala śledzić odpowiedzialność za każdą ocenę.

Podsumowanie

Diagram ERD jest ważnym narzędziem w projektowaniu baz danych, ponieważ pozwala zobaczyć, jakie obiekty chcemy przechowywać, jakie są ich właściwości oraz jakie relacje je łączą. W przypadku bazy „Dziennik”, encje takie jak Uczeń, Nauczyciel, Przedmiot, Klasa, Ocena i KategoriaOceny są ze sobą powiązane, aby efektywnie przechowywać informacje o uczniach, ich ocenach i nauczycielach. W kolejnych lekcjach dowiemy się, jak wykorzystać diagramy ERD do tworzenia relacyjnych baz danych w SQL oraz jak wdrażać takie struktury w praktyce.

Testy przypięte do lekcji
Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się
Aby widzieć ocenę lekcji - Zaloguj się