Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Readme.md #2

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 34 additions & 33 deletions 08/Readme.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Домашнее задание к занятию "Работа с БД"
# Домашнее задание к занятию «Работа с БД»

### Цель задания

Expand All @@ -11,16 +11,17 @@
1. Скачать проект с прекодом 08_PreDataBase.
2. Добавить в CmakeList.txt модуль для работы с БД.
3. Подключить в CmakeList.txt библиотеки из папки PG_Libs к проекту.
4. Заменить на главной форме виджет QTableWidget, на необходимый для выполнения задания.
4. Заменить на главной форме виджет QTableWidget на необходимый для выполнения задания.
5. Изменить существующие или добавить новые методы, необходимые для выполнения задания.
6. Допускается добавить данные для подключения в конструктор DbData.

##### Обратить внимание.
В объект QSqlTableModel необходимо передавать только активное соединение с БД, т.е. после вызова метода open().
##### Обратите внимание

"///Тут должен быть код ДЗ" данные комментарии носят рекомендательный характер. При необходимости методы можно модифицировать или добавлять новые.
В объект QSqlTableModel необходимо передавать только активное соединение с БД, т. е. после вызова метода open().

В случае если вы подключаете динамические библиотеки, выбираете драйвер "QPSQL", но появляется ошибка "Driver not loaded", необходимо установить PostgreSQL (https://www.postgresql.org/download/) и прописать в системные пути пути к папкам PostgreSQL\15\bin и PostgreSQL\15\lib.
«///Здесь должен быть код ДЗ» эти комментарии носят рекомендательный характер. При необходимости методы можно модифицировать или добавлять новые.

Если вы подключаете динамические библиотеки, выбираете драйвер QPSQL, но появляется ошибка Driver not loaded, необходимо установить [PostgreSQL](https://www.postgresql.org/download/) и прописать в системные пути пути к папкам PostgreSQL\15\bin и PostgreSQL\15\lib.

##### Данные для подключения к БД

Expand All @@ -32,25 +33,25 @@

##### Описание таблицы БД

Для выполнения работы необходимо получить данные из таблицы под названием "film", которая состояит из 14 столбцов:
Для выполнения работы необходимо получить данные из таблицы под названием film, которая состояит из 14 столбцов.

1. film_id - ИД записи;
2. title - название фильма;
3. description - описание фильма;
4. release_year - год выпуска;
5. language_id - язык фильма, внешний ключ(ВК)
6. original_language_id - оригинальный язык фильма, ВК
7. rental_duration - доступная продолжительность аренды фильма, дней;
8. rental_rate - цена в $ за день;
9. length - продолжительность фильма, мин;
10. replacement_cost - цена замены фильма;
11. rating - возрастной рейтинг фильма;
12. last_update - служебная информация, последнее одновление записи;
13. special_features - дополнительные особенности фильма;
14. fulltext - ключевые слова для поиска фильма.
1. film_id ИД записи.
2. title название фильма.
3. description описание фильма.
4. release_year год выпуска.
5. language_id язык фильма, внешний ключ (ВК).
6. original_language_id оригинальный язык фильма, ВК.
7. rental_duration доступная продолжительность аренды фильма, дней.
8. rental_rate цена в $ за день.
9. length продолжительность фильма, мин.
10. replacement_cost цена замены фильма.
11. rating возрастной рейтинг фильма.
12. last_update служебная информация, последнее одновление записи.
13. special_features дополнительные особенности фильма.
14. fulltext ключевые слова для поиска фильма.


Для получения категорий фильмов можн опользоваться запросом
Для получения категорий фильмов можно пользоваться запросом:

SELECT title, description FROM film f
JOIN film_category fc on f.film_id = fc.film_id
Expand All @@ -59,28 +60,28 @@ WHERE c.name = 'Comedy' ('Horror')

------

### Задание 1.
### Задание 1

1. Реализовать получение всех фильмов(в фильтре на главной форме выбрано значение "все" ) из БД при помощи объекта класса QSqlTableModel.
1. Реализовать получение всех фильмов (в фильтре на главной форме выбрано значение «все») из БД при помощи объекта класса QSqlTableModel.
2. Необходимо реализовать получение комедий и ужасов из БД при помощи объекта класса QSqlQueryModel.
3. В таблице на главной форме должны отображаться:
* Столбцы "Название фильма" и "Описание фильма".
* Присутствовать заголовки столбцов.
4. При нажатии на кнопку "Очистить" таблица должна очищаться.
* столбцы «Название фильма» и «Описание фильма»,
* заголовки столбцов.
4. При нажатии на кнопку «Очистить» таблица должна очищаться.

------

### Правила приема работы
### Правила приёма работы

1. Отправлена ссылка на репозиторий с кодом ДЗ
1. Отправлена ссылка на репозиторий с кодом ДЗ.

------

### Критерий зачета
### Критерии зачёта:

* Реализованы механизмы получения фильмов при помощи объектов класса QSqlTableModel и QSqlQueryModel.
* Программа работает стабильно.
* Выполняются все требования из задания.
* реализованы механизмы получения фильмов при помощи объектов класса QSqlTableModel и QSqlQueryModel,
* программа работает стабильно,
* выполняются все требования из задания.