40 lines
1.9 KiB
Markdown
40 lines
1.9 KiB
Markdown
# 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 |