Создание таблиц баз данных

В Microsoft Office Access существуют пять возможностей создания новой таблицы:

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

2. Режим таблицы открывает заготовку, в которой все поля имеют формальные имена: Поле1, Поле2 и т.д. Пользователь имеет возможность, самостоятельно, ввести данные в пустую таблицу. При сохранении новой таблицы MS Access проанализирует данные и автоматически присвоит соответствующий тип данных и формат каждому полю.

3. Мастер таблиц. Это программа ускоряющая создание структуры таблицы. Мастер задает ряд вопросов и, руководствуясь полученными ответами, создает структуру таблицу автоматически.

4. Режим Связь с таблицами применяется в тех случаях, когда речь идет о чужой таблице, которая находится на удаленном сервере и которую нельзя импортировать целиком. Это напоминает подключение к таблице для совместного использования ее данных.

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

 

Практическое задание. Разработка базы данных «ЛПУ» с помощью

СУБД Microsoft Office Access

 

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

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

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

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. Структура таблицы «Отделения»

 

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

 

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

 

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

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

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

· Неврология

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

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

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

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

 

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

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

 

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

 

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

 

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

 

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

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

 

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

 

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

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

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

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

Сохраните таблицу и назовите ее «Палаты». Открываем таблицу «Палаты» и заполняем 5–7 записями.

 

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

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

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

 

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

 

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

 

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

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

 

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

 

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

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

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

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

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

 

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

 

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

 

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

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

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

Сохраните таблицу и назовите ее «ИБ–Услуги».

 

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

 

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

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

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

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

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

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

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

· Щелкните по ячейке ОБЕСПЕЧЕНИЕ ЦЕЛОСТНОСТИ ДАННЫХ – в ней должна появиться галочка (рисунок 16);

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

 

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

 

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

· Нажмите кнопку СОЗДАТЬ. Связь будет создана.

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

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

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

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

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

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

или

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

 

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

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

 


[1] Информатика и информационно–коммуникационные технологии. 11 класс. Базовый уровень / Под ред. Проф. Н.В. Макаровой. –СПб.: Питер, 2006.

[2] Там же.

[3] Там же.

[4] Там же.



php"; ?>