Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР №4 2010.doc
Скачиваний:
3
Добавлен:
27.11.2019
Размер:
111.1 Кб
Скачать

Лабораторная работа №3 Использование sql-запросов на выборку в клиентском приложении

1Цель

Целью работы является получение навыков создания SQL-запросов на выборку и визуализации их результатов; разработки запросов на модификацию данных.

2Задание

Каждое задание реализуется на SQL. Все невизуальные объекты доступа к данным разместить в модуле данных.

При любых действиях должна обеспечиваться целостность данных.

  1. Реализовать поисковые функции в соответствии с вариантом. Результат каждого задания отобразить в отдельном DBGrid.

  2. Реализовать расчет вычисляемых полей из л/р №3. Использовать ADOQuery вместо ADOTable.

  3. Реализовать вставку и редактирование записей в таблицах. Модификацию записей производить вводом в объекты на форме. Обеспечить целостность данных. Реализовать проверку введенных значений по варианту. В случае неверного ввода должно появляться вразумительное сообщение об ошибке.

  4. Реализовать каскадное удаление из таблицы-справочника (по варианту) записи, выделенной в DBGrid. Каскадное удаление – это удаление необходимой записи из родительской таблицы и связанных записей из всех дочерних таблиц.

  5. Реализовать вставку, редактирование и удаление записей в одной таблице в соответствии с данными из других таблиц. Реализовать перемещение данных рабочих таблиц в архив, при необходимости создать отсутствующие таблицы. Данные в архивные таблицы перемещаются в соответствии с критериями по варианту. Переписать запросы из заданий 1-4 с учетом новой структуры таблиц.

3Содержание отчета

  1. Титульный лист.

  2. Полное задание в соответствии с вариантом.

  3. Описание созданных форм и компонентов на них с указанием назначения и установленных свойств.

  4. Алгоритмы обработки данных.

  5. Исходные коды.

  6. Тестовые наборы данных и результаты выполнения запросов. Для запросов на модификацию данных – содержимое таблиц до и после выполнения запроса.

  7. Выводы по работе.

4Варианты

Для задания №1

  1. – Вывести сведения о фирмах, занимающихся заданной сферой деятельности и зарегистрированных в заданный промежуток дат. Название сферы деятельности задается из выпадающего списка названий сфер, промежуток дат задается в объектах Edit.

– Вывести сведения о владельцах заданной фирмы, проживающих в заданном городе. Название фирмы и наименование города выбираются из списков, ассоциированных соответственно с полями Фирмы.НазвФир, Города.НазвГор.

– Вывести сведения о фирмах, у которых суммарная доля всех владельцев не равна 1. В отчете вывести суммарную долю.

– Вывести сведения о предпринимателях, владеющих более, чем одной фирмой. На форме должны быть DBGrid со списком предпринимателей и DBGrid со списком фирм, которыми владеет выбранный предприниматель.

– Вывести сведения о фирмах, зарегистрированных в течении последних 180 дней.

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

– Вывести сведения о фирмах, у которых сфера деятельности единственная и она совпадает со сферой деятельности заданной фирмы. Название фирмы задается выбором нужной фирмы из DBGrid списка фирм.

  1. – Вывести сведения о практикантах заданного руководителя. Руководитель выбирается из выпадающего списка. Результат должен содержать название специальности практиканта.

– Составить отчет об оценках практикантов заданной специальности. специальность выбирать из выпадающего списка.

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

– Вывести сведения о специальностях, практиканты которых имеют хотя бы одну оценку 2 или непроставленную оценку (NULL в поле оценок). Форма должна содержать DBGrid списка таких специальностей и DBGrid списка соответствующих студентов выбранной в первом DBGrid специальности.

– Составить рейтинг специальностей по суммарной оценке практикантов.

– Вывести сведения о практикантах, руководители которых курируют больше всего практикантов.

– Вывести сведения о руководителях, все практиканты которых имеют только оценки 5.

  1. – Вывести сведения о производителях товаров заданной категории. категория выбирается из выпадающего списка.

– Вывести сведения о товарах, расположенных на стеллажах заданного менеджера. ФИО менеджера выбирается из выпадающего списка. В результате вывести название производителя и категории. Результат отсортировать в алфавитном порядке наименований товара.

– Вывести сведения о стеллажах, на которых расположено больше всего товаров. В результат включить ФИО менеджера.

– Вывести сведения о стеллажах, на которых расположены все товары заданной категории. Название категории выбирается из выпадающего списка.

– Вывести сведения о менеджерах, которые обслуживают стеллажи с товарами, принадлежащими больше 4-х категорий.

– Вывести сведения о менеджерах, у которых перечень категорий товаров одинаков.

– Вывести рейтинг производителей, поставивших больше всего товаров. Рейтинг составить в каждой категории.

  1. – Вывести сведения о заказанных блюдах данного заказа. Заказ выбирается из списка заказов.

– Вывести сведения о блюдах, которые были заказаны больше всего.

– Вывести сведения об официантах, которые обслуживали самый крупный заказ (по сумме).

– Вывести сведения о клиентах, заказавших в рамках одного заказа больше всего блюд.

– Вывести рейтинг клиентов по совокупной сумме заказов. В отчет включить рассчитанные суммы.

– Вывести график работы официантов на сегодняшний день. Форма должна содержать DBGrid с перечнем работающих официантов и DBGrid их заказов. DBGrid заказов должен изменяться в соответствии с выбранным официантом.

– Вывести сведения о заказах, в котором все блюда не заказывались сегодня больше ни кем.

  1. – Вывести сведения о поварах, работающих сегодня только на заданном заказе. Заказ выбирается из списка.

– Вывести сведения о поварах, с указанием количества приговленных сегодня порций.

– Вывести сведения о заказах, на которых работал только один повар и один официант.

– Вывести сведения о поварах заданной квалификации, которые готовили блюда на столики, обслуживаемые заданным официантом. Квалификация задается в Edit, ФИО официанта выбирается из выпадающего спискаю

– Вывести сведения о поварах, чьи приготовленные блюда принесли наибольший доход. В результат включить расчет.

– Вывести сведения о столиках, за которыми были пустующие места (по количеству заказанных порций). В результат включить ФИО официанта.

– Вывести сведения о официантах и поварах (в одном Dataset), работавших на самом дорогом заказе за сегодня.

  1. – Вывести сведения о производителях, чьи товары есть и в архиве и зарегистрированы в текущем конкурсе.

– Вывести сведения о товарах всех категорий, в которых представлены товары заданного производителя. Наименование производителя выбирается из выпадающего списка. В результат включить наименование производителя товара.

– Вывести архивные сведения о товарах заданного производителя, не представленных на конкурс в этом году. Наименование производителя выбирается из выпадающего списка.

– Вывести сведения о товарах, участвующих в разных категориях в этом году, но участвовавших только в 1 категории в прошлом году.

– Вывести сведения о производителях, участвующих в первый раз.

– Вывести сведения о производителях, которые представили в этом и прошлом году одинаковые товары.

– Вывести сведения о городах, в которых представлено больше всего товаров. Рейтинг составить по категориям.

  1. – Вывести сведения о товарах, которым еще не проставлены оценки.

– Вывести сведения о товарах заданного предприятия. Наименование предприятия выбирается из выпадающего списка.

– Вывести сведения о членах жюри, которые ставили только оценки 4 или 5.

– Вывести сведения о товарах, участвующих только в 1 секции.

– Вывести рейтинг предприятий по объемам продаж. Рейтинг составить по секциям.

– Вывести сведения о предприятиях, которые участвуют в точности в тех же секциях, что и заданное предприятие. Наименование предприятия выбирается из выпадающего списка.

– Вывести сведения о секциях, все члены жюри которых занимают одинаковые должности. В результате указать эту должность.

  1. – Вывести сведения о квартирах в соответствии с пожеланиями заданного клиента. ФИО клиента выбирается из выпадающего списка, пожелание – из DBGrid.

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

– Вывести сведения о домах, в которых не было куплено ни одной квартиры.

– Вывести сведения о клиентах, продавших квартиры на заданной улице. Название улицы выбирается из списка.

– Вывести рейтинги продавцов по количеству проданных квартир и суммарной стоимости продаж.

– Вывести сведения о клиентах, которые покупали и продавали хотя бы одну квартиру.

– Вывести сведения о квартирах, продаваемых более 3 раз.

  1. – Вывести сведения о хозяевах проданных лотов за последние 30 дней.

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

– Вывести рейтинг хозяев (по сумме дохода за продажи). В результат включить доход. Рейтинг составить по категориям.

– Вывести сведения о хозяевах, участвующих в ставках на свой же лот.

– Вывести сведения о непроданных лотах заданной категории. наименование категории выбирается из выпадающего списка.

– Вывести сведения о хозяевах, все лоты которых не проданы.

– Вывести сведения о лотах, дольше всех участвующих (или участвовавших) в аукционе.

  1. – Вывести сведения о всех свободных автомобилях.

– Вывести сведения о всех заказах без штрафов данного клиента. ФИО клиента выбирается из выпадающего списка.

– Вывести сведения об автомобилях, чье время на заказах максимально. В отчет включить расчет.

– Вывести сведения о всех клиентах, предпочитающих только одну марку автомобилей.

– Вывести сведения о клиентах, все заказы которых были без штрафов.

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

– Вывести сведения о заказах заданного клиента, сделанных в определенный период. ФИО клиента выбирается из выпадающего списка, период задается в Edit.

  1. – Вывести сведения о грузах, заданного судна, не размещенных на складах. Название судна выбирается из выпадающего списка.

– Вывести сведения о судах, имеющих такую же грузоподъемность, что и заданное (выбирается из выпадающего списка).

– Вывести сведения о товарах, никогда не попадавших на склады.

– Вывести сведения о грузах, у которых истекло время хранения. Время хранения задается в днях.

– Вывести сведения о складе и свободном месте на нем.

– Вывести сведения о судах, имеющих такой же состав грузов, что и заданное (выбирается из выпадающего списка).

– Вывести сведения о товарах, прибывших в один и тот же день на разных судах и размещенных на одном и том же складе.

  1. – Вывести сведения о составе заданного букета (в одном Dataset цветы и допуслуги).

– Вывести сведения о букете, включить общее количество цветов и количество цветов каждого наименования. Код букета выбирается из списка.

– Вывести рейтинг клиентов по сумме покупок. В результат включить расчет.

– Вывести сведения о клиентах, обслуживаемых в заданный промежуток. Даты задаются в Edit.

– Вывести сведения о цветах, ни разу не купленных за последние 30 дней.

– Вывести сведения о букетах, в составе которых самые популярные цветы за последние 7 дней.

– Вывести сведения о букетах, все цветы которого одинакового размера.

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

– Вывести сведения о товарах, по которым получили призы более 2 раз.

– Вывести сведения о клиентах, сделавших те же самые покупки (в точности – по товарам), что и заданный (выбирается из выпадающего списка).

– Вывести сведения о суммарном расходе на призы (учитывать только забранные) за последние 180 дней по каждому месяцу.

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

– Вывести сведения о покупателях, выигрывавших в каждом месяце на протяжении последнего полугода.

– Вывести сведения о клиентах, купивших заданный товар в определенный промежуток дат. Наименование товара выбирается из выпадающего списка, даты – в Edit.

  1. – Вывести сведения о всех проданных билетах и их покупателях за заданный промежуток дат. Даты задаются в Edit.

– Вывести сведения об отелях, в которые были проданы только горящие путевки.

– Вывести сведения о странах, в которые покупаются только путевки с билетами.

– Вывести рейтинг отелей по количеству проданных путевок за последние 30 дней.

– Вывести классы транспорта, на который никто не покупал билеты.

– Вывести сведения об отелях в которые покупались билеты того же класса, что и в заданный (выбирается из выпадающего списка).

– Вывести сведения о городах, имеющих одинаковое количество отелей, что и заданный город (выбирается из выпадающего списка). Учитывать класс отеля.

  1. – Вывести сведения о хозяевах победителей в заданной секции (выбирается из выпадающего списка).

– Вывести сведения о породах, представители которых никогда не были победителями.

– Вывести сведения о членах жюри, судивших все секции.

– Вывести сведения о клубах, чьи кошки участвуют в заданной секции. название секции выбирается из выпадающего списка.

– Вывести сведения о хозяевах, у которых ни одна кошка не стала победителем.

– Вывести сведения о клубах с указанием количества победителей в каждом из них.

– Вывести сведения о клубах, имеющих представителей таких же пород, что и заданный (выбирается из выпадающего списка).

  1. – Вывести сведения о документах не имеющих виз.

– Вывести сведения о документах, у которых прошло более 30 дней с момента подачи до первой визы.

– Вывести сведения об отделах, имеющих больше всех документов.

– Вывести сведения о персонах, которые только ставили визы, но не создавали документы.

– Вывести сведения о документах, в отчет включить количество виз, название вида документа и ФИО персон.

– Вывести сведения о документах, все визы которых не имеют содержания (поле NULL).

– Вывести сведения о работниках отдела, который создает документа только заданного вида (выбирается из выпадающего списка).

  1. – Вывести сведения о всех номинациях и премиях заданной персоны (ФИО выбирается из выпадающего списка). В результате отличать премии и номинации. Результат сортировать по году выпуска фильма.

– Вывести сведения о персонах, получивших премию в заданной номинации (выбирается из выпадающего списка), а в следующем году, не вручавших приз в этой номинации.

– Вывести сведения о количестве премий каждого фильма-участника этого года.

– Вывести сведения о персоне, получившей столько же премий в заданной номинации (выбирается из выпадающего списка), что и заданная персона (выбирается из выпадающего списка).

– Вывести сведения о персонах, ни разу не становившихся победителем ни в одной номинации.

– Вывести сведения о персонах, номинировавшихся, но ни разу не становившихся победителем в одной заданной номинации (выбирается из выпадающего списка), но становившихся победителем дважды в другой заданной номинации.

– Вывести сведения о всех победителях этого года. В результат вывести: название номинации, название фильма, ФИО номинанта, роль.

  1. – Вывести сведения о заказанных блюдах заданного заказа (выбирается из выпадающего списка). В отчете: название блюда, количество порций, цена за порцию, цена за блюдо.

– Вывести сведения о количестве заказов на сегодня заданного разносчика.

– Вывести сведения о фирмах, не производивших заказы более заданной суммы (задается в Edit) в течении последних 2-х месяцев.

– Вывести рейтинг фирм по суммарной стоимости заказов, сделанных за заданный промежуток времени (начальная, конечная дата интервала задаются в Edit).

– Вывести сведения о фирмах, сделавших сегодня в точности такой же заказ (по перечню блюд и количеству порций), что и заданная (выбирается из выпадающего списка).

– Вывести сведения о фирмах, сделавших сегодня заказ на такую же сумму, что и заданная (выбирается из выпадающего списка).

– Вывести сведения о разносчиках, с которыми постоянно работают фирмы (постоянно – это значит, что больше ни с одним другим разносчиком фирма-заказчик не работала).

  1. – Вывести сведения о покупках за заданный интервал дат (начальная, конечная дата интервала задаются в Edit). В результат: сведения о товаре, сведения о продавце и покупателе.

– Вывести сведения о свободных позициях (и количестве) в заданной категории (выбирается из выпадающего списка).

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

– Вывести сведения о категориях товаров с указанием количества представленных наименований товаров.

– Вывести сведения об объеме продаж за прошлый месяц по категориям.

– Вывести сведения о продавцах, торгующих в точности тем же ассортиментом товаров, что и заданный (выбирается из выпадающего списка).

– Вывести сведения об у частниках, имеющих одинаковый e-mail.

  1. – Вывести сведения о странах, деньги которых ни разу не участвовали в сделках.

– Вывести рейтинг владельцев по количеству монет.

– Вывести в одном отчете сведения о странах и самой дорогой монете этой страны, а также нынешнем ее владельце.

– Вывести сведения о владельцах, обладающих монетами тех же стран, что и заданный (выбирается из выпадающего списка).

– Вывести сведения о сделках, произведенных в тот же день, что и сделка с заданной монетой (выбирается из выпадающего списка сначала ФИО владельца, потом монета)

– Вывести сведения о владельцах, совершивших больше всех продаж за прошлый месяц.

– Вывести сведения о суммарном обороте по сделкам, совершенным в заданный промежуток (начальная, конечная дата интервала задаются в Edit). Отчет составить по категориям.

  1. – Вывести сведения о победителях по всем чемпионатам за последние 3 месяца. В отчете указать название чемпионата и дату финального матча.

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

– Вывести сведения о матчах с самой большой длительностью. В отчет вывести ники игроков.

– Вывести турнирную таблицу заданного чемпионата (выбирается из выпадающего списка).

– Вывести сведения о жанрах, по которым не проводилось ни одного чемпионата или проводятся сейчас.

– Вывести сведения об игроках, участвовавших в каждом чемпионате.

– Вывести сведения об играх, в чемпионатах по которым участвовало больше всего игроков.

  1. – Вывести сведения о странах, в которых расположены 3 самых дорогих по экскурсии объектов.

– Вывести сведения о владельцах, у которых все объекты только в одном городе.

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

– Вывести сведения о городах, в которых проводятся самые длинные экскурсии (по времени) на объектах заданного типа (выбирается из выпадающего списка).

– Вывести сведения о городах, в которых нет объектов заданного типа (выбирается из выпадающего списка) со стоимостью экскурсии .

– Вывести сведения о городах, в которых нет ни одного объекта заданного типа (выбирается из выпадающего списка) со стоимостью экскурсии больше заданного значения (задается в Edit).

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

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

– Вывести сведения о рабочих, работающих на заданной стройке (выбирается из выпадающего списка).

– Вывести сведения о свободных на заданную дату рабочих (дата задается в Edit)..

– Вывести сведения о стройках, на которых работает больше всех рабочих.

– Вывести сведения о наиболее востребованных специальностях за последние 60 дней.

– Вывести сведения о бригадах, в которых тот же состав рабочих, что и в заданной (выбирается из выпадающего списка).

– Вывести сведения о рабочих, работавших в одной и той же бригаде на разных специальностях.

  1. – Вывести сведения об участниках сегодняшней игры, игравших на заданных состязаниях (выбирается из выпадающего списка).

– Вывести сведения о счете сегодняшней игры. В результате вывести названия команд и счет.

– Вывести сведения о командах, закончивших игры победителем с самым большим счетом.

– Вывести сведения об участниках, которые участвовали только в одном конкурсе (не менее 2 раз) и не участвовали ни в каких других.

– Вывести сведения об участниках, участвовавших в точности тех же состязаниях, что и заданный (выбирается из выпадающего списка).

– Вывести сведения об играх, где победила заданная команда (выбирается из выпадающего списка), в которых состязания выиграл заданный игрок этой команды (выбирается из выпадающего списка игроков этой команды).

– Вывести сведения об играх, в которых заданные состязания проводились в заданной последовательности.

  1. – Вывести сведения о животных заданного места обитания (выбирается из выпадающего списка).

– Вывести сведения о вольерах, среди обитателей которых все вольнорожденные с датой поступления, большей заданной (задается в Edit).

– Вывести сведения о свободных вольерах.

– Вывести сведения о вольерах, в которых находятся животные тех же мест обитания, что и в вольерах заданного смотрителя (выбирается из выпадающего списка).

– Вывести сведения о вольерах с указанием суммарного веса находящихся там животных.

– Вывести сведения о вольерах, в которых обитают животные только одного ареала обитания.

– Вывести сведения о животных, представители которых живут в разных вольерах в одиночку.

  1. – Вывести сведения об исполнителях, участвующих в хитах более заданного количества недель (выбирается из выпадающего списка).

– Вывести сведения о радоистанциях, которые в течении 4 недель включали в хиты исполнителей, которые не разу не участвовали в это время в хитах других радиостанций.

– Вывести сведения о песнях в топ-3 каких-либо радиостанций, заданного жанра (выбирается из выпадающего списка).

– Вывести сведения о выпусках самой большой длительности.

– Вывести сведения о других песнях заданного исполнителя (выбирается из выпадающего списка), не попавших в топ-3 прошлой недели какой-либо радиостанции.

– Вывести сведения о других песнях заданного исполнителя (выбирается из выпадающего списка), не попавших в топ-3 прошлой недели какой-либо радиостанции, вещающей только песни заданных жанров (выбирается из списка).

– Вывести сведения об исполнителях каждой радиостанции, которые продержались дольше всего на 1 месте в хите этой радиостанции.

  1. – Вывести сведения о производителях, чьи модели не завозились на протяжении последних 2 месяцев.

– Вывести сведения об обуви, которые присутствуют только в одном размере.

– Вывести сведения о производителях и количестве пар в наличии.

– Вывести сведения о производителях, торгующих обувью только одного цвета. В результат вывести этот цвет.

– Вывести сведения о самых дорогих моделях и их производителях.

– Вывести сведения о предполагаемом обороте продаж по странам.

– Вывести сведения о производителях, имеющих ту же цветовую гамму, что заданный (выбирается из выпадающего списка).

  1. – Вывести сведения о мастерах заданной квалификации, свободных сейчас от заказа. Из расчета, что на 1 заказ выполняется 1 день.

– Вывести сведения о клиентах, которые обслуживались только одним мастером.

– Вывести сведения о мастерах, работавших на самых дорогих заказах.

– Вывести одним списком сведения о запчастях и услугах заданного заказа (выбирается из выпадающего списка) – наименование и цену.

– Вывести сведения о заказах, выполненных в заданный интервал дат (начальная, конечная дата интервала задаются в Edit) заданным мастером (выбирается из выпадающего списка).

– Вывести сведения о заказа, в которых использовался тот же состав запчастей, что в заданном (выбирается из выпадающего списка). Указать ФИО мастера.

– Вывести сведения о заказах с такой же стоимостью, что заданный (выбирается сначала клиента, потом заказ этого клиента).

  1. – Вывести сведения о матчах, на которые были поставлены ставки с самым большим суммарным оборотом.

– Вывести сведения о стадионах, на которых играла заданная команда (выбирается из выпадающего списка).

– Вывести сведения о клиентах, которые играют только на матчах одного (и только одного) вида спорта.

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

– Вывести сведения о доходе тотализатора за последние 6 месяцев по видам спорта.

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

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

  1. – Вывести сведения о персонале, заказанном на заданное торжество (сначала из списка выбирается клиент, потом из грида – его заказ)

– Вывести сведения о наиболее прибыльных видах торжества.

– Вывести сведения о персонале, который за последние 4 недели был задействован в половине проведенных торжеств.

– Вывести сведения о персонале, имеющем ту же фамилию, что и заказчик торжества, на котором персонал был задействован.

– Вывести сведения для каждого вида торжества о персонале, отработавшем за последние 30 дней больше всех часов.

– Подобрать свободный зал для проведения заданного торжества.

– Вывести одним списком сведения о персонале и заказчике заданного торжества.

Для задания №3

  1. Суммарная доля в фирме не должна превышать 1. Расчетные счета фирм не должны совпадать.

  2. Руководитель от больницы и руководитель от вуза должны быть различны. У одного руководителя может быть не более 5 практикантов.

  3. На стеллаже могут находится только товары одной категории. У менеджера не может быть больше 7 стеллажей.

  4. Можно оформить заказ только на свободный столик и свободного официанта.

  5. Подобрать поваров необходимой квалификации (для блюд определенной цены). Подобрать столики с достаточным количеством мест.

  6. Дата регистрации должна быть больше даты начала продаж. Один производитель не может зарегистрировать больше 10 товаров в одной категории.

  7. Все члены жюри должны выставить оценку. Товар не может участвовать более чем в 3 секциях.

  8. Продавец квартиры не может быть одновременно ее покупателем. На одной улице не может быть домов с одинаковыми номерами.

  9. Хозяин аукциона не может делать ставки на свой лот. Ставки могут делаться с интервалом 2 минуты.

  10. При выдаче заказа клиенту со штрафом выводить сообщение об этом. выдавать и бронировать только свободные авто.

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

  12. При сборке букета выводить сообщение, если число цветов четное. При сборке букета выводить сообщение, если один из цветов в 2 раза выше остальных.

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

  14. Класс билета и класс отеля должен быть не ниже класса путевки. Путевки высшего класса всегда должны быть с билетом.

  15. Хозяева кошек не могут быть членами жюри. Хозяин не может принадлежать разным клубам.

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

  17. Среди вручителей не может быть номинантов. В номинации не может участвовать номинант дважды.

  18. Выбирать на заказ только свободных разносчиков. Объединять заказы от одного заказчика, сделанные с интервалом 30 минут, но не более 3-х.

  19. Количество купленных товаров не должно превышать наличие. Продавец товара не может быть его покупателем.

  20. Выводить сообщение, если сумма сделки меньше суммы предыдущей сделки. Монету можно продавать только 1 раз в 30 дней.

  21. Дата матча не должна быть раньше даты начала чемпионата. Игрок не может участвовать в 2 чемпионатах одновременно.

  22. Для объекта, у которого не задан владелец, владельцем подставлять город. Выводить сообщение, если объект – первый такого типа в своем городе.

  23. Рабочий не может работать в одной и той же бригаде по разным специальностям. Нельзя формировать бригады на законченные стройки (в том числе по дате окончания стройки).

  24. Участник, проигравший состязание в игре, не может участвовать далее. Реализовать автоматическое определение победителя в игре (после ввода результатов последнего состязания).

  25. В вольере могут содержаться только животные из одного ареала обитания. Животные одного и того же вида должны попадать в вольеры одного и того же смотрителя.

  26. При составлении хита обеспечить целостность базы данных по всем направлениям.

  27. Автоматически определять дату следующего завоза в зависимости от даты текущего завоза и количества на складе. Критерии установить самостоятельно.

  28. Использовать имеющееся количество на складе запчастей. Назначать на заказ свободного мастера.

  29. Крайний срок ставки – 1 день до матча. Объединять одинаковые (кроме критерия сумма) ставки.

  30. На торжества подключать только свободный персонал. Затраты на персонал не должны превышать затраты на зал.

Для задания №4

  1. Предприниматели

  2. Специализации

  3. Производители

  4. Заказы

  5. Блюда

  6. Товары

  7. Секции

  8. Дома

  9. Хозяева

  10. Заказы

  11. Грузы

  12. Цветы

  13. Товары

  14. Путевки

  15. Породы

  16. Персоны

  17. Номинации

  18. Заказ

  19. Товары

  20. Владельцы

  21. Матчи

  22. ТипыОбъекта

  23. Рабочие

  24. Участники

  25. Животные

  26. Песня

  27. Модели

  28. Заказы

  29. Команды

  30. Персонал

Для задания №5

  1. Фирма зарегистрирована более 2-х лет назад.

  2. Практикант поступил 10 лет назад.

  3. Перенести в архив заданную категорию.

  4. Заказы вчерашнего дня.

  5. Заказы заданного повара.

  6. Дата регистрации товара – прошлогодняя.

  7. Все оценки товара меньше 3 (по 10-ти балльной шкале).

  8. Сделки, заключенные 1,5 года назад.

  9. Проданные лоты и заведенные более 3 месяцев назад.

  10. Заказы, сданные без штрафа более 1,5 месяцев назад.

  11. Дата прибытия более 6 месяцев и груз не на складе или на складе, но срок хранения не вышел.

  12. Заказ сделан более 4 месяцев назад.

  13. Забранные призы с датой розыгрыша более полугода.

  14. Дата отправления более 90 дней.

  15. Кошки заданной породы.

  16. Дата подачи более 180 дней.

  17. Номинанты-непобедители.

  18. Дата заказа – прошлый месяц.

  19. Проданные товары.

  20. Сделки прошлого года.

  21. Оконченные чемпионаты.

  22. Заданный владелец.

  23. Законченные стройки.

  24. Игры, сыгранные ранее, чем прошлый месяц.

  25. Животные заданного вольера.

  26. Песня, не участвовавшая в хитах 4 недели.

  27. Обувь, у которой дата следующего завоза и предыдущего отличаются на 8 недель.

  28. Дата заказа раньше прошлого месяца.

  29. Матч был проведен ранее 50 дней назад.

  30. Проведенные торжества.

13