Bazy Danych 2021/22 – Grupa 10

backback

Info

Konsultacje stacjonarnie lub zdalnie po uwczesnym umówieniu przez Discorda lub drogą mailową.

Egzamin

Laby

Mikrozadania

Zasady zaliczania

Szczegółowe zasady zaliczania są dostępne na Moodle’u. Dodatkowo specyficznie dla naszej grupy:

Mikrozadania

Termin do końca wtorku (23:59) po labach; będę je oceniał do końca czwartku i wysyłał feedback przez Discorda i Moodle’a; ewentualną dyskusję o rozwiązaniach prowadzimy na Discordzie, tam też będę wrzucał swoje wzorcówki.

Projekt zaliczeniowy

Zadanie polega na aplikacji korzystającej w istotny sposób z baz danych. Należy:

  1. Wymyślić problem do rozwiązania. To jest najprawdopodobniej najtrudniejszy punkt. Polecam poszukać jakiegoś bliskiego Wam problemu, czegoś co można poprawić lub też zautomatyzować. Najlepsze problemy to takie, dla których istnieją już dane, które można skądś pobrać i potem przetworzyć. Kluczowe tu jest wykorzystanie bazy danych – dane i operacje na nich muszą być centralną, istotną częścią problemu.
  2. Zaprojektować schemat danych. Będziemy to ćwiczyć po labach z SQL-a. Nie wymagam diagramu, ale jest on na pewno mile widziany.
  3. Napisać aplikację. Napisać zapytania, procedury, itp. używając SQL-a, a także interfejs użytkownika.

Aby zaliczyć projekt należy najpierw wymyślić projekt, podzielić się nim ze mną i otrzymać akceptację. Traktujcie to jako sanity-check sensowności waszego pomysłu: jeśli go zaakceptuję, to znaczy, że da się nim zdać. Następnie pracujecie nad projektem. W trakcie możecie prosić o konsultacje – np. przygotowanie modelu danych wydaje się być naturalnym punktem, w którym byłbym w stanie udzielić sensownego feedbacku. Gdy projekt jest gotowy będzie trzeba umówić się ze mną na krótką prezentację. Prezentacja będzie nieformalna, pokażecie działający (hopefully) projekt, a ja będę zadawał jakieś pytania, żeby zrozumieć o co chodzi. Szczegóły ustalimy pod koniec semestru.

Projekt można napisać w dowolnej technologii. Jedynym wymaganiem jest użycie relacyjnej bazy danych i nie nadużywanie ORM-ów – powinniście rzeczywiście napisać schemat i zapytania w SQL-u, a nie np. wygenerować Entity Frameworkiem. Na późniejszych labach będzie krótkie wprowadzenie do HTML-a i PHP, aczkolwiek zupełnie subiektywnie radziłbym się na własną rękę nauczyć jak napisać to w dowolnym innym języku programowania. Możliwe, że przygotuję materiały o robieniu tego w dowolnym innym języku programowania, gdzie “dowolnym” być może będzie mój ulubiony.

Poniżej orientacyjna punktacja:

Dozwolona jest praca samodzielnie lub w parach (ale w obrębie naszej grupy).

Oprogramowanie

Do łączenia z bazą danych można korzystać z SQLPlus jak w materiałach, ale z doświadczenia nie polecam, chyba że ktoś jest wielkim fanem lat 80’. Lepiej użyć jakiegoś sensownego IDE do baz danych, jak open-source’owy DBeaver.

Można go uruchomić na students z mojej binarki dostępnej pod ścieżką:

/home/staff/mim/mg394302/Programy/dbeaver/dbeaver

Można go też pobrać samemu z dbeaver.io (waży ~100MB, chodzi oczywiście o Community Edition).

Z sensownych opcji jest też JetBrainsowy DataGrip pod darmową licencją studencką. Szczególnie atrakcyjny, jeśli używało się już IntelliJ, PyCharma czy podobnych.

Łączenie z bazą z komputera students

URL do bazy to:

jdbc:oracle:thin:@labora:1521:LABS

Gdzie:

Screenshot z konfiguracją serwera

Konfiguracja DataGripa jest analogiczna.

Łączenie z bazą z własnego komputera

Żeby połączyć się do bazy przez DBeavera (analogicznie DataGripa) zainstalowanego lokalnie na własnej maszynie, należy w opcjach SSH włączyć tunelowanie. Można użyć swojego hasła lub klucza SSH, w zależności jak kto sobie skonfigurował wcześniej studentsa.
Screenshot z konfiguracją tunelu SSH

backback