Медицинское страхование
АННОТАЦИЯ
Одним из основных преимуществ реляционного подхода к организации баз данных (БД) является то, что пользователи реляционных БД получают возможность эффективной работы в терминах простых и наглядных понятий таблиц, их строк и столбцов без потребности знания реальной организации данных во внешней памяти.
Реляционная
модель данных, содержащая набор четких
предписаний к базовой
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
В данном курсовом проекте была разработана база данных «Медицинское страхование» в СУБД Visual FoxPro 9.0. Программа, работающая с БД, позволяет вести учет клиентов ателье и дает возможность сформировать отчеты по различным категориям.
Выбор FoxPro обусловлен прежде всего разносторонностью этой СУБД, удобством как для разработчика приложений, так и для обычного пользователя. Наличие в ней языка программирования позволяет создавать сложные системы обработки данных, ориентированные на конкретные задачи и даже под конкретного пользователя. С другой стороны, в ней отражены и в разной мере используются многие современные технологии программирования: ActiveX, COM, SQL, OLE, API и многое другое.
Пользователями
БД выступают служащие ателье, регистрирующие
клиентов.
1.Обследование
предметной области.
Предметной областью называется фрагмент реальности, который описывается или моделируется с помощью БД и ее приложений. В предметной области выделяются информационные объекты – идентифицируемые объекты реального мира, процессы, системы, понятия и т.д., сведения о которых хранятся в БД.
В результате в БД «Медицинское страхование» используются следующие входные данные:
- информация о сотрудниках медицинского страхования,
- информация об отделах медицинского страхования,
- информация об уровне сервиса медицинского страхования,
- информация о районах медицинского страхования,
- информация о полисах медицинского страхования.
Выходными данными являются выходные запросы, формы и отчеты. Информация выводится на экран в специальных формах, упрощающих работу с записями таблиц БД. На формах реализован поиск, с помощью которого пользователь может получить нужную информацию.
2. КОНЦЕПТУАЛЬНОЕ ПРОЕКТИРОВАНИЕ
В проекте «Медицинское страхование» главной таблицей является «Полисы». Если таблицу не разбивать на подтаблицы, то можно наблюдать избыточность данных, а это недопустимо. В соответствии с предметной областью были созданы таблицы:
- «Полисы» - хранится информация о полисах медицинского страхования.
- «Должности» - хранится информация о должностях сотрудников медицинского страхования;
- «Отделы» - хранится информация об отделах медицинского страхования.
- «Уровень сервиса» - хранится информация об уровне сервиса медицинского страхования.
- «Районы» - хранится информация о районах медицинского страхования.
2.2 Перечень атрибутов
В результате исследования предметной области были получены следующие атрибуты:
1. Таблица polis (Полис) содержит:
- polis_id– уникальный код полиса;
- date_polis – дата выдачи полиса;
- polis_n –– наименование полиса;
- people_fio– инициалы сотрудника;
- district_id– уникальный код района;
- depart_id– уникальный код отдела;
- 2. Таблица dolg (Должности) содержит:
- dolg _id – уникальный код должности сотрудника ;
- dolg _name–наименование должности сотрудника;
- dolg _adress – адрес сотрудника;
- dolg _telefone – телефон сотрудника.
3. Таблица type_serv (Уровень сервиса) содержит:
- type_serv _id – уникальный код сервиса;
- type_serv_name– наименование сервиса;
- type_serv_number– номер сервиса.
4. Таблица district (Район) содержит:
- district_id – уникальный код района;
- district _name – название района;
- district _kod – код района;
- district _adress – адрес района.
5. Таблица depart (Отдел) содержит:
- depart_id – уникальный код отдела ;
- depart_name– наименование отдела;
- depart_telefone–телефон отдела;
- depart_adress– адрес отдела.
3. ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БД
Основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства (атрибуты).
Сущность – любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных. Сущностями могут быть люди, места, самолеты, рейсы, вкус, цвет и т.д. Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе.
Атрибут – поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей. Атрибуты используются для определения того, какая информация должна быть собрана о сущности.
Абсолютное различие между типами сущностей и атрибутами отсутствует. Атрибут является таковым только в связи с типом сущности. В другом контексте атрибут может выступать как самостоятельная сущность.
Ключ – минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Минимальность означает, что исключение из набора любого атрибута не позволяет идентифицировать сущность по оставшимся.
Связь – ассоциирование двух или более сущностей. Если бы назначением базы данных было только хранение отдельных, не связанных между собой данных, то ее структура могла бы быть очень простой. Однако одно из основных требований к организации базы данных – это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи. А так как в реальных базах данных нередко содержатся сотни или даже тысячи сущностей, то теоретически между ними может быть установлено более миллиона связей. Наличие такого множества связей и определяет сложность инфологических моделей.
При определении инфологической модели необходимо принимать во внимание следующее:
- База данных должна удовлетворять актуальным информационным потребностям организации. Получаемая информация должна по структуре и содержанию соответствовать решаемым задачам.
- База данных должна обеспечивать получение требуемых данных за приемлемое время, то есть отвечать заданным требованиям производительности.
- База данных должна удовлетворять выявленным и вновь возникающим требованиям всех пользователей.
- База данных должна легко расширяться при реорганизации и расширении предметной области.
- База данных должна легко изменяться при изменении программной и аппаратной среды.
3.1 Модель «сущность - связь»
Модель «сущность - связь» основана на использовании 3-х основных конструктивных элементах:
- Сущность.
- Атрибут.
- Связь.
Взаимосвязи между таблицами БД могут быть типизированы по следующим основным видам:
- Отношение “один к одному” (1:1) означает, что каждая запись одной таблицы соответствует только одной записи в другой таблице;
- Отношение “один ко многим” (1:М) возникает, когда одна запись взаимосвязана со многими другими;
- Отношение “многие к одному” означает, что многие записи связаны с одной (М:1);
- Отношение “многие ко многим” (M:N) возникает между двумя таблицами в тех случаях, когда:
- Одна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы;
- Одна запись из второй таблицы может быть связана более чем с одной записью из первой таблицы.
Недостатком данной модели является то, что одни и те же элементы могут выступать одновременно и в качестве сущности, и в качестве атрибута, и в качестве связи. В данном случае, будем считать, что каждый объект может выступать только в качестве одного конструктивного элемента. Схема модели «сущность-связь» приведена в Приложении А.
3.2 Классификация связей
В своей курсовой работе я использовал следующие типы связей (Таблица 3.2.1):
Таблица 3.2.1 – Классификация связей
| Номер связи | Родительская таблица | Дочерняя таблица | Тип связи |
| 1 | dolg | polis | 1:M |
| 2 | type_ser | polis | 1:M |
| 3 | deport | polis | 1:M |
| 4 | district | polis | 1:M |
Таблица 3.2.1 показывает классификацию связей между таблицами. Связь под номером один, между таблицами «dolg – polis». Один сотрудник может выдать несколько полисов.
Вторая связь имеет тип «1:M» «type_ser –polis».Один уровень сервиса может быть предоставлен по нескольким полисам.
Третья связь «deport –polis». Один отдел может выдать несколько полисов.
Четвертая связь «district–polis» По одному району может быть выдано несколько полисов.
5.РЕЛЯЦИОННАЯ МОДЕЛЬ БД
В реляционных базах данных вся информация сведена в таблицы, строки и столбцы которых называются записями и полями соответственно. Эти таблицы получили название реляций . Записи в таблицах не повторяются. Их уникальность обеспечивается первичным ключом, содержащим набор полей, однозначно определяющих запись. Для быстрого поиска информации в базе данных создаются индексы по одному или нескольким полям таблицы. Значения индексов хранятся в упорядоченном виде и содержат ссылки на записи таблицы. Для автоматической поддержки целостности связанных данных, находящихся в разных таблицах, используются первичные и внешние ключи. Для выборки данных из нескольких связанных таблиц используются значения одного или нескольких совпадающих полей.
В структурной части модели фиксируется, что единственной структурой данных, используемой в реляционных БД, является нормализованное n-арное отношение. В манипуляционной части модели утверждаются два фундаментальных механизма манипулирования реляционными БД - реляционная алгебра и реляционное исчисление. Первый механизм базируется в основном на классической теории множеств, а второй - на классическом логическом аппарате исчисления предикатов первого порядка.
4.1 Функциональные зависимости между атрибутами
В разработанной базе данных «Медицинское страхование» существуют следующие функциональные зависимости между атрибутами:
Таблица 4.1.1 dolg (Должности)
| Наименование атрибутов | Функциональные
зависимости |
| dolg
_id
dolg _name dolg_adress dolg_telefone |
Таблица 4.1.2 polis (Полисы)
| Наименование атрибутов | Функциональные
зависимости |
| polis_id
date_begin date_polis polis_n people_fio district_id dolg_id depart_id type_serv-id adres |
Таблица 4.1.3 type_serv (Уровень сервиса)
| Наименование атрибутов | Функциональные
зависимости |
| type_serv_id
type_serv _name type_serv _number |
Таблица 4.1.4 district (Район)
| Наименование атрибутов | зависимости |
| district
_id
district _name district _kod district _adress |
Таблица 4.1.5 depart (Отдел)
| Наименование атрибутов | Функциональные
зависимости |
| depart_id
depart_name depart_telefon depart_adress |
Во всех таблицах неключевые атрибуты нетранзитивно зависят от первичного ключа и независимы между собой.
4.2 Выбор ключей
Ключ
– минимальный набор атрибутов, по значениям
которых можно однозначно найти требуемый
экземпляр сущности. Минимальность означает,
что исключение из набора любого атрибута
не позволяет идентифицировать сущность
по оставшимся.
Использование ключей и индексов позволяет:
– Однозначно идентифицировать записи;
– Избегать дублирования значений в ключевых полях;
– Выполнять сортировку таблиц;
– Ускорять операции поиска в таблицах;
– Устанавливать связи между отдельными таблицами БД.
– При поддержке целостности данных обеспечивается правильность ссылок между таблицами.
Таблица 4.2.1 Ключи
| Таблица | Ключ | Тип ключа |
| polis | type_serv | regular |
| polis | depart_id | regular |
| polis | dolg_id | regular |
| polis | district_id | regular |
| polis | polis_id | primary |
| dolg | dolg_id | primary |
| type_serv | type_serv_id | primary |
| district | district_id | primary |
| depart | depart_id | primary |
4.3 Нормализация отношений
Нормализация – это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных.
В теории нормализации существует пять нормальных форм таблиц. Эти формы предназначены для уменьшения избыточной информации от первой до пятой нормальной формы. Поэтому каждая последующая НФ должна удовлетворять требованиям предыдущей формы и некоторым дополнительным условиям.
Проведем нормализацию имеющихся сущностей.
Таблица в первой НФ требует, чтобы все значения всех атрибутов были атомарны. Другими словами, каждый атрибут отношения должен хранить одно-единственное значение и не являться ни списком, ни множеством значений.
Все таблицы находятся в первой нормальной форме, так как все атрибуты в них атомарны.
В контексте БД «Охрана обьектов» данные понятия являются атомарными, и их деление на составные части не имеет смысла, т.к. только внесет в БД излишнюю громоздкость.
Таким образом, можно сказать, что все таблицы находятся в первой нормальной форме.
Таблица находится во второй НФ, если она удовлетворяет условиям первой НФ, и каждый не первичный атрибут полностью функционально зависит от ключа. Все таблицы находятся во второй нормальной форме, так как в них отсутствуют составные ключи.
Таблица находится в третьей НФ, если она удовлетворяет условиям второй НФ, и каждый не первичный атрибут не транзитивно зависит от ключа.
Другими словами чтобы привести отношение к 3НФ, необходимо устранить функциональные зависимости между неключевыми атрибутами отношения. Другими словами, факты, хранимые в таблице, должны зависеть только от ключа.
Так как в пункте 4.1 данного курсового проекта было подробно проанализирована каждая из таблиц, и транзитивной зависимости не было выявлено, можно сделать вывод, что все таблицы находятся в третьей нормальной форме, каждый неключевой атрибут в таблицах не транзитивно зависит от первичного ключа.
При решении практических задач в большинстве случаев третья нормальная форма является достаточной. Процесс проектирования реляционной базы данных, как правило, заканчивается приведением к третьей нормальной форме. Данная модель не нуждается в дальнейшем приведении к четвертой и следующим формам нормализации.
5. ДАТАЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БД
В этом разделе приводится состав таблиц БД. Для каждого поля таблицы указывается размер поля (количество символов), тип. Для первичных ключей необходимо ввести запрет неопределенных значений. Для остальных полей возможность запрета неопределенных значений определяется семантикой предметной области.
5.1 Состав таблиц БД
Таблица 5.1.1 dolg
| Наименование атрибутов | Тип полей | Размер полей | Допустимость
неопределенных значений |
| dolg_id | Integer | 4 | Not null |
| dolg_name | Character | 50 | Not null |
| dolg_adress | Character | 50 | Not null |
| dolg_telefone | Character | 50 | Not null |
Таблица 5.1.2 Polis
| Наименование атрибутов | Тип полей | Размер полей | Допустимость
неопределенных значений |
| polis_id | Integer | 4 | Not null |
| date_polis | Date | 8 | Not null |
| polis_n | Character | 20 | Not null |
| people_fio | Character | 50 | Not null |
| district | Integer | 4 | Not null |
| dolg_id | Integer | 4 | Not null |
| depart_id | Integer | 4 | Not null |
| type_serv_id | Integer | 4 | Not null |
| adres | Character | 250 | Not null |
Таблица
5.1.3 Type_serv
| Наименование атрибутов | Тип полей | Размер полей | Допустимость
неопределенных значений |
| Type_serv_id | Integer | 4 | Not null |
| Type_serv_name | Character | 50 | Not null |
| Type_serv_number | Character | 50 | Not null |
Таблица
5.1.4 District
| Наименование атрибутов | Тип полей | Размер полей | Допустимость
неопределенных значений |
| district_id | Integer | 4 | Not null |
| district_name | Character | 50 | Not null |
| district_adress | Character | 50 | Not null |
| district_kod | Character | 50 | Not null |
Таблица 5.1.5 Depart
| Наименование атрибутов | Тип полей | Размер полей | Допустимость
неопределенных значений |
| depart_id | Integer | 4 | Not null |
| depart_name | Character | 50 | Not null |
| depart_telefone | Character | 50 | Not null |
| depart_adress | Character | 50 | Not null |

- Медицинское страхование
- Медицинское страхование
- Медицинское страхование
- Медицинское страхование
- Медицинское страхование
- Медицинское страхование
- Медицинское страхование
- Медицинское страхование
- Медицинское страхование
- Медицинское страхование
- Медицинское страхование
- Медицинское страхование
- Медицинское страхование
- Медицинское страхование