Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
work_5.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
777.73 Кб
Скачать

5.2Порядок выполнения работы

  1. Установить QT Creator.

  2. Установить библиотеки QT.

  3. Установить драйвер ODBC для PostgreSQL (драйвер можно скачать по адресу: http://www.postgresql.org/ftp/odbc/versions/msi/).

  4. Создать подключение источника данных с помощью ОDBC.

  5. Создать новый проект в QT типа QT Widget – GUI приложение Qt

  6. В меню Проекты выбрать конфигурацию сборки Релиз. Конфигурацию сборки qmake также установить в значение Релиз (рисунок 5.6).

Рисунок 5.6 – Настройка параметров сборки проекта

  1. В файл проекта (файл с расширением .pro) добавить строчку QT += sql

  2. Подключить модуль QtSql командой #include <QtSql>, прописав ее в заголовочном модуле главной формы.

  3. Там же, в разделе private, объявить глобальную переменную типа QSqlDatabase.

  4. Разработать интерфейс для выполнения простых непараметрических SQL-запросов Select к БД, разработанной на предыдущих лабораторных работах (простой пример интерфейса приведен на рисунке 5.7).

  5. Реализовать возможность выполнения непараметрических SQL-запросов Select (пункт 5.1.3 методический указаний).

Варианты запросов приведены в таблице 5.2.

Таблица 5.2 – Варианты заданий для выполнения непараметрических SQL-запросов Select

Название разрабатываемой БД и запросы.

1

Торговля

  1. Получить список изделий, которые в данный момент времени отсутствуют на складе.

  2. Получить общую стоимость и количество проданных за последние три месяца изделий всех имеющихся в прайс-листе наименований.

  3. Получить данные об изделиях, проданных по безналичному расчету. Вывести количество единиц каждого наименования.

2

Коммунальные платежи.

  1. Получить списки клиентов, не оплативших на данный момент времени более 1 услуги. По каждому клиенту выдать общую сумму задолженности.

  2. Получить перечень предоставляемых коммунальных услуг с указанием тарифов, среднемесячных объемов потребления.

  3. Получить списки клиентов, у которых потребление данного вида коммунальных услуг за последний месяц превышает среднее значение.

3

Услуги.

  1. По каждому типу работ получить его долю в процентном выражении от общего числа зарегистрированных заказов.

  2. По каждому мастеру получить общее количество выполненных заказов и суммарную стоимость выполненных при этом работ. Данные упорядочить по убыванию суммарной стоимости.

  3. Получить список первых 10 клиентов от 20 до 45 лет с максимальным количеством заказов. Для каждого из них вывести также суммарную стоимость заказов.

4

Начисление зарплаты.

  1. Получить ведомость выплаты зарплаты за последний месяц, в которой для каждого работника указать: фамилию и инициалы, должность, начисленную сумму, сумму удержаний, сумму к выдаче. Данные упорядочить по должности и фамилии сотрудников.

  2. Для каждой категории работников, указанных в штатном расписании, получить суммарное количество пропущенных рабочих дней без учета отпускных, а также среднемесячный размер выплаченных премий. Результат упорядочить по убыванию количества пропущенных рабочих дней.

  3. Для каждой категории работников, указанных в штатном расписании получить количество работников со средним, средним специальным и высшим образованием.

5

Поставки.

  1. Получить список поставщиков данного типа продукции, упорядоченный в порядке убывания оптовой цены этой продукции.

  2. Получить список договоров, заключенных за последние три месяца, с истекшими сроками поставки. Данные вывести в порядке убывания задержки поставки.

  3. Получить среднемесячное количество договоров, заключаемых по каждому виду продукции.

6

Билетная касса.

  1. Получить информацию на данный момент времени обо всех рейсах, выполняемых в указанный пункт назначения, дата и время прибытия которых в этот пункт находятся в указанном диапазоне значений. По каждому рейсу вывести также общее количество мест и количество проданных билетов.

  2. Для каждого рейса получить среднее число зарегистрированных пассажиров за все время эксплуатации. Данные вывести в порядке убывания значений.

  3. Для каждого из типов транспортных средств получить его долю в общем пассажиропотоке и суммарное количество рейсов за неделю.

7

Отдел кадров.

  1. Получить список сотрудников, занимающих указанную должность, упорядоченный по времени принятия на работу и ФИО сотрудников.

  2. Получить упорядоченный по датам список сотрудников, прошедших повышение квалификации. Для каждого сотрудника вывести номер специальности и номер свидетельства.

  3. По каждому типу взыскания получить общее количество наложенных взысканий для всех типов должностей.

8

Отель.

  1. Получить список клиентов, проживавших в отеле в указанный период. Список должен быть упорядочен по длительности проживания.

  2. Получить список клиентов, проживающих в данный момент в отеле. Строки в списке должны быть сгруппированы по категориям номеров и упорядочены по дате регистрации.

  3. Получить данные о дополнительных услугах, оказанных с начала текущего года, по категориям номеров. Размеры дополнительных услуг вывести в денежном и процентном выражении в отношении к общей сумме оплаты для данной категории.

9

Производство.

  1. Получить список выпускаемой на предприятии продукции по годам, упорядоченный по себестоимости.

  2. Получить данные о планируемых на год объемах расхода сырья по типам выпускаемой продукции. Данные упорядочить по величине потерь сырья при изготовлении.

  3. По каждому типу продукции получить данные об объемах выпуска с начала текущего года в процентном выражении от плана, а также данные о количестве бракованной продукции в процентном выражении от общего объема продукции данного вида.

10

Банк.

  1. Получить списки клиентов банка, юридических и физических лиц, упорядоченные по величине остатков на счетах. Каждый из списков должен начинаться соответствующим заголовком – «Юридические лица» или «Физические лица». Вывести наименование для юридических лиц или фамилию и инициалы для физических лиц.

  2. Получить список юридических лиц, упорядоченный по суммарным объемам платежей, произведенных с начала текущего года.

  3. По каждому виду платных услуг, оказываемых банком физическим лицам, вывести общую сумму, полученную банком с начала текущего года. Получить также итоговое значение в целом.

11

Экспорт/импорт.

  1. Получить данные о трех предприятиях с наибольшим рейтингом за последние 5 балансовых лет.

  2. По каждому коду ТНВД получить суммарные объемы экспорта/импорта за прошедший год.

  3. Получить средний объем экспорта/импорта по каждой ГВ. Результат упорядочить по убыванию значений.

12

Проект.

  1. Получить данные об исполнителях, для которых показатели объема выполненных работ и количества использованных материалов не соответствуют показателям ближайшей по дате прошедшей вехи.

  2. По каждому типу работ получить данные о текущем состоянии выполненного объема в процентном выражении от общего запланированного объема и количества использованных материалов в процентном выражении от общей потребности.

  3. Получить список «критических работ», т.е. работ, которые не были завершены к указанной самой поздней дате окончания. Данные вывести по убыванию величины задержки завершения.

  1. Разработать интерфейс для выполнения параметрических SQL-запросов Select к БД, разработанной на предыдущих лабораторных работах (простой пример интерфейса приведен на рисунке 5.8). Варианты запросов приведены в таблице 5.3.

Таблица 5.3 – Варианты заданий для выполнения параметрических SQL-запросов Select

Название разрабатываемой БД и запросы.

1

Торговля

  1. Получить список изделий производителя Х проданных в заданную дату У. Вывести количество проданных единиц каждого наименования. Упорядочить список в порядке убывания количества проданных единиц.

  2. Получить данные об изделиях, закупочная цена которых не превышает Х грн. Результат упорядочить по убыванию цены.

2

Коммунальные платежи.

  1. Получить списки клиентов, не оплативших на момент времени Х услугу У. По каждому клиенту выдать общую сумму задолженности.

  2. Получить перечень предоставляемых коммунальных услуг клиенту Х.

3

Услуги.

  1. Получить список услуг клиента Х. Для каждого типа услуги посчитать суммарную стоимость. Данные упорядочить в порядке убывания суммарной стоимости.

  2. Получить список клиентов и их заказов, которые выполнил мастер Х за заданный интервал времени (вводится как параметр). Данные упорядочить по возрастанию даты выполнения заказа.

4

Начисление зарплаты.

  1. Получить ведомость выплаты зарплаты за указанный промежуток времени (вводится как параметр) для работника Х: фамилию и инициалы, должность, начисленную сумму, сумму к выдаче. Данные упорядочить по дате выдачи зарплаты.

  2. Получить упорядоченный по фамилиям список работников с заданным образованием Х.

5

Поставки.

  1. Получить список продукции, поставляемой поставщиком Х, упорядоченный в порядке убывания оптовой цены этой продукции.

  2. Получить список договоров, по которым поставляется продукция Х, заключенных в указную дату У.

6

Билетная касса.

  1. По номеру рейса Х получить информацию обо всех его пассажирах, купивших билеты на заданную дату У (дата и время отправления по билету). Данные упорядочить по фамилии пассажиров.

  2. Получить список всех рейсов и количество свободных мест, которые на текущую дату следуют в заданный пункт назначения Х. Упорядочить по убыванию количества свободных мест.

7

Отдел кадров.

  1. Получить список сотрудников, которые в указанный промежуток времени (вводится как параметр) проходили повышение квалификации. Данные упорядочить по времени прохождения квалификации и ФИО сотрудников.

  2. По типу взыскания (вводится как параметр) получить список сотрудников. По каждому сотруднику посчитать количество взысканий данного типа. Данные упорядочить в порядке убывания количества взысканий и по возрастанию ФИО сотрудников.

8

Отель.

  1. Получить список клиентов, поселившихся в отель в указанную дату (вводится как параметр). Список должен быть упорядочен по ФИО клиента.

  2. Получить список номеров, стоимость проживания в которых не превышает указанного значения (вводится как параметр), и которые свободны в указанную дату (вводится как параметр). Список должен быть упорядочен по стоимости номера.

9

Производство.

  1. По наименованию продукции получить упорядоченный список стран-импортеров.

  2. Получить список продукции, приобретенной импортером Х в указанный промежуток времени (вводится как параметр).

10

Банк.

  1. Получить списки клиентов банка, юридических и физических лиц, сумма кредита которых не превышает указанного значения, упорядоченные по величине кредита.

  2. По дате выдачи кредита и указанной процентной ставке (вводятся как параметры) вывести всех клиентов банка, заключивших кредитный договор. Список упорядочить по юридическому наименованию клиента.

11

Экспорт/импорт.

  1. Получить данные о предприятиях, чистая прибыль которых за указанный год превысила заданное значение (год и размер прибыли вводятся как параметры).

  2. По указанному рейтингу получить список предприятий, упорядоченный по названию.

12

Проект.

  1. Для заданного типа работы получить список исполнителей, упорядоченный по убыванию запланированной части общего объема данной работы.

  2. Получить список работ, завершенных исполнителем до заданной даты (вводятся как параметры).

  1. Реализовать возможность выполнения параметрических SQL-запросов Select (пункт 5.1.5 методический указаний).

  2. Разработать формы для выполнения параметрических SQL-запросов INSERT, UPDATE, DELETE для всех таблиц БД.

  3. Реализовать возможность манипулирования данными в БД (выполнение команд INSERT, UPDATE, DELETE). Где необходимо – использовать транзакции.

  4. Разработать форму и реализовать возможность просмотра данных в режиме «главный-детальный». Варианты приведены в таблице 5.4.

Таблица 5.4 – Варианты заданий для реализации просмотра данных в режиме «главный-детальный»

Название разрабатываемой БД и таблицы.

1

Торговля

Изделие-Накладные

2

Коммунальные платежи.

Клиент-Платежи

3

Услуги.

Клиент-Заказы

4

Начисление зарплаты.

Сотрудник-Табель рабочего времени

5

Поставки.

Поставщие-Поставки

6

Билетная касса.

Рейс-Билеты

7

Отдел кадров.

Должность-Сотрудники

8

Отель.

Администратор-Заказы

9

Производство.

Импортер-Продукция

10

Банк.

Клиент-Кредиты

11

Экспорт/импорт.

Предприятие-Информация о доходах за все года

12

Проект.

Работа-Исполнители

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]