СУБД Microsoft Office Access

Описание таблиц:

1. Таблица «Пациенты»

Содержит анкетные данные пациентов, связана с таблицей «ИсторииБолезни» отношением «один-ко-многим».

2. Таблица «ИсторииБолезни»

Для каждого пациента создается своя история болезни. В данной таблице содержится информация о пациенте, палате, в которой лежит пациент, датах поступления и выписки, информация о лечащем враче. Данная таблица связана с помощью внешних ключей с таблицами «Палаты», «Пациенты», «Врачи» отношением «один-ко-многим».

Отношение «многие-ко-многим» используется для связи с таблицами «Диагнозы», «Назначения», «Услуги», т.к. у одного и того же пациента может быть несколько заболеваний, и, соответственно диагнозов, для одного и того же пациента может быть поставлено несколько назначений или оказано несколько дополнительных услуг. Для данных связей вводятся отдельные связывающие таблицы: «ИБ-Назначения», «ИБ-Диагнозы», «ИБ-Услуги».

3. Таблица «Назначения» (ИБ-Назначения)

Так как в одной истории болезни врач пишет несколько лекарственных препаратов, то вводится таблица «ИБ-назначения», которая будет связывать таблицу «Лекарственный препарат» с таблицей «ИсторииБолезни». В этой таблице будет храниться информация о том, какой препарат приписан к конкретной истории болезни («многие-ко-многим»), а также даты назначения и отмены лекарственного препарата.

4. Таблица «Лекарственные препараты»

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

5. Таблица «ПутиВведения»

У каждого лекарственного препарата есть свой путь введения. Таблица «ПутиВведения» – это справочник путей введения лекарственных препаратов. (в/в, в/м, п/к, в/к и т.д.). У каждого препарата есть свой путь введения, по этому, данная таблица связана с таблицей «Лекарственные препараты» отношением «один-ко-многим».

6. Таблица «МКБ»

Данная таблица является справочником возможных диагнозов пациентов. При постановке диагноза, конкретный диагноз выбирается из справочника и связывается через таблицу «ИБ-Диагнозы» с историей болезни пациента. Для данной таблицы используется справочник МКБ.

7. Таблица «ТипыДиагнозов»

Диагнозы также классифицируются на основной, сопутствующий и осложнение. Это таблица «ТипыДиагноза». Таким образом, выбрав диагноз из справочника МКБ можно указать ещё и тип этого диагноза.

8. Таблица «ИБ-Диагнозы»

В истории болезни может быть несколько диагнозов с различными типами. Для хранения данной информации создана таблица, которая связывает диагноз (справочник МКБ), тип диагноза (справочник «ТипыДиагнозов») с историей болезни. В данном случае используются отношения «один-ко-многим».

9. Таблица «Режимы»

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

10. Таблица ИБ-Режимы.

В истории болезни указывается номер режима пациента, который включает в себя номер стола (диета) и номер двигательной активности. Так как на периоде стационарного лечения у пациента могут меняться эти назначения, то вводится специальная таблица, через которую связываются таблицы «ИсторииБолезни» и справочник «Режимы» (отношение «многие-ко-многим»). Связь создается через таблицу «ИБ-Режимы», в которой также учитывается дата назначения того или иного режима.

11. Таблица «Палаты»

В истории болезни указывается номер палаты, в которой лежит пациент. В одной палате может находиться несколько пациентов, используется отношение «один-ко-многим». Также через данную таблицу устанавливается связь пациента и отделения, в котором он лежит.

12. Таблица «Отделения»

Каждая палата принадлежит к конкретному отделению. Таблица «Отделения» – справочник отделений ЛПУ (больницы). Таблицы «Палаты» и «Отделения» связаны отношением «один-ко-многим», так как на одном отделении расположено несколько палат.

13. Таблица «Врачи».

К каждой истории болезни привязан свой врач (лечащий врач пациента). Эта таблица представляет собой справочник врачей, работающих в больнице и их специализацию. Связана с таблицей «ИсторииБолезни» отношением один-ко-многим, так как у разных пациентов может быть один и тот же лечащий врач.

14. Таблица «Услуги»

Пациентам, находящимся на стационарном лечении обычно проводятся какие-либо дополнительные лечебные или диагностические услуги. Пациенту может быть оказано много услуг (УЗИ, ЭКГ и т.д.), данные об оказанных услугах отражаются в истории болезни пациента. Таблица «ИсторииБолезни» и таблица «Услуги» связываются отношением «многие-ко-многим» через таблицу «ИБ-Услуги».

15. Таблица «ИБ-Услуги»

Данная таблица используется для хранения информации о том, какая услуга (или услуги) была оказана конкретному пациенту. Также в данной таблице указывается какой врач назначил данную услугу (услугу делает тоже определённый врач, то можно воспользоваться тем же справочником врачей (таблица «Врачи») и приписать услуге конкретного врача).

Связи между таблицами изображены на схеме данных (рисунок 3).

СУБД Microsoft Office Access - student2.ru

Рисунок 3. Схема данных

В схему данных не включены таблицы «Врачи», «Отделения», «Палаты», «Услуги» и «ИБ–услуги», в практической работе Вы самостоятельно создадите перечисленные таблицы и добавите связи между ними.

Проектирование БД

В качестве практического упражнения вам предложено создать самостоятельно несколько таблиц, разработать структуру, установить необходимые связи и поработать со схемой данных базы «ЛПУ».

1. Подготовка к проектированию БД.Скопируйте файл … \Access\База_ЛПУ.mdb в Вашу папку. Проверьте свойства файла (правой кнопкой мыши на имени файла) и снимите флаг «Только чтение», если он установлен. Откройте файл базы данных двойным щелчком мыши.

2. Создание таблицы ВРАЧИ. В этой таблице будут храниться данные о всех врачах, работающих в больнице. Для этого выберите вкладку «Создание», группу «Таблицы» и нажмите кнопку «Конструктор таблиц» (рисунок 4).

СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru

Рисунок 4. Работа с таблицами

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

Определите поля таблицы в соответствии с таблицей 2 (рисунок 5). Третий столбец в таблице 2 не соответствует третьему столбцу в конструкторе таблиц MS Access. Размер поля и ограничения вносятся на вкладке «Общие» для каждого поля.

СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru

Рисунок 5. Конструктор таблицы

Таблица 2

Структура таблицы Врачи

Имя поля Тип данных Размер поля и ограничения
КодВрача Числовой Длинное целое
Фамилия Текстовый
Имя Текстовый
Отчество Текстовый
Специализация Текстовый

В поле СПЕЦИАЛИАЦИЯ используем мастер подстановок, чтобы выбирать из выпадающего списка нужную специализацию. Для этого в графе «Тип данных» для поля СПЕЦИАЛИЗАЦИЯ выберите «Мастер подстановки» – как показано на рисунок 6.

СУБД Microsoft Office Access - student2.ru

Рисунок 6. Вызов мастера подстановок

В режиме СОЗДАНИЯ ПОДСТАНОВОКвыбирите пункт БУДЕТ ВВЕДЕН ФИКСИРОВАННЫЙ НАБОР ЗНАЧЕНИЙ.

Далее создаем 1 столбец со списком специализаций так, как показано на рисунке 7:

§ Хирург

§ Терапевт

§ Невролог

§ Эндокринолог

§ Кардиолог

Задаем имя столбца в соответствии с названием поля – СПЕЦИАЛИЗАЦИЯ и нажимаем кнопку «Готово».

СУБД Microsoft Office Access - student2.ru

Рисунок 7. Работа мастера подстановок, шаг 2.

Закончив создание списка в режиме конструктора на вкладке ПОДСТАНОВКА, посмотрите появившиеся изменения после работы мастера. Проверьте строку в свойствах поля ОГРАНИЧИТСЯ СПИСКОМ, в котором должно стоять слово НЕТ (рисунок 8).

Обратите внимание: тип данных в поле СПЕЦИАЛИЗАЦИЯ поменялся на «Текстовый», но, если в свойствах поля вы выберите вкладку «Подстановка», то вы увидите ваш созданный список (рисунок 8).

СУБД Microsoft Office Access - student2.ru В качестве ключевого задайте поле КОД ВРАЧА. Для определения ключевого поля, необходимо в режиме конструктора, выделить нужное поля, в данном случае КОД_ВРАЧА и нажать кнопку на панели инструментов (или нажав левую клавишу мыши, выбрать из списка «ключевое поле»), как показано на рисунке 9.

Завершив создание структуры, сохраните таблицу и назовите ее «Врачи».

СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru

Рисунок 8. Созданный список для подстановки значений

СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru

Рисунок 9. Задание ключевого поля

Созданную таблицу «Врачи» необходимо заполнить самостоятельно, включив 5–7 записей. Для заполнения можно использовать режим «Таблицы».

3. Создание таблицы ОТДЕЛЕНИЯ.

В нашей больнице есть несколько различных отделений. Они разделены по профилю специализации. Каждому отделению принадлежат свои палаты для пациентов. Для хранения данной информации создадим таблицы «Отделения» и «Палаты».

Создайте таблицу «Отделения» в соответствии с таблицей 3. Для этого в окне базы данных выберите вкладку «Создание», группу «Таблицы» и нажмите кнопку «Конструктор таблиц».

В качестве ключевого задайте поле КодОтделения Для этого щелкните по полю КодОтделения и нажмите на кнопку КЛЮЧЕВОЕ ПОЛЕ, которая находится на вкладке «Конструктор», группа «Сервиз».

Таблица 3.

Структура таблицы «Отделения»

Имя поля Тип данных Размер поля
КодОтделения Счетчик Длинное целое
Наименование Текстовый

В поле НАИМЕНОВАНИЕ создайте ПОЛЕ СО СПИСКОМ, для этого воспользуйтесь инструкцией описанной выше (см. создание таблицы Врачи).

Список будет состоять из следующих отделений:

· Кардиология

· Неврология

· Общая хирургия

· Реабилитация

· Эндокринология

Сохраните таблицу и назовите ее «Отделения»

Созданную таблицу «Отделения» необходимо заполнить самостоятельно, включив 5-7 записей. Для заполнения можно использовать режим «Таблицы».

4. Создание таблицы «ПАЛАТЫ».

Создайте структуру таблицы ПАЛАТЫ в соответствии с таблицей 4.

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

Таблица 4.

Структура таблицы «Палаты»

Имя поля Тип данных Размер поля
КодПалаты Счетчик  
КодОтделения Числовой Длинное целое
Номер Числовой Целое

Так как у каждого отделения есть свои определенные палаты, то добавим поле КодОтделения. Благодаря этому полю, мы будем знать, к какому отделению принадлежит данная палата. Поле КодОтделения будет заполняться при помощи мастера подстановок из таблицы ОТДЕЛЕНИЯ.

Для этого в поле ТИП ДАННЫХ для поля КодОтделения выберите МАСТЕР ПОДСТАНОВОК. В открывшемся окне выберите «Объект будет использовать данные из таблицы или запроса», как показано на рисунке 10.

СУБД Microsoft Office Access - student2.ru

Рисунок 10. Создание подстановки

В качестве таблицы подстановки выберите таблицу ОТДЕЛЕНИЯ.

Из доступных полей таблицы ОТДЕЛЕНИЯ выберитеНАИМЕНОВАНИЕ.

После работы мастера при заполнении поля КОД ОТДЕЛЕНИЯ таблицы ПАЛАТЫ будут отображаться НАИМЕНОВАНИЕ отделения для выбора. Можно провести сортировку по НАИМЕНОВАНИЮ отделения.

В свойствах поля перейдите на вкладку «Подстановка», в графе «Ограничиться списком» выберете «Да».

Сохраните таблицу и назовите ее «Палаты».

ВНИМАНИЕ! Проверить: у связанных полей должны быть одинаковые значения в графах – типы данных и размер поля.

Созданную таблицу «Палаты» необходимо заполнить самостоятельно, включив 5-7 записей. Для заполнения можно использовать режим «Таблицы».

5. Внесение изменений в таблицу «История болезни»

В таблицу «ИсторияБолезни» необходимо внести данные по пациенту, а именно, номер палаты и фамилию лечащегося врача. Для этого необходимо открыть таблицу «ИсторияБолезни» в режиме Конструктора: для этого выделим таблицу и нажмем правую клавишу мыши, выберем команду Конструктор. Поля КодПалаты и КодВрача будут заполняться с помощью Мастера подстановок. Для этого получим значения подстановки из таблиц ПАЛАТЫ и ВРАЧИ (рисунок 11, рисунок 12).

СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru Рисунок 11. Выбор значений Рисунок 12. Выбор значений

из таблицы «Палаты» из таблицы «Врачи»

Проверяем правильность подстановки в Свойстве поля (рисунок 13, рисунок 14) и закрываем Конструктор таблиц.

СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru

Рисунок 13. Поле КодПалаты Рисунок 14. Поле КодВрача

Открываем таблицу «ИсторияБолезни» в режиме «Таблицы» и вносим данные по каждому пациенту. Для исключения дублирования данных обратите внимание на таблицы: ВРАЧИ и поле «Специализация», ПАЛАТЫ и поле «Код отделения».

После заполнения таблица «ИсторияБолезни» примет вид в соответствии с рисунком 15.

СУБД Microsoft Office Access - student2.ru

Рисунок 15. Заполненная таблица «ИсторияБолезни»

6. Импорт таблиц. Создание таблицы «Услуги».

На ряду с текущим лечением в больнице пациентам оказываются дополнительные услуги на хозрасчетной основе. Для хранения списка всех платных услуг необходима таблица «Услуги» (таблица 5).

Для создания данной таблицы воспользуемся МАСТЕРОМ ИМПОРТА. Для этого:

– в окне базы данных выберите вкладку «Внешние данные», группу «Импорт и связи», кнопку Access. (рисунок 16).

– в открывшемся окне укажите путь к файлу на диске …\Access, выберите базу «База2» и нажмите кнопку ИМПОРТ.

– в открывшемся окне ИМПОРТ ОБЪЕКТОВ выберите вкладку ТАБЛИЦЫ, затем найдите в списке таблицу «УСЛУГИ» и нажмите ОК.

Таблица 5.

Структура таблицы «Услуги»

Имя поля Тип данных Размер поля
Код СЧЕТЧИК Длинное целое
Наименование Текстовый

В результате в вашем списке таблиц появится новая таблица «УСЛУГИ». Откройте ее в режиме конструктора и проверьте структуру и свойства полей.

СУБД Microsoft Office Access - student2.ru СУБД Microsoft Office Access - student2.ru

Рисунок 16. Импорт данных

7. Создание таблицы «ИБ–Услуги»

В таблице «ИБ–Услуги» отразим информацию о назначениях дополнительных платных услуг для пациентов и назначавших их врачах в соответствии со структурой, представленной в таблице 6.

Таблица 6.

Структура таблицы «ИБ – Услуги»

Имя поля Тип данных Размер поля
Код Счетчик Длинное целое
КодУслуги Числовой Длинное целое
КодВрача Числовой Длинное целое
кодИсторииБолезни Числовой Длинное целое

Ключевое поле – поле КОД.

Поле КодУслуги заполняется с помощью мастера подстановки из таблицы «УСЛУГИ», для заполнения полей КодВрача и КодИсторииБолезни также используется МАСТЕР ПОДСТАНОВКИ и, соответственно, таблицы «ВРАЧИ» и «ИСТОРИИБОЛЕЗНИ. Таблица «ИСТОРИИБОЛЕЗНИ» уже есть в вашей базе данных.

Еще раз проверьте соответствиетипов данных и размеров полей, по которым связываются таблицы. Например, если в таблице «ВРАЧИ» поле КодВрача с типом данных Числовой и размером Длинное целое, то и в таблице «ИБ–Услуги» поле КодВрача должно быть числовым с размером Длинное целое. Тип данных Счетчик всегда задает числовое поле с размером Длинное целое. Сохраните таблицу и назовите ее «ИБ–Услуги».

Созданную таблицу «ИБ–услуги» необходимо заполнить самостоятельно, включив 5-7 записей. Для заполнения можно использовать режим «Таблицы».

8. Заполнить все пустые таблицы в БД по 3–5 записей.

Работа со схемой данных.

Доработайте схему данных, т.е. создайте связи между таблицами. Для этого:

1. Выберите вкладку «Работа с базами данных», группа «Отношения» и нажмите кнопку СХЕМА ДАННЫХ. На экране появится окно СХЕМА ДАННЫХ;

2. Выполните команду СВЯЗИÞДОБАВИТЬ ТАБЛИЦУ, используя правую клавишу мыши, если это необходимо:

- В появившемся окне ДОБАВЛЕНИЕ ТАБЛИЦЫ поочередно двойным щелчком мыши добавьте созданные таблицы. Будьте внимательны, вы должны добавить таблицы: ВРАЧИ, ОТДЕЛЕНИЯ, ПАЛАТЫ, УСЛУГИ, ИБ–УСЛУГИ.

- Закройте окно, нажав кнопку ЗАКРЫТЬ;

3. Создайте связь или Измените связь между таблицами ВРАЧИ и ИСТОРИЯ БОЛЕЗНИ. Для этого подведите курсор мыши к полю КодВрача в таблице ВРАЧИ, нажмите левую клавишу мыши и, не отпуская ее, перетащите курсор на поле КодВрача в таблице ИСТОРИЯ БОЛЕЗНИ, а затем отпустите левую клавишу мыши. На экране откроется окно СВЯЗИ;

4. СУБД Microsoft Office Access - student2.ru Щелкните по ячейке ОБЕСПЕЧЕНИЕ ЦЕЛОСТНОСТИ ДАННЫХ – в ней должен появиться флажок (рисунок 17);

Рисунок 17. Изменение связей

5. Щелкните по ячейкам КАСКАДНОЕ ОБНОВЛЕНИЕ СВЯЗАННЫХ ПОЛЕЙ и КАСКАДНОЕ УДАЛЕНИЕ СВЯЗАННЫХ ЗАПИСЕЙ.

Информация. Задание каскадного обновления связанных полей и каскадного удаление связанных записей позволит вам редактировать записи только в таблице «ВРАЧИ», а в таблице «ИСТОРИЯ БОЛЕЗНИ» эти действия будут со связанными записями выполняться автоматически. Например, если вы удалите из таблицы «ВРАЧИ» одну запись, то в таблице «ИСТОРИЯ БОЛЕЗНИ» удалятся все строки, связанные с этой записью.

- Нажмите кнопку ОК. Связь будет создана.

- Аналогично создайте или Измените связи между полем КодОтделения в таблице «ОТДЕЛЕНИЯ» и полем КодОтделения в таблице ПАЛАТЫ.

- Создайте или Измените связь между полем КодПалаты в таблице «ПАЛАТЫ» и полем КодПалаты в таблице «ИСТОРИЯБОЛЕЗНИ».

- Создайте или Измените связь между полями КодУслуги в таблицах «УСЛУГИ» и «ИБ-УСЛУГИ».

- Создайте или Измените связь в таблице «ИБ–УСЛУГИ» и таблицах «ВРАЧИ» по полю КодВрача.

- И, наконец, свяжите таблицу «ИБ–УСЛУГИ» и таблицу «ИСТОРИЯ БОЛЕЗНИ» по полю кодИсторииБолезни.

При правильном выполнении всей работы у вас должна получиться следующая схема данных (рисунок 18):

СУБД Microsoft Office Access - student2.ru

Рисунок 18. Схема БД

§ Сверьте полученную схему с рисунком 18.

§ Закройте окно схемы данных, ответив ДА на вопрос о сохранении макета.

Наши рекомендации