PRA2024/README.md
2024-01-03 19:45:44 +01:00

1.9 KiB

PRA2024

Pracownia Programowania - Projekt 2 Autor: Marcin Hutek s485949

Wykorzystana baza danych zostala przygotowana przy uzyciu PostgreSQL i zawiera cztery tabele: 'films', 'films_info', 'category' oraz 'language'. Baza zostala wstepnie spopulowana tysiacem rekordow.

Backup bazy z jej kodem zrodlowym PRA2024.sql wygenerowany przy pomocy komendy pg_dump umieszczony został w folderze database w drzewku projektu.

ZMAPOWANE ENCJE

FilmModel

  • zmapowana podstawowa encja 'films' z bazy danych zawierajaca kolumny: 'film_id', 'film_title'
  • w relacji OneToOne z encją FilmInfoModel

FilmInfoModel

  • zmapowana encja 'films_info' bazy danych zawierajaca kolumny: 'film_id', 'description', 'release_year', 'language_id', 'length', 'rating', 'category_id' oraz pole ZonedDateTime - 'last_update'
  • w relacji OneToOne z encją FilmModel
  • w relacji ManyToOne z encją FilmCategoryModel
  • w relacji ManyToOne z encją FilmLanguageModel

FilmCategoryModel

  • zmapowana encja 'category' bazy danych zawierajaca kolumny: 'category_id', 'name'
  • w relacji OneToMany z encją FilmInfoModel

FilmLanguageModel

  • zmapowana encja 'language' bazy danych zawierajaca kolumny: 'language_id', 'language'
  • w relacji OneToMany z encją FilmInfoModel

SESJA ORAZ ZAPYTANIA

Main

  • zdefiniowanie sesji oraz wywolanie poszczegolnych zapytan

Queries

  • dwa query z parametrem: getFilmByLangYear oraz getFilmByLangCategory
  • query stronicowane: getAllFilmsByPage
  • metoda sluzaca do tworzenia nowych rekordow w bazie: createFilmModel

TESTY

QueriesTest

  • dla kazdego zapytania przygotowane zostaly po dwa przykladowe testy mockujace
  • dla metody sluzacej do dodawania rekordow do bazy przygotowany zostal jeden przykladowy test mockujacy sesje i sprawdzajacy czy rekord zostal poprawnie utworzony