Zaplecze szkoleniowe — zadania dla studentów
Dla kogo jest to zadanie?
To zadanie będziecie wykonywać w parach podczas wykładu. Wasz zespół, który ma zaprojektować bazę danych dla ośrodka szkoleniowego „Dąb”. Waszym pierwszym zadaniem jest ustalić, jakie informacje trzeba zapisywać i jakie zasady mają obowiązywać.
Pytania wpisujecie w formularzu na dole tej strony. Prowadzący odczyta je w swoim panelu i omówi wybrane kwestie na zajęciach.
Na pierwszym wykładzie przygotujecie krótką notatkę wymagań. Nie trzeba jeszcze pisać SQL, instalować bazy, rysować diagramu ani tworzyć aplikacji. W kolejnych wykładach ta sama historia posłuży do projektowania modelu i zapytań.
Wykład 1 — Ustalcie, co ma pamiętać baza
Sytuacja do przeanalizowania
Organizujemy szkolenia dla uczestników. Ten sam temat może być realizowany kilka razy, dla różnych osób. Chcę wiedzieć, kto jest zapisany na konkretne zajęcia, kto je prowadzi i ile miejsc jeszcze zostało. Zdarzają się rezygnacje.
To opis potrzeby, ale jeszcze nie kompletna instrukcja zaprojektowania bazy. Waszym zadaniem jest zamienić go na nazwane informacje i sprawdzalne zasady.
Dane, które już znacie
- Kurs oznacza temat, np. „Obsługa wyposażenia”.
- Edycja oznacza konkretne przeprowadzenie kursu, np. jego termin dla danej grupy. Ten sam kurs może mieć kilka edycji.
- Zapis opisuje uczestnictwo konkretnej osoby w konkretnej edycji.
- Status
confirmedoznacza zapis potwierdzony, acancelled— anulowany.
| Obiekt | Dane przykładowe |
|---|---|
| Uczestnicy | U1 Ada, U2 Bartek, U3 Celina |
| Kursy | K1 obsługa wyposażenia; K2 pierwsza pomoc |
| Edycje | E1: K1, limit 2; E2: K1, limit 4; E3: K2, limit 4 |
| Zapisy | U1–E1 confirmed; U2–E1 confirmed; U3–E2 confirmed; U2–E2 cancelled |
Symbole U1, K1 i E1 są identyfikatorami różnych rodzajów obiektów, nie nazwiskami ani numerami wierszy do zgadywania. Tabela pokazuje stan po rezygnacji Bartka z E2. Anulowanych zapisów nie usuwamy. Osoba może uczestniczyć w wielu edycjach.
Co przygotować przed zajęciami?
Przeczytajcie opis i tabelę powyżej. Notatkę możecie wcześniej przygotować w edytorze tekstu. Nie ma obowiązkowego pliku do przygotowania w domu; notatkę wykonacie na zajęciach. Jeśli nie rozumiecie symbolu lub pojęcia, zaznaczcie je jako pytanie do wyjaśnienia.
Krok 1 — Znajdźcie trzy brakujące ustalenia (5 minut)
W parze zastanówcie się, czego nadal nie wiecie, a co może zmienić sposób przechowywania danych lub ocenę poprawności zapisu. Przygotujcie trzy pytania związane z opisem. Możecie rozważyć:
- Czy zdarzenie lub powiązanie może się powtarzać?
- Co ma się stać, gdy zmieni się decyzja uczestnika?
- Które sytuacje system powinien odrzucać?
- Jakich informacji brakuje do raportu, o który prosi kierownik?
Przykład formy pytania: „Czy jedna edycja może mieć kilku prowadzących?”. Dopiszcie, dlaczego odpowiedź ma znaczenie: „Musimy ustalić, czy dla edycji zapisać jednego prowadzącego, czy umożliwić przypisanie kilku”. To przykład, nie komplet trzech pytań do przepisania.
Nie powtarzajcie jedynie informacji już podanych w tabeli. Pytanie o kolor przycisku nie pomoże ustalić modelu danych na tym etapie.
Krok 2 — Wyślijcie pytania przez formularz (5 minut)
Wpiszcie imiona autorów, adresy e-mail i trzy pytania wraz z uzasadnieniem, dlaczego odpowiedź wpłynie na projekt danych. Jedna osoba wysyła formularz w imieniu pary. Pole drugiego adresu pozostawcie puste tylko przy pracy samodzielnej.
Na tym etapie możecie wysłać same pytania; pozostałe pola uzupełnicie później. Prowadzący widzi wpisy w panelu i omawia je na zajęciach. Formularz nie generuje automatycznej odpowiedzi kierownika. Ustalenia po omówieniu możecie dopisać w polach pytań i przesłać uzupełnioną wersję.
Jeśli zabraknie czasu na odpowiedź, wpiszcie „założenie do potwierdzenia” i swoją propozycję. Nie przedstawiajcie domysłu jako wymagania potwierdzonego przez klienta. Przy samodzielnym przygotowaniu poza zajęciami pozostawcie pytania do omówienia.
Krok 3 — Przygotujcie notatkę projektu (10 minut)
Na podstawie danych i rozmowy zapiszcie:
- Cztery pojęcia: uczestnik, kurs, edycja i zapis. Wyjaśnijcie własnymi słowami, co oznaczają, podajcie po jednym przykładzie z tabeli oraz wskażcie informację, którą trzeba pamiętać o każdym z nich.
- Dwie reguły poprawności danych. Każdą zapiszcie zwykłym zdaniem. Dopiszcie konkretną sytuację, która naruszałaby tę regułę. Nie trzeba używać SQL.
- Analizę rezygnacji Bartka: przed rezygnacją U2–E2 miał status
confirmed, a po niejcancelled. Która informacja się zmienia? Co powinno pozostać? Jakie konsekwencje miałoby usunięcie Bartka z całej ewidencji?
Nie chodzi o wymyślenie jak największej liczby tabel. Zastanawiacie się, co jest osobnym obiektem, co opisuje udział osoby w zajęciach i jak zmiana jednej informacji wpływa na pozostałe.
Krok 4 — Przedstawcie i sprawdźcie wynik (5 minut)
Wybrane pary przedstawiają jedno pytanie z odpowiedzią oraz jedną regułę z przykładem jej naruszenia. Pozostałe pary porównują to ze swoją notatką. Każda osoba powinna umieć wyjaśnić przynajmniej jeden zapisany wniosek.
Efekt pracy: jedna notatka pary, około jednej strony, zawierająca:
- imiona autorów;
- trzy pytania, ich znaczenie oraz odpowiedzi lub jawne założenia;
- cztery pojęcia z przykładami i potrzebnymi informacjami;
- dwie reguły z przykładami naruszeń;
- krótkie wyjaśnienie przypadku Bartka.
Notatkę prześlijcie poniższym formularzem. Po wysłaniu zaczekajcie na numer zapisanej pracy. Każda zmieniona i wysłana wersja pozostaje w historii; ponowienie identycznego wysłania w tej samej otwartej stronie nie dodaje duplikatu. Nie otrzymujecie automatycznych punktów za odpowiedzi opisowe.
Formularz pary
Trzy pytania są wymagane; pojęcia, reguły i analizę przypadku można uzupełnić po omówieniu. Każde pole treści mieści do 2000 znaków. Dane identyfikacyjne i treść trafią do prowadzącego; nie będą wyświetlane publicznie na tej stronie. Formularz nie zachowuje szkicu po zamknięciu lub odświeżeniu strony — użyjcie „Pobierz kopię”, aby zachować tekst na swoim urządzeniu.
Wykład 2 — Od wymagań do diagramu
Materiał do zajęć i indywidualny test z wykładu 1.
Kontynuujecie w parach projekt ośrodka „Dąb”. Na pierwszym spotkaniu zbieraliście wymagania. Teraz przygotujecie diagram encja–związek (ERD, Entity–Relationship Diagram): obiekty, ich cechy i powiązania. Nie trzeba jeszcze pisać SQL ani uruchamiać bazy danych.
Wspólne ustalenia klienta
- Kurs jest tematem, a edycja konkretnym przeprowadzeniem kursu.
- Każda edycja dotyczy jednego kursu, ma jednego prowadzącego i jedną salę.
- Uczestnik może zapisać się na wiele edycji. Dla jednej pary uczestnik–edycja przechowujemy najwyżej jeden zapis.
- Zapis ma status
confirmedalbocancelled. Anulowanego zapisu nie usuwamy. Ponowne zgłoszenie aktualizuje ten sam zapis po sprawdzeniu dostępności miejsca. - Limit edycji jest dodatni i nie przekracza pojemności sali. Liczba zapisów
confirmednie może przekroczyć limitu;cancellednie zajmuje miejsca. - Edycja może istnieć bez zapisanych uczestników.
- Nakładające się edycje nie mogą korzystać z tej samej sali ani prowadzącego. Koniec jednej edycji może być początkiem następnej.
- Przechowujemy aktualny status zapisu, bez pełnej historii jego zmian. Lista oczekujących, obecność, ukończenie i odwoływanie całych edycji pozostają poza bieżącym zakresem. PESEL nie jest wymagany.
Krok 1 — Uzupełnijcie wymagania (podczas wspólnego omówienia)
Porównajcie notatkę z pierwszego spotkania z ustaleniami klienta. Dopiszcie odpowiedzi na Wasze pytania. Zaznaczcie, które wcześniejsze założenia trzeba zmienić. Nie przepisujcie całej pracy.
Krok 2 — Narysujcie model (25 minut)
Na kartce lub w wybranym edytorze diagramów:
- Uwzględnijcie: uczestnika, kurs, edycję, zapis, prowadzącego i salę.
- Przy każdym obiekcie wpiszcie identyfikator i najważniejsze cechy potrzebne do spełnienia wymagań. Odróżnijcie limit edycji od pojemności sali.
- Połączcie obiekty i odczytajcie każde powiązanie w obie strony. Oznaczcie minimalną i maksymalną liczbę powiązań, np. zero do wielu albo dokładnie jeden.
- Zdecydujcie, gdzie należy umieścić status zapisu. Uzasadnijcie wybór przykładem osoby uczestniczącej w dwóch różnych edycjach.
- Obok diagramu zapiszcie dwie reguły, których same liczności połączeń nie zapewniają.
Stosujcie jedną notację konsekwentnie. Przy zapisie jako osobnym obiekcie łączącym uczestnika i edycję nie dublujcie tego samego faktu dodatkowym, niezależnym powiązaniem między nimi.
Krok 3 — Sprawdźcie diagram i obrońcie decyzje (15 minut)
Przeanalizujcie:
- E3 istnieje, ale nie ma jeszcze żadnego zapisu.
- Bartek ma
confirmedna E1 orazcancelledna E2. - Bartek ponownie zgłasza się na E2. Co trzeba sprawdzić i co zmienić?
- Ta sama sala jest potrzebna dwóm edycjom w nakładających się godzinach.
Dla każdego przypadku wskażcie obiekty, powiązania i reguły, które mają znaczenie. Zamieńcie się diagramem z sąsiednią parą i sprawdźcie, czy da się go odczytać bez zgadywania. Każda osoba wyjaśnia przynajmniej jedną decyzję projektową.
Co przygotować na koniec?
Jeden diagram pary, podpisany imionami autorów, z atrybutami, licznościami, dwiema dodatkowymi regułami i krótką notatką ze sprawdzenia przypadków. Pokażcie go prowadzącemu podczas zajęć i zachowajcie plik albo zdjęcie na kolejne spotkanie.
Formularz powyżej służy do notatki z wykładu 1 i nie przyjmuje załączników z diagramami. Test na początku wykładu 2 wypełniacie indywidualnie; jest oddzielny od pracy projektowej w parach.
Kolejne karty będą udostępniane wraz z następnymi zajęciami.