Для того, чтобы сделать работы регистратуры эффективнее необходимо учитывать всех больных, поступавших в больницу. А также время и дату поступления, к какому врачу, то есть кабинет и результат обследования или лечения. После выделения сущностей, необходимо определить первичные ключи.
Рассмотрим таблицу Пациенты. Среди ее столбцов очевидным кандида-
том на первичный ключ является ID-пациента. Первичные ключи
выделяют подчеркиванием.
Примечание: суррогатный первичный ключ также может вводиться в тех случаях, когда потенциальный ключ имеет большой размер (например, длинная
символьная строка) или является составным (не менее трёх атрибутов).
Сурагатный ключ в нашем случаи будет ID-пац_стационар. В таблице Врачи первичным ключом будет ID-врача. В таблице Прием-ID-приема, таблицу Диагноз можно идентифицировать ключом ID-диагноза.
После определения ключей необходимо определить связи между сущностями. В моей базе данных практически все связи один ко многим. Рассмотрим одну из них: в одном стационаре может находится много врачей. Единственная связь один к одному между процедурами и пац_стационаром.
Тип связи M:N реализуется путем ввода ассоциативного объекта, кото-
рый является соединением первичных ключей соответствующих отношений
(рис. 1.1), а связь M:N разбивается на две связи типа 1:N (рис. 1.2).
ID-приема
ID-пациента
ID-врача
ID-диагноза
Дата
Время
Кабинет
Исход
| |
ID-пациента
ФИО
Номер телефона
Возраст
| |
Пациенты Прием Врачи
ID-врача
Код отделениия
ФИО
Номер телефона
| |
записывает имеет
имеет
Стационар
Код отделения
Кол-во палат
Этаж
|
имеют
записывает
имеют
ID-диагноза
ID-лечения
Название
| |
ID-пац_стационара
ID-пациента
Код отделения
Дата начала лечения
Номер палаты
Дата окончания лечения
Результат
| |
Пац_стационар Диагноз Лечение
ID-лечения
Название
Стоимость
Статус
| |
содержит
содержит
палаты
имеются
ID -лечения
ID -пац_стационара
|
Процедуры
содержит
Рис. 1.1. Диаграмма сущность-связь БД больницы
ID-приема
ID-пациента
ID-врача
ID-диагноза
Дата
Время
Кабинет
Исход
| |
ID-пациента
ФИО
Номер телефона
Возраст
| |
Пациенты Прием R2 Врачи
ID-врача
Код отделениия
ФИО
Номер телефона
| |
R 3 R 4 R 1
R9 R11
R5 R7
Стационар
Код отделения
Кол-во палат
Этаж
|
R10
ID-диагноза
ID-лечения
Название
| |
ID-пац_стационара
ID-пациента
Код отделения
Дата начала лечения
Номер палаты
Дата окончания лечения
Результат
| |
Пац_стационар R8 Диагноз Лечение
ID-лечения
Название
Стоимость
Статус
| |
R15
R13 R20
R14
R6
R17
палаты
Номер палаты
Статус
Количество мест
Код отделения
| |
R18
R12
R16
ID -лечения
ID -пац_стационара
|
Процедуры
R19
Рис. 1.2. Уточненная диаграмма сущность-связь БД больницы
В таблице 1.1 приведено описание связей
Таблица описания связей таблица 1.1
Название связи
| Обозначение связи
| Главный объект
| Связанный объект
| Вид связи
| Условие связи
| Способ реализации
| Примечание
|
имеет
| R1
| Прием
| Врачи
| М:1
|
| По коду врача
|
|
имеет
| R2
| Врачи
| Прием
| 1:М
|
| По коду врача
|
|
записывает
| R3
| Пациенты
| Прием
| 1:М
|
| По коду пациента
|
|
записываются
| R4
| Прием
| Пациенты
| М:1
|
| По коду пациента
|
|
имеются
| R5
| Пациенты
| Пац_стационар
| 1:М
|
| По коду пациента
|
|
имеют
| R6
| Пац_стационар
| Пациенты
| М:1
|
| По коду пациента
|
|
записывает
| R7
| Прием
| Диагноз
| М:1
|
| По коду диагноза
|
|
записывается
| R8
| Диагноз
| Прием
| 1:М
|
| По коду диагноза
|
|
имеет
| R9
| Врачи
| Стационар
| М:1
|
| По коду отделения
|
|
имеются
| R10
| Стационар
| Врачи
| 1:М
|
| По коду отделения
|
|
имеют
| R11
| Врачи
| Палаты
| 1:М
|
| По коду отделения
|
|
имеются
| R12
| Палаты
| врачи
| М:1
|
| По коду отделения
|
|
содержит
| R13
| Диагноз
| Лечение
| М:1
|
| По коду лечения
|
|
содержится
| R14
| Лечение
| Диагноз
| 1:М
|
| По коду лечения
|
|
имеются
| R15
| Пац_стационар
| Процедуры
| M:1
|
| По коду пац_стационара
|
|
имеются
| R16
| Процедуры
| Пац_стационар
| 1:M
|
| По коду пац_стационара
|
|
содержит
| R17
| Пац_стационар
| Палаты
| М:1
|
| По коду номера палаты
|
|
содержатся
| R18
| палаты
| Пац_стационар
| 1:М
|
| По коду номера палаты
|
|
содержит
| R19
| Процедуры
| Лечение
| М:1
|
| По коду лечения
|
|
содержится
| R20
| лечение
| процедуры
| 1:М
|
| По коду лечения
|
|
Отношения приведены в табл. 1.2 – 1.8. В столбце "Динамичность" бу-
дем помечать буквой D изменяемые атрибуты (динамические), S - неизменяемые (статические). "Количество повторений" означает, сколько раз повторяется множественный атрибут. В столбце "Область возможных значений" указывается тип (C - символы, D - дата, N - число) и, возможно, диапазон изменения атрибута. В столбце "Вывод значений" указываются номера атрибутов, из которых можно получить данный атрибут. Выводимый атрибут можно не хранить. В столбце "Ограничение доступа" указано, кто имеет право изменять сведения.
Таблица 1.2
Описание атрибутов объекта Пациенты
Название
атрибута
| Обозначение
атрибута
| Динамичность
| Количество
повторений
| Область
возможных
значений
| Вывод
значений
| Ограничение
доступа
| Примечание
|
ID-пациента
| ID_pacien
| S
| -
| N(4)
|
| см. п.4.3
| первичный ключ
|
ФИО
| FIO
| D
| 1
| C(50)
|
| см. п.4.3
| Обязательное поле
|
Номер телефона
| Nomer_telefona
| D
| 1
| C(15)
|
| см. п.4.3
| Многозначное поле
|
Возраст
| Vozrast
| D
| 1
| N(10)
|
| см. п.4.3
| Обязательное поле
|
Таблица1.3
Описание атрибутов объекта Врачи
Название
атрибута
| Обозначение
атрибута
| Динамичность
| Количество
повторений
| Область
возможных
значений
| Вывод
значений
| Ограничение
доступа
| Примечание
|
ID-врача
| ID_pacien
| S
| -
| N(4)
|
| см. п.4.3
| первичный ключ
|
ФИО
| FIO
| D
| 1
| C(50)
|
| см. п.4.3
| Обязательное поле
|
Номер телефона
| Nomer_telefona
| D
| 1
| C(15)
|
| см. п.4.3
| Многозначное поле
|
Таблица1.4
Описание атрибутов объекта Пац_Стационара
Название
атрибута
| Обозначение
атрибута
| Динамичность
| Количество
повторений
| Область
возможных
значений
| Вывод
значений
| Ограничение
доступа
| Примечание
|
ID-пац_стационара
| id_pac_sta
| S
| -
| N(4)
|
| см. п.4.3
| Сурагатный первичный ключ
|
ID-пациента
| ID_pacien
| S
| -
| N(5)
|
| см. п.4.3
| Внешний ключ(к Пациенты)
|
Код отделения
| kod_otdel
| S
| -
| N(4)
|
| см. п.4.3
| Внешний ключ(к Стационар)
|
Дата начала лечения
| data_nachala_lecheniya
| D
| 1
| D(10)
|
| см. п.4.3
| Обязательное поле
|
Номер палаты
| nomer_pal
| D
| 1
| N(10)
|
| см. п.4.3
| Обязательное поле
|
Дата окончания лечения
| data_okonchaniya_lecheniya
| D
| 1
| D(10)
|
| см. п.4.3
| Обязательное поле
|
Результат
| rezultat
| D
| 1
| C(10)
|
| см. п.4.3
| Обязательное поле
|
Таблица1.5
Описание атрибутов объекта Прием
Название
атрибута
| Обозначение
атрибута
| Динамичность
| Количество
повторений
| Область
возможных
значений
| Вывод
значений
| Ограничение
доступа
| Примечание
|
ID-приема
| id_priema
| S
| -
| N(10)
|
| см. п.4.3
| первичный ключ
|
ID-пациента
| id_pacien
| S
| -
| N(4)
|
| см. п.4.3
| внешний ключ(к Пациенты)
|
ID-врача
| id_vracha
| S
| -
| N(10)
|
| см. п.4.3
| Внешний ключ(к Врачи)
|
ID-диагноза
| id_diagnoz
| S
| -
| N(10)
|
| см. п.4.3
| Внешний ключ(к Диагноз)
|
Дата
| data
| D
| 1
| D(10)
|
| см. п.4.3
| Обязательное поле
|
Время
| vremya
| D
| 1
| C(15)
|
| см. п.4.3
| Обязательное поле
|
Кабинет
| kabinet
| D
| 1
| C(20)
|
| см. п.4.3
| Обязательное поле
|
Исход
| isxod
| D
| 1
| C(20)
|
| см. п.4.3
| Многозначительное поле
|
Таблица 1.6
Описание атрибутов объекта Стационар
Название
атрибута
| Обозначение
атрибута
| Динамичность
| Количество
повторений
| Область
возможных
значений
| Вывод
значений
| Ограничение
доступа
| Примечание
|
Код отделения
| kod_otdel
| S
| -
| N(4)
|
| см. п.4.3
| первичный ключ
|
Количество палат
| kollichestvo_palat
| D
| 1
| C(10)
|
| см. п.4.3
| Обязательное поле
|
этаж
| etag
| D
| 1
| C(10)
|
| см. п.4.3
| Обязательное поле
|
Таблица 1.7
Описание атрибутов объекта Диагноз
Название
атрибута
| Обозначение
атрибута
| Динамичность
| Количество
повторений
| Область
возможных
значений
| Вывод
значений
| Ограничение
доступа
| Примечание
|
ID-диагноза
| id_diagnoz
| S
| -
| N(4)
|
| см. п.4.3
| первичный ключ
|
Название
| nazvanie
| D
| 1
| C(27)
|
| см. п.4.3
| Обязательное поле
|
ID-лечения
| id_lechen
| S
| -
| N(10)
|
| см. п.4.3
| Внешний ключ(к Лечение)
|
Таблица 1.8
Описание атрибутов объекта Лечение
Название
атрибута
| Обозначение
атрибута
| Динамичность
| Количество
повторений
| Область
возможных
значений
| Вывод
значений
| Ограничение
доступа
| Примечание
|
ID-лечения
| id_lechen
| S
| -
| N(4)
|
| см. п.4.3
| первичный ключ
|
Название
| nazvanie
| D
| 1
| C(22)
|
| см. п.4.3
| Обязательное поле
|
стоимость
| stoimost
| D
| 1
| Cur(10)
|
| см. п.4.3
| Обязательное поле
|
Статус
| statys
| D
| 1
| C(10)
|
| см. п.4.3
| Многозначное поле
|
Таблица 1.9
Описание атрибутов объекта Палаты
Название
атрибута
| Обозначение
атрибута
| Динамичность
| Количество
повторений
| Область
возможных
значений
| Вывод
значений
| Ограничение
доступа
| Примечание
|
Номер палаты
| nomer_pal
| S
| -
| N(4)
|
| см. п.4.3
| первичный ключ
|
статус
| status
| D
| 1
| C(10)
|
| см. п.4.3
| Многозначное поле
|
Количество мест
| kollichestvo_mest
| D
| 1
| C (10)
|
| см. п.4.3
| Обязательное поле
|
Код отделения
| kod_otdel
| S
| -
| N(10)
|
| см. п.4.3
| Внешний ключ(к Стационар)
|
Таблица 1.10
Описание атрибутов объекта Процедуры
Название
атрибута
| Обозначение
атрибута
| Динамичность
| Количество
повторений
| Область
возможных
значений
| Вывод
значений
| Ограничение
доступа
| Примечание
|
ID-лечения
| id_lechen
| S
| -
| N(4)
|
| см. п.4.3
| первичный ключ
|
ID-пац_стационара
| nazvanie
| S
| -
| C(22)
|
| см. п.4.3
| Обязательное поле
|