Konsultacje stacjonarnie lub zdalnie po uwczesnym umówieniu przez Discorda lub drogą mailową.
Szczegółowe zasady zaliczania są dostępne na Moodle’u. Dodatkowo specyficznie dla naszej grupy:
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.
Zadanie polega na aplikacji korzystającej w istotny sposób z baz danych. Należy:
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).
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.
URL do bazy to:
jdbc:oracle:thin:@labora:1521:LABS
Gdzie:
Oracle
labora
1521
LABS
, SIDxy123456
)Konfiguracja DataGripa jest analogiczna.
Ż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.