Автор работы: Пользователь скрыл имя, 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_диеты | Числовой | Длинное целое | Нет |