Файл: 1. Проектирование базы данных 4 Анализ предметной области 4.docx
Добавлен: 30.11.2023
Просмотров: 100
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
1.1. Анализ предметной области
1.3. Концептуальное проектирование базы данных
1.4. Логическое проектирование базы данных
1.5. Физическое проектирование базы данных
2.1. Состав и структура базовых таблиц
3 ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА
4 РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ ПРОГРАММЫ
Титульник
Содержание
Введение 3
1. Проектирование базы данных 4
1.1. Анализ предметной области 4
1.2. Постановка задачи 4
1.3. Концептуальное проектирование базы данных 5
1.4. Логическое проектирование базы данных 7
1.5. Физическое проектирование базы данных 9
2. Реализация базы данных 11
2.1. Состав и структура базовых таблиц 11
2.2. Разработка запросов 12
3 ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА 13
3.1 Диаграмма классов 13
4 РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ ПРОГРАММЫ 16
4.1 Описание программной реализации 16
4.2 Тестирование программы 19
Заключение 22
Список литературы 23
Приложение № 1. Листинг программы 24
Введение
Целью курсового проекта является проектирование и разработка информационной системы поликлиники.
Актуальность ИС заключается в необходимости структуризации и упорядоченности информации, хранящейся в больших объемах, которые сложно обрабатывать без использования информационной системы.
Данная подсистема должна хранить и обрабатывать информацию о пациентах поликлиники.
Задачами курсовой работы являются:
-
анализ предметной области; -
разработка структуры базы данных; -
создание базы данных средствами выбранной СУБД;
1. Проектирование базы данных
1.1. Анализ предметной области
Предметной областью данной курсовой работы являются данные о пациентах поликлиники.
База данных должна хранить данные о каждой книге, о читателях и сотрудниках, а так же о выдаче и возврате книг в библиотеку.
В базе данных должны быть данные о каждого пациенте, докторе, а так же о кабинетах, в которых они принимают. Также необходимо хранить сведения о приемах и выписанных диагнозах.
Сведения о пациенте должны включать ФИО, улицу и дом проживания, а так же телефон для связи.
О докторе необходимо хранить его ФИО и номер телефона.
Так же необходимо сведения о приемах пациентов. В эти сведения входят данные о пациенте, докторе, кабинете приема, дате и времени приема и стоимости. Так же необходимо хранить сведение о выписанном диагнозе.
В базе данных должны быть сведения о кабинетах, их название и типе.
В сведения о болезни входит название болезни.
Операторы данной программы ведут учет книг в библиотеки и операций с ними.
1.2. Постановка задачи
Таким образом, необходимо разработать структуру базы данных, структуру запросов, сформировать схему данных с указанием первичных и внешних ключей. БД должна содержать следующую информацию:
-
сведения о пациентах; -
сведения о врачах; -
сведения о кабинетах; -
сведения о болезнях; -
сведения о приемах; -
сведения о типах кабинетов; -
сведения об улицах;
База данных должна быть разработана средствами среды MYSQL.
Необходимо разработать концептуальную, логическую и физическую модели базы данных.
1.3. Концептуальное проектирование базы данных
Проектирование концептуальной модели подразумевает выделение не только основных информационных объектов предметной области и атрибутов, но и определение связей между ними.
На основании выполненного анализа предметной области для концептуальной модели базы данных библиотекb можно выделить следующие информационные объекты:
-
Пациенты – справочник о званиях пациентах; -
Врачи – справочник о врачах; -
Болезни – справочник о болезнях; -
Кабинеты – справочник о кабинетах; -
Типы кабинетов – справочник о типах кабинетов; -
Приемы – справочник о приемах; -
Улицы – справочник о улицах района подведомственному поликлиники;
Для объекта «Пациенты» можно выделить такие атрибуты, как: код читателя, ФИО, номер телефона, код улицы, номер дома. Атрибут «Код пациента» является первичным ключом.
Для объекта «Доктора» можно выделить такие атрибуты, как: Код доктора, ФИО, номер телефона. Атрибут «Код доктора» является первичным ключом.
Для объекта «Болезни» можно выделить такие атрибуты, как: код болезни, название болезни. Атрибут «Код болезни» является первичным ключом.
Для объекта «Кабинеты» можно выделить такие атрибуты, как: код кабинета, название кабинета, код типа кабинета. Атрибут «Код кабинета» является первичным ключом. Атрибуты «Код типа кабинета» являются внешними ключами соответственно из объектов «Типы кабинетов».
Для объекта «Типы кабинетов» можно выделить такие атрибуты, как: код типа, название типа. Атрибут «Код типа» является первичным ключом.
Для объекта «Улицы» можно выделить такие атрибуты, как: код улицы, название улицы. Атрибут «Код улицы» является первичным ключом.
Для объекта «Приемы» можно выделить следующие атрибуты: код записи, код клиента, код доктора, код болезни, код кабинета, дата приема, стоимость приема.. Атрибут «Код записи» является первичным ключом. Атрибуты «Код клиента», «Код доктора», «Код болезни», «Код кабинета» являются внешними ключами соответственно из объектов «Клиенты», «Доктора», «Болезни», «Кабинеты».
Между объектами были определены связи следующих типов:
-
Одного пациент может приходит несколько раз на приемы. Следовательно, тип связи между объектами «Пациенты» и «Приемы» «один-ко-многим»; -
Один доктор может принимать разных пациентов в разное время. Следовательно, тип связи между объектами «Доктора» и «Приемы» «один-ко-многим»; -
В одном кабинете может быть выполнено несколько приемов. Следовательно, тип связи между объектами «Кабинеты» и «Приемы» «один-ко-многим»; -
Один и тот же диагноз может быть выписан разным пациентам. Следовательно, тип связи между объектами «Болезни» и «Приемы» «один-ко-многим»; -
В поликлинике может быть несколько кабинетов с одним типом. Следовательно, тип связи между объектами «Типы кабинетов» и «Кабинеты» «один-ко-многим»; -
На одной улице может жить несколько пациентов. Следовательно, тип связи между объектами «Улицы» и «Пациенты» «один-ко-многим»;
На основании выделенных информационных объектов и связей между ними, средствами Microsoft Visio была построена схема концептуальной модели БД, которая приведена на рисунке 1.
Рисунок 1 – Концептуальная модель БД
Таким образом, было произведено концептуальное проектирование БД.
1.4. Логическое проектирование базы данных
Для логической модели БД характерно определение типов данных, внешних ключей. Проектирование данной модели должно производиться независимо от того, какая система управления базами данных (СУБД) выбрана для конечной реализации БД.
Также, необходимо привести все отношения к третьей нормальной форме (3НФ).
Характеристика отношений логической модели БД представлена в таблицах 1 – 7.
Таблица 1 – Характеристика отношения «Тип кабинета»
Имя атрибута | Тип данных | Ключ |
Код типа | Счетчик | PK |
Название типа | Текстовый | |
Таблица 2 – Характеристика отношения «Улицы»
Имя атрибута | Тип данных | Ключ |
Код улицы | Счетчик | PK |
Название улицы | Текстовый | |
Таблица 3 – Характеристика отношения «Болезни»
Имя атрибута | Тип данных | Ключ |
Код болезни | Счетчик | PK |
Название болезни | Текстовый | |
Таблица 4 – Характеристика отношения «Пациенты»
Имя атрибута | Тип данных | Ключ |
Код пациента | Счетчик | PK |
ФИО | Текстовый | |
Телефон | Текстовый | |
Код улицы | Числовой | |
Номер дома | Числовой | FK |
Таблица 5 – Характеристика отношения «Доктор»
Имя атрибута | Тип данных | Ключ |
Код доктора | Числовой | PK |
ФИО | Текстовый | |
Телефон | Текстовый | |
Таблица 6 – Характеристика отношения «Кабинеты»
Имя атрибута | Тип данных | Ключ |
Код кабинета | Числовой | PK |
Название кабинета | Текстовый | |
Код типа кабинета | Числовой | FK |
Таблица 7 – Характеристика отношения «Приемы»
Имя атрибута | Тип данных | Ключ |
Код приема | Счетчик | PK |
Код пациента | Текстовый | FK |
Код кабинета | Числовой | FK |
Код доктора | Числовой | FK |
Код болезни | Числовой | FK |
Дата приема | Числовой | |
Стоимость приема | Числовой | |
1.5. Физическое проектирование базы данных
Физическое проектирование БД выполняется с учетом выбранной СУБД. В данной работе в качестве СУБД используется MYSQL.
Схема физической модели данных представлена на рисунке 3.
Средствами MS Visio2007 была построена схема физической модели БД, которая представлена на рисунке 3.
Рисунок 2 - Схема физической модели БД
Таким образом, было произведено физическое проектирование БД.
2. Реализация базы данных
2.1. Состав и структура базовых таблиц
База данных реализована средствами СУБД MYSQL. Запросы для создания таблиц приведены ниже.
CREATE TABLE IF NOT exists ills(
id integer not null key auto_increment,
ill_name varchar(45) unique
);
CREATE TABLE IF NOT exists streets(
id integer not null key auto_increment,
street_name varchar(45) unique
);
CREATE TABLE IF NOT exists clients(
id integer not null key auto_increment,
client_name varchar(45) unique,
client_phone text,
street_id int,
house int,
FOREIGN KEY (street_id) REFERENCES streets (id)
);
CREATE TABLE IF NOT exists doctors(
id integer not null key auto_increment,
doctor_name varchar(45) unique,
doctor_phone text
);
CREATE TABLE IF NOT exists types_cab(
id integer not null key auto_increment,
type_name varchar(45) unique
);
CREATE TABLE IF NOT exists cabinets(
id integer not null key auto_increment,
cabinet_name varchar(45) unique,
type_id int,
FOREIGN KEY (type_id) REFERENCES types_cab (id)
);
CREATE TABLE IF NOT exists orders(
id integer not null key auto_increment,
doctor_id int,
client_id int,
cabinet_id int,
ill_id int,
price float,
date_order datetime,
FOREIGN KEY (doctor_id) REFERENCES doctors (id),
FOREIGN KEY (cabinet_id) REFERENCES cabinets (id),
FOREIGN KEY (ill_id) REFERENCES ills (id),
FOREIGN KEY (client_id) REFERENCES clients (id)
);
Листинг 1. Создание таблиц