Вариант 4.
Реализовать информационную систему для управления промоакциями.
К существующему перечню таблиц необходимо добавить таблицу AGENCIES, содержащую информацию о рекламных агентствах, проводящих промоакции. Таблица должна состоять из двух атрибутов – идентификатора AGENCY_ID и названия агентства AGENCY_NAME. Идентификатор должен являться первичным ключом. В таблицу AGENCIES необходимо добавить несколько рекламных агентств, а в таблицу PROMOACTIONS добавить и корректно заполнить новое поле AGENCY_ID, сделав его внешним ключом на таблицу AGENCIES.
Система должна позволять просматривать список промоакций, включая названия связанных товаров, групп товаров и агентств, а также добавлять, изменять и удалять информацию о промоакциях. По выбору пользователя система должна обеспечивать возможность отображения либо всех промоакций, либо тех, которые распространяются на товары, либо на группы товаров.
При добавлении или изменении информации о промоакции система должна обеспечивать соблюдение условия, что дата начала периода действия акции не должна быть больше даты окончания периода действия акции.
При добавлении или изменении информации о цене на товар система должна также позволять указывать/изменять название агентства, товар или группу товаров.
Система должна запрещать указывать одновременно и товар, и группу товаров, на которые распространяется акция. При возникновении такой ситуации, система должна показывать предупреждение пользователю и прерывать выполнение текущей операции.
Система должна обеспечивать возможность поиска акций, действующие на определенный день, и отображать результат поиска в виде информации об акциях, включая наименование товаров и групп товаров, а также название агентства, соответствующих введенным критериям поиска.
Вариант 5.
Реализовать информационную систему для управления типами оплаты заказов, а также мониторинга заказов в разрезе типов оплаты.
К существующему перечню атрибутов типов оплаты в базе данных необходимо добавить атрибут COMMISSION для хранения размера комиссии (процент от стоимости заказа), взимаемой при использовании соответствующего типа оплаты заказа. Корректным образом обновить новое поле в существующих строках таблицы PAYTYPES.
Система должна позволять просматривать перечень типов оплаты заказа, включая размер комиссии, а также добавлять, изменять и удалять информацию о типах оплаты заказов. При отображении списка типов оплаты в качестве одного из атрибутов должно выводиться общее число заказов, в которых выбран соответствующий тип оплаты за все время.
Система должна позволять просматривать список заказов – номер, дату, тип оплаты, а также размер комиссии, соответствующей типу оплаты заказа и сумму комиссии, рассчитываемой как сумма заказа * размер комиссии.
При добавлении или изменении информации о типе оплаты система должна обеспечивать значение размера комиссии в диапазоне от 0 до 1, а также уникальность наименования типа оплаты.
Система должна уметь формировать и показывать историю операций по изменению размера комиссии у типов оплаты – наименование типа оплаты, дату операции, а также старое и новое значения размера комиссии.
Система должна обеспечивать возможность поиска информации о заказах по дате заказа и типу оплаты и отображать результат поиска в виде информации о заказах, соответствующих введенным критериям поиска.
