В базе данных создать отчеты по запросам на выборку.

Задания на краевую олимпиаду по базам данных для отделения АСУ

 

ЗАДАНИЕ I.

База данных klinika.mdb содержит информацию о больных небольшой частной клиники за 2013 год. Больной может обращаться к разным врачам, информация о каждом посещении клиники содержится в таблице «Карта посещения».

Внимательно изучите структуру базы данных klinika.mdb и используя язык запросов SQL и конструктор запросов составьте запросы к базе данных согласно заданиям. При выполнении этих упражнений нельзя создавать вспомогательные таблицы или запросы, за исключением запроса №12.

ЗАПРОСЫ

1.Определить количество обращений к каждому конкретному врачу в феврале. Упорядочить посещения в порядке убывания (5 баллов).

 

 

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

 

 

3.Определить врача, к которому было больше всего посещений в феврале. Результат должен содержать ФИО врача. (25 баллов)

 

 

4.Посчитать количество посещений клиники больными из разных городов в феврале. Результат должен содержать следующие поля: «Название города», «Кол-во посещений», «На общую сумму». Упорядочить названия городов в порядке возрастания суммы.

(10 баллов)

 

 

 

5.Посчитать количество посещений по месяцам года. Результат должен содержать следующие поля: название месяца, количество посещений, на общую сумму. Используйте дополнительную таблицу «Месяцы». Упорядочите таблицу по месяцам (25

баллов)

 

 

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

 

 

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

 

 

8.Вывести фамилии больных, посетивших врачей на сумму более 500 рублей в феврале. (10 баллов)

 

 

9.Выбрать ФИО врачей, которые в феврале принимали больных только из Хабаровска и больше ниоткуда. (25 баллов)

 

 

10.Выбрать ФИО врачей, которые принимали больных и из Хабаровска и из Комсомольск-на-Амуре в феврале. (20 баллов)

11.Определить названия городов, из которых ни разу не поступали больные в течение февраля. Исключить дублирование записей. (15 баллов)

 

 

12.Создать перекрестный запрос, в строках которого ФИО больных, а в столбцах ФИО врачей. На пересечении строк и столбцов общая сумма стоимости посещений конкретного врача данным больным за февраль. Для выполнения этого задания можно использовать вспомогательный запрос. (15 баллов)

 

 

13.Определить даты в феврале, когда количество посещений врачей было максимальным. (15 баллов)

 

 

14.Определить ФИО врачей, которые заработали для клиники самую большую и самую маленькую суммы. (20 баллов)

 

 

15.Определить распределение количество посещений больными клиники по месяцам в процентах. Результат должен содержать: название месяца, отношение в процентах количества разговоров в данный месяц к общему количеству разговоров за год. Отформатировать столбец «Процент посещений» как процентный с точностью 2 цифры после точки. (20 баллов)

 

 

ЗАДАНИЕ II.(130 баллов)

Инструкторы центра занятости владеют информацией о вакантных рабочих местах. Они же регистрируют все данные о безработных, приходящих в центр занято­сти. Если безработный трудоустраивается, информацию о нем удаляют и корректируют данные о количестве вакантных рабочих мест.

 

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

(Создание несвязанных таблиц – 10 баллов)

При создании объектов в конструкторе, необходимо воспользоваться столбцом ОПИСАНИЕ, для пояснения того, какую информацию содержит данное поле. Для всех отношений должны быть заданы первичные ключи и указаны связи между отношениями. При создании отношений, необходимо указать тип связей: один-к-одному, один-ко-многим, соблюсти требования целостности данных, исключить избыточность информации в таблицах. Все отношения должны быть нормализованы и приведены к третьей нормальной форме.

(Создание связанных таблиц – 10 баллов)

 

2. В базе данных создать следующие запросы на выборку:

o выяснить, кого больше среди безработных: мужчин или женщин (3 балла);

o определите самую не востребованную специальность (5 баллов);

o определить самую не востребованную специальность (5 баллов);

o найти среди безработных всех, кто более полугода не может трудоустроиться (7 баллов);

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

3.В базе данных создать следующие запросы на изменение:

o изменить адрес и телефон определенного безработного (5 баллов);

o увеличить количество мест по одной из требуемых специальностей (4 балла);

o безработный освоил еще одну специальность - выполнить запрос на добавле­ние соответствующей информации (5 баллов);

o с помощью запроса на создание таблицы создать архив, который будет содер­жать информацию обо всех трудоустроившихся (5 баллов);

o безработный трудоустроился - удалить из соответствующей таблицы инфор­мацию о нем (5 баллов).

4.Создать перекрестный запрос вида (8 баллов):

Название предприятия Общее количество мест Распределение по специальностям
     

5.В базе данных создать следующие формы:

o появление нового безработного (5 баллов);

o появление новых вакантных рабочих мест: выбор названия предприятия, вы­бор названия специальности и собственно добавление количества рабочих мест (5 баллов);

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

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

В базе данных создать отчеты по запросам на выборку.

o найти среди безработных всех, кто более полугода не может трудоустроиться (3 балла);

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

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

o Создайте макрос, который при просмотре данных о безработных в форме при условии, что профессия человека - «программист» создает надпись с текстом "Годен!" (20 баллов).

8. В базе данных создать главную кнопочную форм.

Добавьте рисунок на главную кнопочную форму (5 баллов).

Обеспечьте открытие главной кнопочной формы при запуске базы данных (5 баллов).