Zastosować metodykę projektowania diagramu E/R krok po kroku
Analizować wymagania i identyfikować encje, atrybuty, związki
Zaprojektować kompletny diagram dla systemu szkoły
Ocenić poprawność zaprojektowanego diagramu
🗺️
1. Metodyka projektowania diagramu E/R
Projektowanie bazy danych to proces iteracyjny. Poniżej 5 kluczowych kroków:
Krok
Czynność
Techniki
1. Analiza wymagań
Zbierz i przeanalizuj wymagania klienta
Wywiady, dokumenty, przypadki użycia
2. Identyfikacja encji
Znajdź rzeczowniki w opisie wymagań
Podkreśl rzeczowniki w opisie
3. Zdefiniuj atrybuty
Dla każdej encji określ właściwości
Co chcemy wiedzieć o tej encji?
4. Określ związki
Znajdź czasowniki łączące encje
Podkreśl czasowniki, określ liczebność
5. Normalizacja
Sprawdź 1NF, 2NF, 3NF
Eliminacja redundancji i anomalii
Trick: W opisie wymagań rzeczowniki → encje lub atrybuty; czasowniki → związki. Pytaj: "Czy to ważny obiekt systemu, czy tylko właściwość innego obiektu?"
🏨
2. Case study: System zarządzania hotelem
Opis wymagań: "Hotel chce zarządzać rezerwacjami. Goście mogą rezerwowaćpokoje. Każdy pokój należy do określonego typu (np. standard, deluxe, suite). Rezerwacja ma datę przyjazdu, datę wyjazdu i cenę. Gość ma imię, nazwisko, email i numer telefonu. Pokój ma numer, piętro i status (wolny/zajęty). Typ pokoju ma nazwę, opis i cenę bazową."
Krok 2: Identyfikacja encji (rzeczowniki)
Z opisu wyodrębniamy: Gosc, Rezerwacja, Pokoj, Typ_pokoju
Krok 3: Atrybuty każdej encji
Krok 4: Związki (czasowniki)
"Gość rezerwuje Pokój" przez encję Rezerwacja — M:N rozłożone przez tabelę pośrednią
"Pokój należy do Typ_pokoju" — N:1
Gotowy diagram systemu hotelowego:
Gosc
🔑 id_goscia
imie
nazwisko
email (UNIQUE)
telefon
1——<o
Rezerwacja
🔑 id_rezerwacji
🔗 id_goscia (FK)
🔗 id_pokoju (FK)
data_przyjazdu
data_wyjazdu
cena_calkowita
status_rez
o>——1
Pokoj
🔑 id_pokoju
🔗 id_typu (FK)
numer_pokoju
pietro
status
N——1
Typ_pokoju
🔑 id_typu
nazwa
opis
cena_bazowa
max_osob
✏️
Zadania interaktywne
Zadanie 1Zaprojektuj encje dla systemu szkoły
Opis systemu: "Uczniowie chodzą na lekcje prowadzone przez nauczycieli w klasach. Każda lekcja ma temat i czas trwania. Uczeń należy do jednej klasy. Klasa ma wychowawcę."
Ile głównych encji powinieneś zidentyfikować w tym systemie?
2 encje (Uczen, Nauczyciel)
3 encje (Uczen, Nauczyciel, Lekcja)
4 encje (Uczen, Nauczyciel, Lekcja, Klasa)
5 lub więcej encji
Zadanie 2Uzupełnij atrybuty encji systemu szkoły
Dla encji Uczen dopasuj atrybuty do typów:
nr_albumu — identyfikator ucznia
id_klasy — do której klasy należy
imie, nazwisko — dane osobowe
data_urodzenia
Zadanie 3Oceń zaprojektowany diagram szkoły
Kolega zaprojektował taki schemat dla systemu szkoły:
uczniowie_lekcje (JEDNA TABELA)
id_ucznia
imie_ucznia
nazwisko_ucznia
id_lekcji
temat_lekcji
imie_nauczyciela
klasa_ucznia
Co jest niepoprawne w tym projekcie? (zaznacz wszystkie błędy):