Объекты СУБД Microsoft Access
К основным объектам окна базы данных относятся таблицы, формы, запросы, отчеты, макросы и модули.
Таблицы– основное средство для хранения данных (рисунок 2). Таблицы имеют определенную структуру: каждое поле имеет наименование, тип данных, набор ограничений и др.
Рисунок 2. Пример таблицы в Access
Формы – основное средство для ввода данных, управления СУБД и вывода результатов на экран монитора (рисунок 3). В форму могут быть вставлены рисунки, диаграммы, звук и видео.
Рисунок 3. Пример формы в Access
Запросы – это инструмент для извлечения необходимой информации из исходных таблиц и представления ее пользователю в удобном виде.
Отчеты – это специальное средство для формирования выходных документов, которые, впоследствии, могут быть распечатаны или включены в документ другого приложения.
Макрос-это совокупность внутренних макрокоманд, предназначенных для автоматизации работы с БД. Например, макрос может при загрузке БД автоматически открыть нужные формы или при нажатии кнопки в форме выполнить некоторое типовое действие (печать формы, открытие другой формы и т.п.). Макросы позволяют автоматизировать часто выполняемые операции и согласовать работу разных объектов практически без программирования в обычном понимании. Макрокоманды выбираются из списка стандартных макрокоманд, например: Открыть объект, Закрыть объект и т.д.
Модули – это программы, создаваемые средствами языка VBA. Модули обычно используют для создания более сложных информационных систем, включают процедуры и функции.
Создание таблиц баз данных
В Microsoft Office Access существуют пять возможностей создания новой таблицы:
1. Режим конструктора предоставляет возможность одновременно задавать поля будущей таблицы и устанавливать свойства этих полей.
2. Режим таблицы открывает заготовку, в которой все поля имеют формальные имена: Поле1, Поле2 и т.д. Пользователь имеет возможность, самостоятельно, ввести данные в пустую таблицу. При сохранении новой таблицы MS Access проанализирует данные и автоматически присвоит соответствующий тип данных и формат каждому полю.
3. Мастер таблиц. Это программа ускоряющая создание структуры таблицы. Мастер задает ряд вопросов и, руководствуясь полученными ответами, создает структуру таблицу автоматически.
4. Режим Связь с таблицами применяется в тех случаях, когда речь идет о чужой таблице, которая находится на удаленном сервере и которую нельзя импортировать целиком. Это напоминает подключение к таблице для совместного использования ее данных.
5. Импорт таблиц из другой базы. В зависимости от обстоятельств из импортируемой таблицы может поступить структура полей, их названия и свойства, а также и содержимое базы. Необходимые правки вносятся вручную.
Практическое задание. Разработка базы данных «ЛПУ» с помощью
СУБД Microsoft Office Access
Описание таблиц
Таблица «Пациенты»
Содержит анкетные данные пациентов. Связана с таблицей «ИсторииБолезни» отношением «один-ко-многим».
2. Таблица «ИсторииБолезни»
Для каждого пациента создается своя история болезни. В данной таблице содержится информация о пациенте, палате, в которой лежит пациент, датах поступления и выписки, информация о лечащем враче. Данная таблица связана с помощью внешних ключей с таблицами «Палаты», «Пациенты», «Врачи» отношением «один-ко-многим».
Отношение «многие-ко-многим» используется для связи с таблицами «Диагнозы», «Назначения», «Услуги», т.к. у одного и того же пациента может быть несколько заболеваний, и, соответственно диагнозов, для одного и того же пациента может быть поставлено несколько назначений или оказано несколько дополнительных услуг. Для данных связей вводятся отдельные связывающие таблицы: «ИБ-Назначения», «ИБ-Диагноз», «ИБ-Услуги».
3. Таблица «Назначения» (ИБ-Назначения)
Так как в одной истории болезни врач пишет несколько лекарственных препаратов, то вводится таблица «ИБ-назначения», которая будет связывать таблицу «Лекарственный препарат» с таблицей «ИсторииБолезни». В этой таблице будет храниться информация о том, какой препарат приписан к конкретной истории болезни («многие-ко-многим»), а также даты назначения и отмены лекарственного препарата.
4.Таблица «Лекарственные препараты»
Данная таблица является справочником, в котором хранится информация о возможных препаратах, которые могут быть назначены пациентам.
5. Таблица «ПутиВведения»
Таблица «ПутиВведения» - это справочник путей введения лекарственных препаратов. (в/в, в/м, п/к, в/к и т.д.). У каждого препарата есть свой путь введения, по этому данная таблица связана с таблицей «Лекарственные препараты» отношением «один-ко-многим».
6. Таблица «МКБ»
Данная таблица является справочником возможных диагнозов пациентов. При постановке диагноза, конкретный диагноз выбирается из справочника и связывается через таблицу «ИБ-Диагнозы» с историей болезни пациента. Для данной таблицы используется справочник МКБ.
7. Таблица «ТипыДиагнозов»
Диагнозы также классифицируются на основной, сопутствующий и осложнение. Это таблица «ТипыДиагноза». Таким образом, выбрав диагноз из справочника МКБ можно указать ещё и тип этого диагноза.
8.Таблица «ИБ – Диагнозы»
В истории болезни может быть несколько диагнозов с различными типами. Для хранения данной информации создана таблица, которая связывает диагноз (справочник МКБ) и тип диагноза (справочник «ТипыДиагнозов») с историей болезни. В данном случае используются отношения «один-ко-многим».
9. Таблица «Режимы»
Данная таблица является справочником, в ней хранятся записи о возможных режимах двигательной активности и диетических режимах (номер стола).
10. Таблица ИБ-Режимы.
В истории болезни указывается номер режима пациента, который включает в себя номер стола (диета) и номер двигательной активности. Так как на периоде стационарного лечения у пациента могут меняться эти назначения, то вводится специальная таблица, через которую связываются таблицы «ИсторииБолезни» и справочник «Режимы» (отношение «многие-ко-многим»). Связь создается через таблицу «ИБ-Режимы», в которой также учитывается дата назначения того или иного режима.
11. Таблица «Палаты»
В истории болезни указывается номер палаты, в которой лежит пациент. В одной палате может находиться несколько пациентов, используется отношение «один–ко-многим». Также через данную таблицу устанавливается связь пациента и отделения, в котором он лежит.
12. Таблица «Отделения»
Каждая палата принадлежит к конкретному отделению. Таблица «Отделения» – справочник отделений ЛПУ (больницы). Таблицы «Палаты» и «Отделения» связаны отношением «один-ко-многим», так как на одном отделении расположено несколько палат.
13. Таблица «Врачи».
К каждой истории болезни привязан свой врач (лечащий врач пациента). Эта таблица представляет собой справочник врачей, работающих в больнице и их специализацию. Связана с таблицей «ИсторииБолезни» отношением один-ко-многим, так как у разных пациентов может быть один и тот же лечащий врач.
14. Таблица «Услуги»
Пациентам, находящимся на стационарном лечении обычно проводятся какие-либо дополнительные лечебные или диагностические услуги. Пациенту может быть оказано много услуг (УЗИ, ЭКГ и т.д.), данные об оказанных услугах отражаются в истории болезни пациента. Таблица «ИсторииБолезни» и таблица «Услуги» связываются отношением «многие-ко-многим» через таблицу «ИБ-Услуги».
15. Таблица «ИБ-Услуги»
Данная таблица используется для хранения информации о том, какая услуга (или услуги) была оказана конкретному пациенту. Также в данной таблице указывается врач, назначивший данную услугу, и врач, выполняющий данную услугу. Поэтому можно воспользоваться дважды справочником врачей (таблица «Врачи»).
Связи между таблицами изображены на схеме данных (рисунок 4).
Рисунок 4. Схема данных
В схему данных не включены таблицы «Врачи», «Отделения», «Палаты», «Услуги» и «ИБ–услуги», в практической работе Вы самостоятельно создадите перечисленные таблицы и добавите связи между ними.
ПРАКТИКА
В качестве практического упражнения вам предложено создать самостоятельно несколько таблиц, разработать структуру, установить необходимые связи и поработать со схемой данных базы «ЛПУ».
1. Подготовка к проектированию БД.Скопируйте файл … \Задания\Задания<Ваш факультет>\Access\База_ЛПУ.mdb в Вашу папку. Проверьте свойства файла (правой кнопкой мыши на имени файла) и снимите флаг “Только чтение”, если он установлен. Откройте файл базы данных двойным щелчком мыши.
ВНИМАНИЕ! При появлении следующего предупреждения нажмите «Открыть» (рисунок 5).
Рисунок 5. Предупреждение системы безопасности
При открытии файла в Access 2010 Предупреждение системы безопасности не появляется.
2. Создание таблицы ВРАЧИ. В этой таблице будут храниться данные о всех врачах, работающих в больнице. Для этого выберите вкладку «Создание», группу «Таблицы» и нажмите кнопку «Конструктор таблиц» (рисунок 6).
Рисунок 6. Работа с таблицами
В результате открывается окно таблицы в режиме конструктора, теперь следует определить структуру таблицы, указать имена полей, тип вносимых данных и свойство поля при необходимости.
Определите поля таблицы в соответствии с таблицей 1. Третий столбец в таблице 1 не соответствует третьему столбцу в конструкторе таблиц MS Access. Размер поля и ограничения вносятся на вкладке «Общие» для каждого поля (рисунок 7).
Таблица 1. Структура таблицы Врачи
Имя поля | Тип данных | Размер поля и ограничения |
КодВрача | Числовой | Длинное целое |
Фамилия | Текстовый | |
Имя | Текстовый | |
Отчество | Текстовый | |
Специализация | Текстовый |
В поле СПЕЦИАЛИАЦИЯ используем мастер подстановок, чтобы выбирать из выпадающего списка нужную специализацию. Для этого в графе «Тип данных» для поля СПЕЦИАЛИЗАЦИЯ выберите «Мастер подстановки» – как показано на рисунок 8.
«Имя поля» |
Для поля «Код врача» в «Свойствах поля» устанавливаем размер поля – «Длинное целое» |
«Свойства поля» |
«Тип данных» |
Рисунок 7. Конструктор таблицы
Рисунок 8. Вызов мастера подстановок
В режиме СОЗДАНИЯ ПОДСТАНОВОКвыбирите пункт БУДЕТ ВВЕДЕН ФИКСИРОВАННЫЙ НАБОР ЗНАЧЕНИЙ (рисунок 9).
Рисунок 9. Работа мастера подстановок, шаг 1.
Далее создаем 1 столбец со списком специализаций так, как показано на рисунке 10:
§ Хирург
§ Терапевт
§ Невролог
§ Эндокринолог
§ Кардиолог
Задаем имя столбца в соответствии с названием поля – СПЕЦИАЛИЗАЦИЯ (рисунок 11) и нажимаем кнопку «Готово».
Рисунок 10. Работа мастера подстановок, шаг 2.
Рисунок 11. Работа мастера подстановок, шаг 3.
Закончив создание списка в режиме конструктора на вкладке ПОДСТАНОВКА, посмотрите появившиеся изменения после работы мастера. Проверьте строку в свойствах поля ОГРАНИЧИТСЯ СПИСКОМ, в котором должно стоять слово НЕТ (рисунок 12).
Рисунок 12. Созданный список для подстановки значений
Обратите внимание: тип данных в поле СПЕЦИАЛИЗАЦИЯ поменялся на «Текстовый», но, если в свойствах поля вы выберите вкладку «Подстановка», то вы увидите ваш созданный список (рисунок 12).
В качестве ключевого задайте поле КОД ВРАЧА. Для определения ключевого поля, необходимо в режиме конструктора, выделить нужное поле, в данном случае КОД_ВРАЧА и нажать кнопку на панели инструментов (или нажав левую клавишу мыши, выбрать из списка «ключевое поле»), как показано на рисунке 13.
Рисунок 13. Задание ключевого поля
Завершив создание структуры, сохраните таблицу и назовите ее «Врачи»
3. Создание таблицы ОТДЕЛЕНИЯ.
В нашей больнице есть несколько различных отделений. Они разделены по профилю специализации. Каждому отделению принадлежат свои палаты для пациентов. Для хранения данной информации создадим таблицы «Отделения» и «Палаты».
Создайте таблицу «Отделения» в соответствии с таблицей 2. Для этого в окне базы данных выберите вкладку «Создание», группу «Таблицы» и нажмите кнопку «Конструктор таблиц».
Таблица 2. Структура таблицы «Отделения»
Имя поля | Тип данных | Размер поля |
КодОтделения | Счетчик | Длинное целое |
Наименование | Текстовый |
В качестве ключевого задайте поле КодОтделения Для этого щелкните по полю КодОтделения и нажмите на кнопку КЛЮЧЕВОЕ ПОЛЕ, которая находится на вкладке «Конструктор», группа «Сервиз».
В поле НАИМЕНОВАНИЕ создайте ПОЛЕ СО СПИСКОМ, для этого воспользуйтесь инструкцией описанной выше (см. создание таблицы Врачи).
Список будет состоять из следующих отделений:
· Кардиология
· Неврология
· Общая хирургия
· Реабилитация
· Эндокринология
Сохраните таблицу и назовите ее «Отделения»