Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
База данных больницы / Контрольная.doc
Скачиваний:
29
Добавлен:
12.03.2015
Размер:
1.49 Mб
Скачать

4. Схема связей

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

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

Рисунок 2 – Отношения 1:∞ между информационными объектами– связи между таблицами базы данных.

5. Описание запросов

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

Запрос 1 (рисунок 3) выводит по алфавиту список всех пациентов врача Петрика с датами и стоимостью приемов. Это простой запрос на выборку с сортировкой.

Рисунок 3 – Запрос на выборку пациентов Петрика

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

Рисунок 4 – Запрос 2 на выборку телефонов пациентов

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

Рисунок 5 –Параметрический запрос 3 на выборку врачей по дню недели

Запрос 4 выводит вычисляемое поле, где находится стаж врачей. Чтобы это число выразить в годах, используется встроенная функция Datediff с параметром “yyyy” (единицы измерения– годы), при этом стаж вычисляется как разница текущей даты (функция Date()) и поля «Начало работы» таблицы «Врачи» (рисунок 6).

Рисунок 6 –Запрос на вычисление стажа врачей

Запрос 5 использует групповые операции и выводит количество (Count) приемов пациентов по датам (рисунок 7).

Рисунок 7 –Запрос на вывод ежедневного количества приемов пациентов

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

Рисунок 8–Оплата за лечение по датам и врачам– перекрестный запрос

Запрос 7 на создание таблицы создает дополнительную таблицу из таблицы «Прием», помещая туда список пациентов, уже оплативших лечение. В этой таблице будут также добавлены поля из других таблиц (рисунок 9).

Рисунок 9–Запрос на создание дополнительной таблицы

Запрос8 на обновление дополнительной таблицы увеличивает записи поля «К оплате» на 10% (рисунок10)

Рисунок 10–Запрос на обновление полей дополнительной таблицы

Запрос 9 на добавление добавляет в дополнительную таблицу (в которую изначально была отобрана информация о пациентах, оплативших лечение) информацию о клиентах, не оплативших лечение (рисунок 11).

Рисунок 11–Запрос на добавление полей дополнительной таблицы

Запрос 10 на удаление (рисунок 12) удаляет из дополнительной таблицы информацию о пациентах, которые обращались к терапевтам.

Рисунок 12–Запрос на удаление полей дополнительной таблицы

6. Описание форм

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

Форма для таблицы «Графики работы» (рисунок 13) имеет табличный вид и предназначена для удобного просмотра и редактирования данных в таблице.

Рисунок 13– Форма «Графики работы»

Формы для таблицы «Кабинеты», «Пациенты» и «Прием» (рисунки 14–16) отображают данные и позволяют вводить информацию в соответствующую таблицу. Между собой они отличаются только оформлением.

Рисунок 14– Форма «Кабинеты»

Рисунок 15– Форма «Пациенты»

В форму «Прием» дополнительно добавлено поле из таблицы пациента для отображения его фамилии рядом с номером.

Рисунок 16– Форма «Прием»

Форма «Врачи» содержит связанную форму «Прием», что позволяет увидеть информацию о пациентах, которых принимал врач (рисунок 17).

Рисунок 17– Форма «Врачи»

Главная (кнопочная) форма не содержит информацию из таблиц, но с помощью ее кнопок можно переходить по всем объектам базы данных. Создать кнопочную форму можно с помощью диспетчера (Сервис/Служебные программы/ Диспетчер кнопочных форм). Запуск базы данных с формы можно назначить с помощью окна, вызываемого командой Сервис/Параметры запуска.

Рисунок 18– Главная (кнопочная) форма базы данных

Соседние файлы в папке База данных больницы