🎯 Cele lekcji

🗺️

1. Metodyka projektowania diagramu E/R

Projektowanie bazy danych to proces iteracyjny. Poniżej 5 kluczowych kroków:

KrokCzynność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):

📌 Zapamiętaj