ER
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!
- Czym jest encja?
- Co odróżnia atrybut prosty od złożonego?
- Jak przedstawić relację n:n w ERD?
- 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