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– Главная (кнопочная) форма базы данных