Pojęcie encji i atrybutu encji w ERD

Identyfikacja, rozbudowa, relacje i złożone atrybuty · INF.03

Teoria Encje, atrybuty, relacje w ERD

  • Encja: obiekt/model w świecie rzeczywistym, np. Uczeń, Samochód, Produkt, Faktura
  • Atrybut encji: cecha/parametr danego obiektu, np. nazwisko ucznia, model auta, cena produktu
  • Relacja: powiązanie encji (np. Uczeń należy do Klasy, Produkt należy do Zamówienia)
  • Diagram ERD pokazuje strukturę (np. prostokąty = encje, elipsy = atrybuty, romby = relacje)
  • Modelowanie encji pozwala na tworzenie logiki bazy i dalej jej implementację
  • Atrybuty mogą być proste (np. liczba, tekst), złożone (np. adres podzielony na pola), wielowartościowe (np. listy e-maili)

Ćwiczenie 1 Identyfikacja encji i atrybutów

Zadanie: Na podstawie opisu: „System szkoły: uczniowie, klasy, nauczyciele, lekcje, przedmioty” – wyodrębnij encje i podaj atrybuty dla każdej.
Encje:
- Uczniowie: id, imię, nazwisko, PESEL, data_urodzenia, klasa_id
- Klasa: id, nazwa, rok, wychowawca_id
- Nauczyciel: id, imię, nazwisko, specjalizacja
- Lekcja: id, przedmiot_id, nauczyciel_id, klasa_id, data, godzina
- Przedmiot: id, nazwa

Ćwiczenie 2 Tworzenie encji z atrybutami złożonymi i wielowartościowymi

Zadanie: Zaprojektuj encję „Uczeń”, gdzie adres to atrybut złożony, a kontakty to lista telefonów.
Encja: Uczeń
Atrybuty:
- id
- imie
- nazwisko
- adres: ulica, nr domu, kod pocztowy, miasto
- kontakty: lista_telefonow (np. tablica lub osobna encja)

Ćwiczenie 3 Tworzenie ERD na podstawie opisu systemu

Zadanie: Narysuj diagram ERD dla systemu hotelowego z encjami: Gość, Pokój, Rezerwacja, Obsługa. Zdefiniuj atrybuty i relacje.
Gość (id, imię, nazwisko, telefon)
Pokój (id, numer, typ, piętro)
Rezerwacja (id, gość_id, pokój_id, data_od, data_do)
Obsługa (id, imię, stanowisko)

Relacje:
Gość — Rezerwacja — Pokój (n:n, przez Rezerwację)
Rezerwacja — Obsługa (1:n, obsługa może obsługiwać wiele rezerwacji)

Ćwiczenie 4 Projektowanie encji dla złożonego systemu (bankowego)

Zadanie: Zdefiniuj encje i atrybuty dla systemu bankowego: klient, konto, karta, transakcja, oddział — uwzględnij atrybuty kluczowe i złożone (np. adres).
Klient (id, imię, nazwisko, pesel, adres: miasto, ulica, kod, email)
Konto (id, klient_id, numer_konta, saldo, typ)
Karta (id, konto_id, nr_karty, ważność, typ)
Transakcja (id, konto_id, data, typ, kwota, opis)
Oddział (id, miasto, adres, manager_id)

Case study Złożone encje w systemach nowoczesnych

Przykład: Encje z atrybutami semistrukturalnymi: pole JSON/metadane w encji Produkt (e-commerce), pole adresy z wieloma e-mailami w encji Użytkownik, atrybuty w systemie crm (profile customowe).

Quiz Sprawdź wiedzę o encjach!

  1. Czym jest encja?
  2. Co odróżnia atrybut prosty od złożonego?
  3. Jak przedstawić relację n:n w ERD?
  4. Czy encja może mieć atrybut będący tablicą?
  • Obiekt w modelu rzeczywistym, reprezentowany w bazie
  • Złożony składa się z kilku pól, prosty — wyłącznie jednej wartości
  • Przez tabelę pośrednią/encję relacji
  • Tak, np. lista telefonów, e-maili (NoSQL, relacje z osobną encją)

Checklista Umiejętności po module

  • Identyfikuję encje i projektuję ich atrybuty
  • Tworzę encje z atrybutami złożonymi i wielowartościowymi
  • Modeluję relacje i tworzę diagramy ERD
  • Stosuję nowoczesne typy/metadane w encjach
Materiały: INF.03 — Encje, atrybuty, relacje i złożone modele · Autor: Tomasz Puchała © 2025