Логическое проектирование
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
- Потенциальные пользователи.
Данный проект рассчитан на следующую аудиторию:
1) Работников медицинских учреждений.
2) Простых пользователей.
А
также для всех людей, интересующихся,
по роду профессии, учебы или образу
жизни, какими либо болезнями или лекарствами.
Удачная разработка базы данных обеспечивает простоту ее поддержания. Данные следует сохранять в таблицах, причем каждая таблица должна содержать информацию одного типа, например, сведения о поставщиках. Тогда достаточно будет обновить конкретные данные, такие как адрес, только в одном месте, чтобы обновленная информация отображалась во всей базе данных.
Одним из наиболее сложных этапов в процессе проектирования базы данных является разработка таблиц, так как результаты, которые должна выдавать база данных (отчеты, выходные формы и др.) не всегда дают полное представление о структуре таблицы.
При проектировании таблиц лучше разработать структуру на бумаге и только затем начинать работу с СУБД Access. При проектировке таблиц, рекомендуется руководствоваться следующими основными принципами:
- Не должно быть повторений и между таблицами.
Когда определенная информация храниться только в одной таблице, то и изменять ее придется только в одном месте. Это делает работу более эффективной, а также исключает возможность несовпадения информации в разных таблицах. Например, в одной таблице должны содержаться адреса и фамилии клиентов.
-
Каждая таблица должна
Каждая таблица содержит информацию на отдельную тему, а каждое поле в таблице содержит отдельные сведения по теме таблицы. Например, в таблице с данными о поставщиках могут содержаться поля с названием компании, адресом и номером телефона. При разработке полей для каждой таблицы необходимо помнить:
- Каждое поле должно быть
- Не рекомендуется включать в таблицу данные, которые являются результатом выражения.
-
В таблице должна
-
Информацию следует разбивать
на наименьшие логические единицы (Например,
поля «Имя» и «Фамилия», а не общее поле
«Имя»).
1.2 Описание предметной области «как есть».
База данных предназначена для хранения данных о болезнях и лекарствах.
Для
наиболее удобного просмотра и поиска
информации а так же выборки ее используются
следующие формы заполнения данных:
1. ID_болезни
2. Название болезни
3. Категория
4. Симптомы
5. Лечение
На основании
этого были сформулированы следующие
требования:
- Требования пользователей.
БД должна хранить:
- Информацию о Лечении (номер, названия лекарства, противопоказания, способ применения и дозы, наименование народного средства, рецепт народного средства)
- Доступно для всех пользователей
- Информацию о Болезнях (номер, наименование, категория, симптомы, лечение )
- Доступно для всех пользователей
- Запросы предусмотренные в БД
Запросы
позволяют выбирать данные из одной
или нескольких связанных таблиц.
Результатом выполнения запроса
является результирующая таблица, которая
наряду с другими таблицами может быть
использована при обработке данных. С
помощью запросов можно также обновлять,
удалять или добавлять данные в таблицы.
Основным назначением запросов является
отбор данных по критериям поиска.
- Информация о лекарстве
- Список всех болезней
- Информация о болезни
- Поиск рецепта из народной медицины по названию рецепта
- Поиск информации о лекарстве по названию лекарства
- Поиск информации о болезни по названию болезни (включая симптомы и лечение)
1.5 Допущения и ограничения.
- Возможно, что искомого лекарства нет в таблицах.
- Возможно что искомой болезни нет в таблицах.
- Поля могут иметь пустые значения.
2. Логическое
проектирование
2.1 Описание объектов предметной области.
Определим сущности, которые присутствуют в данной предметной области. Имеются следующие основные сущности: Болезни, Категории болезней, Название болезни, Лечение, Лекарства, Народная медецина.
Сущность 1 (Болезни) содержит в себе описание болезней, обладает следующими атрибутами:
ID_болезни - Уникальный код болезни
ID_названия - Уникальный код названия
ID_категории - Уникальный код категории
Симптомы
- Характерные признаки заболевания
Сущность 1 (Болезни) состоит в связи с сущностью 2 (Категории_болезней) имеется связь M:1, т.к. у одной категории может быть множество заболеваний;
Сущность 1 (Болезни) состоит в связи с сущностью 3 (Название_болезней) имеется связь 1:M, т.к. у одной болезни может быть несколько названий;
Сущность 1 (Болезни) состоит в связи с сущностью 4 (Лечение) имеется связь 1:M, т.к. у одной болезни может быть несколько способов лечения;
это продемонстрировано на рисунке 1:
Рисунок 1
Сущность 2 (Категории_болезней) содержит в себе описание категорий болезней, обладает следующими атрибутами:
ID_категории - Уникальный код категории
Название категории - Категория к которой относится данное заболевание
Факторы риска - Определяет вероятность и степень развития предпатологии
Сущность
2 состоит в связи с сущностью
1 (Болезни) см. рисунок 1.
Сущность 3 (Название_болезней) содержит в себе список названий болезней, данная сущность обладает следующими атрибутами:
ID_названия - Уникальный код названия
Наименование - Название болезни
ID_болезни
- Уникальный код болезни
Сущность 3 состоит в связи с сущностью 1 (см. Рисунок 1)
Сущность 4 (Лечение) содержит в себе описание способов лечения, эта сущность обладает следующими атрибутами:
ID_лечения - Уникальный код лечения
Лекарство - Уникальный код лекарства
Народное средство - Уникальный код рецепта народного средства
ID_болезни - Уникальный код болезни
Сущность 4 состоит в связи с сущностью 1 (Болезни) (см. рисунок 1);
Сущность 4 состоит в связи с сущностью 5 (Лекарства) имеется связь 1:M, т.к. в одном способе лечения может применяться несколько лекарств;
Сущность 4 состоит в связи с сущностью 6 (Народная_медицина) имеется связь 1:M, т.к. в одном способе лечения может применяться несколько рецептов из народной медицины;
(см. Рисунок 2)
Сущность 4 состоит в связи с сущностью 7 (Травы) имеется связь 1:M, т.к. в одном способе лечения может применяться несколько вариантов трав;
Сущность
4 состоит в связи с сущностью 8 (Диеты)
имеется связь 1:M, т.к. в одном способе лечения
может применяться несколько рецептов
лечебных диет;
Рисунок 2
Сущность 5 (Лекарства) содержит в себе описание лекарства, эта сущность обладает следующими атрибутами:
ID_лекарства (Лекарство) - Уникальный код лекарства
ID_лечения - Уникальный код лечения
Наименование - Название лекарственного средства
Противопоказания - Каким людям нельзя
Способ применения и дозирование - Как использовать
Сущность
5 состоит в связи с сущностью 4 (Лечение)
(см. рисунок 2)
Сущность 6 (Народная_медицина) содержит в себе описание рецептов народной медицины, эта сущность обладает следующими атрибутами:
ID_рецепта (Народное_средство) - Уникальный код рецепта народного средства
ID_лечения - Уникальный код лечения
Название народного рецепта - Наименование рецепта народного средства
Рецепт - Рецепт из народной медицины
Сущность 6 состоит в связи с сущностью 4 (Лечение) (см. рисунок 2)
Сущность 7 (Травы) содержит в себе описание лечебных трав, эта сущность обладает следующими атрибутами:
ID_травы - Уникальный код лечебной травы
ID_лечение - Уникальный код лечения
Название (травы) - Название лечебной травы
Информация - Информация о лечебных травах
Сущность
7 состоит в связи с сущностью
4 (Лечение) (см. рисунок 2)
Сущность 8 (Диеты) содержит в себе описание лечебных диет, эта сущность обладает следующими атрибутами:
ID_диеты - Уникальный код лечебной диеты
ID_лечение - Уникальный код лечения
Название - Наименование диеты
Показания - Заболевания при которых используются диеты
Цель диеты - Цель данной диеты
Общая характеристика - Общая информация и оценка о диете
Химический состав и калорийность - Химический состав и калорийность продуктов разрешенных данной диетой
Режим питания - Инструкция по питанию данной диеты
Сущность
8 состоит в связи с сущностью
4 (Лечение) (см. рисунок 2)
2.2 Диаграмма
сущность-связь
Рисунок
3 – ER-диаграмма для предметной области
«Медицинская энциклопедия»
Принятые обозначения:
Модальность: может (по отношению к избирательности связи)
должен (по отношению к избирательности связи)
Тип связи: связь Один-к-Одному
связь Один-ко-Многим
3. НОРМАЛИЗАЦИЯ
ДАННЫХ
Нормализация
данных — одно из самых важных понятий
и концепций реляционной системы. Нормализованная
система сводит к минимуму количество
избыточных данных, при этом сохраняя
их целостность. Нормализованной можно
назвать базу данных, в которой все таблицы
следуют правилам нормальных форм. Нормальная
форма — набор правил, которые показывают,
как надо организовать данные, что бы они
были нормализованными (логично, да?). С
момента основания реляционных систем
появилось множество нормальных форм,
но важно понимать, что следование каждой
новой форме повышает нагрузку на систему
(в чем вы скоро убедитесь). Поэтому, в более
сложных системах всегда нужно уметь найти
компромисс между степенью нормализации
и производительности. В большинстве же
случаев, вполне хватает следования первым
трем нормальным формам, которые мы сейчас
и рассмотрим.
Первая и главная нормальная форма требует от таблицы (а точнее, от ее проектировщика) следования следующим правилам:
- Каждый столбец в строке должен быть атомарным, т.е. столбец может содержать одно и только одно значение для заданной строки.
- Каждая строка в таблице обязана содержать одинаковое количество столбцов. Учитывая обязательную атомарность столбцов, следует, что все строки в таблице должны иметь одинаковое количество значений.
- Все строки в таблице, в общем, должны быть уникальны. Значения в столбцах могут дублироваться, но строки, взятые целиком — не могут.
I
нормальная форма – обычное отношение.
Согласно определению любое отношение
уже находится в I нормальной форме.
Таблица 1 Лечение
| Атрибут | Описание | Функциональная зависимость |
| ID_лечения | Уникальный код лечения | |
| ID_травы | Уникальный код лечебной травы | |
| ID_диеты | Уникальный код лечебной диеты | |
| Лекарство | Уникальный код лекарства | |
| Народное_средство | Уникальный код рецепта народного средства | |
| Название народного рецепта | Наименование рецепта народного средства | |
| Рецепт | Рецепт из народной медицины | |
| Наименование | Название лекарственного средства | |
| Противопоказания | Каким людям нельзя | |
| Способ применения и дозирование | Как использовать | |
| Название | Наименование диеты | |
| Показания | Заболевания при которых используются диеты | |
| Цель диеты | Цель данной диеты | |
| Общая характеристика | Общая информация и оценка о диете | |
| Химический состав и калорийность | Химический состав и калорийность продуктов разрешенных данной диетой | |
| Режим питания | Инструкция по питанию данной диеты | |
| Название (травы) | Название лечебной травы | |
| Информация | Информация о лечебных травах |
Таблица 2 Болезни
| Атрибут | Описание | Функциональная зависимость |
| ID_болезни | Уникальный код болезни | |
| ID_названия | Уникальный код названия | |
| ID_категории | Уникальный код категории | |
| Название категории | Категория к которой относится данное заболевание | |
| Наименование | Название болезни | |
| Симптомы | Характерные признаки заболевания | |
| Факторы риска | Определяет вероятность и степень развития предпатологии |
Два правила второй нормальной формы говорят о том, что:
- Таблица обязана соответствовать первой нормальной форме.
- Все столбцы, не входящие в полный первичный ключ, должны зависеть от полного первичного ключа
Для того чтобы отношения находились во второй НФ необходимо избавиться от частичных функциональных зависимостей в таблицах «Болезни» и «Лечение». Таблица «Лечение» разбивается на следующие таблицы:
Таблица 3 Народная медицина
| ID_рецепта |
| Название народного рецепта |
| Рецепт |
Таблица 4 Лечение_осн
| ID_лечения |
| Лекарство |
| Народное_средство |
| ID_болезни |
| ID_травы |
| ID_диеты |
Таблица 5 Лекарства
| Наименование |
| Противопоказания |
| Способ применения и дозирование |
| ID_лекарства |
| ID_лечения |
Таблица 6 Диеты
| ID_диеты |
| ID_лечения |
| Название |
| Показания |
| Цель диеты |
| Общая характеристика |
| Химический состав и калорийность |
| Режим питания |
Таблица 7 Травы
| ID_травы |
| Название (травы) |
| Информация |
| ID_лечения |
Таблица
«Болезни» разбивается на следующие
таблицы:
Таблица 8 Болезни_осн
| ID_болезни |
| ID_названия |
| ID_категории |
| Симптомы |
Таблица 9 Категории болезней
| ID_категории |
| Название категории |
| Факторы риска |
Таблица 10 Название болезней
| ID_названия |
| Наименование |
| ID_категории |
- Третья нормальная форма.
Для того чтобы таблица была приведена к третьей нормальной форме, нужно, чтобы она удовлетворяла второй нормальной форме и все неключевые поля полностью зависели от первичного ключа таблицы и не зависели друг от друга. Таким образом, к квалификации второй нормальной формы добавляется требование независимости каждого неключевого поля таблицы от других неключевых полей. Нужно исключить из таблицы также поля, которые можно вычислить по другим неключевым полям таблицы.
В третьей нормальной форме все неключевые атрибуты должны быть взаимно независимы. Эти условия выполняются, следовательно, данные отношения находятся в 3 НФ.
Таблица «Лечение» в конечном виде разбита на 3 таблицы, представленных ниже.
Таблица 11 Народная медицина
| ID_рецепта | |
| Название народного рецепта | |
| Рецепт |
Таблица 12 Лечение_осн
| ID_лечения | |
| Лекарство | |
| Народное_средство | |
| ID_болезни | |
| ID_травы | |
| ID_диеты |
Таблица 13 Лекарства
| ID_лекарства | |
| Противопоказания | |
| Способ применения и дозирование | |
| Наименование | |
| ID_лечения |
Таблица 14 Диеты
| ID_диеты | |
| ID_лечения | |
| Название | |
| Показания | |
| Цель диеты | |
| Общая характеристика | |
| Химический состав и калорийность | |
| Режим питания |
Таблица 15 Травы
| ID_травы | |
| Название (травы) | |
| Информация | |
| ID_лечения |
Таблица
«Болезни» в конечном виде разбита
на 3 таблицы, представленных ниже.
Таблица 16 Болезни_осн
| ID_болезни | |
| ID_названия | |
| ID_категории | |
| Симптомы |
Таблица 17 Категории болезней
| ID_категории | |
| Название категории | |
| Факторы риска |
Таблица 18 Название болезней
| ID_названия | |
| Наименование | |
| ID_болезни |
4. ОПИСАНИЕ СТРУКТУРЫ БАЗЫ ДАННЫХ
В таблицах данные распределяются по столбцам (которые называют полями) и строкам (которые называют записями). Все данные, содержащиеся в поле таблицы, должны иметь один и тот же тип. Каждое поле таблицы характеризуется наименованием, типом и шириной поля. При задании типа данных поля можно также указать размер, формат и другие параметры, влияющие на отображение значения поля и точность числовых данных.
Определим какие типы данных будут присутствовать в наших таблицах:
Рисунок 4 – таблица Лечение (конструктор)
Таблица 19 – Структура таблицы Лечение
| Тип данных | Размер поля | Маска ввода | Индексированное поле | |
| ID_лечение | Счетчик | Длинное целое | Да | |
| ID_болезни | Числовой | Длинное целое | Нет | |
| Лекарство | Числовой | Длинное целое | Нет | |
| Народное_средство | Числовой | Длинное целое | Нет | |
| ID_травы | Числовой | Длинное целое | Нет | |
| ID_диеты | Числовой | Длинное целое | Нет |

- Логическое следствие результатов социологических исследований
- Логістична стратегія управління запасами підприємства
- Логістичний підхід до забезпечення конкурентоздатності підприємства на зовнішньому ринку
- Логічні докази софістів і їх значення у становленні філософського значення
- Логічні етапи процесу ухвалення рішення при покупці соку ТМ «Сандора»
- Логічні помилки в засобах масової інформації
- Логічні помилки в текстах журналістських видань
- Логическое и чувственное познание
- Логическое мышление
- Логическое отрицание и умножение
- Логическое программирование
- Логическое программирование
- Логическое программирование
- Логическое программирование