- •«Кубанский государственный университет»
- •Создание базы данных «Поликлиника»
- •Содержание
- •Введение
- •1. Описание предметной области
- •1.1 Общее описание предметной области
- •2.2 Даталогическая модель
- •2.1 Инфологическая модель данных
- •2.1.1 Описание сущностей
- •2.1.2 Описание связей
- •2.2.1 Диаграмма связи по полям
- •3. Организация выборки информации из базы данных
- •4. Разработка представлений для отображения результатов выборки
- •5. Проектирование хранимых процедур
- •6. Разработка механизмов управления данными в базе при помощи триггеров
- •6.1 Триггер для добавления данных
- •6.2 Триггер для удаления данных
- •6.3 Триггер для обновления данных
- •7. Разработка технологий доступа к базе данных
- •7.1 Выбор пользователей бд
- •7.2 Разграничение полномочий пользователя
- •8. Проектирование клиентского приложения
- •8.1 Функциональное назначение
- •8.2 Разработка технологий доступа к базе данных
- •8.3 Руководство пользователя
- •9. Организация обмена данными между приложениями
- •10. Экономическое обоснование результатов внедрения программного продукта
- •Заключение
- •Список используемой литературы
2.1 Инфологическая модель данных
Инфологическое проектирование – построение формализованной модели предметной области. Такая модель строится с использованием стандартных языковых средств, обычно графических.
На этапе инфологического проектирования в ходе сбора информации о предметной области требуется выяснить:
основные объекты предметной области (объекты, о которых должна храниться информация в БД);
атрибуты объектов;
связи между объектами;
основные запросы к БД.
2.1.1 Описание сущностей
В проекте «Поликлиника» в соответствии с предметной областью были созданы следующие сущности:
«Учет работы» – хранится информация о работе каждого врача;
«Врачи» – хранится информация о врачах;
«Пациенты» – хранится информация о пациентах;
«Специализации» – хранится информация о специализациях врачей;
«Смены» – хранится информация о сменах.
Каждому объекту соответствуют свои атрибуты:
учет работы: код смены, код врача, код специализации, код пациента, день недели;
врачи: код врача, ФИО врача, стаж работы, дата рождения, стоимость приема;
пациенты: код пациента, ФИО, дата рождения, наименование населенного пункта, домашний адрес;
специализации: код специализации, название;
смены: код смены, время работы, название смены.
2.1.2 Описание связей
В базе данных «Поликлиника» определены следующие отношения между таблицами:
Таблица 2.7 – Классификация связей
№ |
Родительская таблица |
Дочерняя таблица |
Ключи |
Вид связи |
|
1 |
Учет работы |
Врачи |
Id_vracha |
Id_vracha |
1:М |
2 |
Учет работы |
Пациенты |
Id_pacienta |
Id_pacienta |
1:М |
3 |
Учет работы |
Смены |
Id_smeni |
Id_smeni |
1:М |
4 |
Учет работы |
Специализации |
Id_specializacii |
Id_specializacii |
1:M |
Выбор таких связей обусловлен тем что, в общем учете работы поликлиники содержится информация обо всех врачах, пациентах, о сменах работы врачей и об их специализациях.
2.1.3 ER–диаграмма
На рисунке 2.1 представлена инфологическая модель базы данных, на которой отображены все сущности БД, отношение между ними и атрибуты.
Рисунок 2.1 – Инфологическая модель базы данных
2.2 Даталогическая модель
В этом разделе приводится состав таблиц БД. Для каждого поля таблицы указывается размер поля (количество символов), тип. Для первичных ключей необходимо ввести запрет неопределенных значений. Для остальных полей возможность запрета неопределенных значений определяется семантикой предметной области.
Таблица 2.8 – Состав таблицы «Специализации»
Наименование атрибутов |
Тип полей |
NULL |
Id_specializacii Nasvanie |
int nchar(50) |
Нет Нет |
Таблица 2.9 – Состав таблицы «Врачи»
Наименование атрибутов |
Тип полей |
NULL |
Id_vracha FIO_vracha Data_rogdenia Stag_ raboti Stoimost_priema |
int nchar(50) Date int int |
Нет Нет Нет Нет Нет |
Таблица 2.10 – Состав таблицы «Пациенты»
Наименование атрибутов |
Тип полей |
NULL |
Id_pacienta FIO Data_rogdenia Nasvanie_naspunkta Dom_adress |
int nchar(50) Date int int |
Нет Нет Нет Нет Нет |
Таблица 2.11 – Состав таблицы «Смены»
Наименование атрибутов |
Тип полей |
NULL |
Id_smeni Vremya_raboti Nasvanie |
int nchar(50) nchar(50) |
Нет Нет Нет |
Таблица 2.12 – Состав таблицы «Учет работы»
Наименование атрибутов |
Тип полей |
NULL |
Id_smeni Id_vracha Id_pacienta Id_specializacii Den_nedeli |
int int int int nchar(50) |
Нет Нет Нет Нет Нет |
