Автор работы: Пользователь скрыл имя, 13 Декабря 2011 в 12:36, курсовая работа
Данный проект рассчитан на следующую аудиторию:
1) Работников медицинских учреждений.
2) Простых пользователей.
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 – таблица Лечение (конструктор)
Таблица 19 – Структура таблицы Лечение
| Тип данных | Размер поля | Маска ввода | Индексированное поле | |
| ID_лечение | Счетчик | Длинное целое | Да | |
| ID_болезни | Числовой | Длинное целое | Нет | |
| Лекарство | Числовой | Длинное целое | Нет | |
| Народное_средство | Числовой | Длинное целое | Нет | |
| ID_травы | Числовой | Длинное целое | Нет | |
| ID_диеты | Числовой | Длинное целое | Нет |