Вопрос № 7 Проектирование БД
– процесс постепенного перехода от неформального описания предмет.обл к внутренней модели данных, которая реализуется в среде конкретного СУБД. Все БД должны тщательно проектируется - от корректности проекта зависит жизнеспособность БД т.к проект должен удовлетворять все информационные потребности пользователей при этом время выполнения запросов должно быть приемлемым.
Существует 2 основных подхода к проектированию БД-
1) Нисходящий (сверху вниз)
2) Восходящий(снизу вверх)
Восходящий подход применим к небольшим БД к таким в которых мало атрибутов он начинается с разработки низкоуровневых моделей либо сразу с внутренней, либо с модели датологической от них возможен переход к моделям более высоких уровней.
Проектирование на основе нормализации отношения.
Этот способ является классическим способом проектирования реляционной модели. Он является примером - восходящего проектирования реляционной модели. Процесс проектирования начинается с самого низкого уровня – уровня атрибутов,т.е проектировщик выявляет те атрибуты, которые характерны для данной предметной области, формирует из них 1 или 2 больших отношений, затем начинается процесс нормализации этих отношений, в ходе этого процесса улучшается структура исходных отношений. Необходимость этих улучшений обусловлена наличием избыточности т.е дублирования данных в исходных отношениях.
Избыточность приводит к след. аномалиям:
1)Аномалия обновления – можно обновить адрес не во всех строках при этом нарушается целостность.
2)Аномалия удаления – если поставщик поставляет один товар,то при удалении товара потеряются сведения о поставщике 3)Аномалия включения – нельзя добавить нового поставщика, если он временно товар не поставляет.
Нормализация осуществляется путем декомпозиции исходного отношения на 2 или более отношений, обладающих лучшей структурой ( удовлетворяющий требования нормальной формы более высокого порядка). В БД существует 5 НФ – 1НФ,2НФ,3НФ,НФ Бойса Кода,5НФ.
Избыточность данных исключается путем удаления из отношения тех или иных функциональных зависимостей между атрибутами. В отношении R между атрибутами Аи В существует функция зависимость если каждому значению атрибута А соответствует только одно знач-е атрибута В. Функц-я завис-ть называется полной если выполняются следующие условия:
1)В правой зависимой части указан 1 атрибут.
2) Левая часть содержит нес-ко атрибутов и является неприводимой т.е из нее нельзя удалить ни один атрибут без потери смысла зависимости.
Транзитивная функциональная зависимость между атрибутами А и В существует, если существует такой атрибут С что имеет место зависимость А--->С и В--->С.
Нормальные формы отношение находится в 1НФ когда все его атрибуты неделимы т.е на пересечении каждой строки и каждого столбца находится только одно значение.Для приведения отношения к 1НФ необходимо либо разделить атрибуты на несколько атомарных атрибутов, либо дублировать строки отношения.
Отношение находится во 2НФ если оно находится в 1НФ и все его неключевые атрибуты находятся в полной функциональной зависимости от первичного ключа. Другими словами в отношении не существует частичной зависимости неключевых атрибутов от составного ключа. Из определения следует, что отношение, в котором первич-й ключ простой автоматически находится во 2НФ.
Чтобы привести отношение ко 2НФ необходимо выполнить следующие действия:
1) Определить первичный ключ.
2) Выявить атрибуты, которые находятся в полной функциональной зависимости от атрибутов первичного ключа.
3) Выполнить проекцию исходного отношения на атрибуты первичного ключа и атрибуты, которые полностью от него зависят.
4) Выявить атрибуты, зависящие от той или иной части ключа.
5) Выполнить проекцию исходного отношения на части ключа и атрибуты, зависящие от этих частей.
Отношение находится в 3НФ, если оно находится в 2 НФ и в нем не существует транзитивной функциональной зависимости между атрибутами.Чтобы привести отношение к 3НФ необходимо:
1) Выполнить проекцию исходного отношения на все его атрибуты за исключением атрибута В.
2) Выполнить проекцию исходного отношения на атрибуты С и В.
Отношение находится в НФБК если оно находится в 3НФ и все его детерминанты является потенциальными ключами. Детерминанты – это атрибуты или совокупность атрибутов от которых зависят некоторые другие атрибуты. Если в отношении существует несколько функциональных зависимостей, то в нем существует несколько детерминант. Для приведения отношения к НФБК необходимо выполнить проекцию исходного отношения на те, или иные части детерминант.
– процесс постепенного перехода от неформального описания предмет.обл к внутренней модели данных, которая реализуется в среде конкретного СУБД. Все БД должны тщательно проектируется - от корректности проекта зависит жизнеспособность БД т.к проект должен удовлетворять все информационные потребности пользователей при этом время выполнения запросов должно быть приемлемым.
Существует 2 основных подхода к проектированию БД-
1) Нисходящий (сверху вниз)
2) Восходящий(снизу вверх)
Восходящий подход применим к небольшим БД к таким в которых мало атрибутов он начинается с разработки низкоуровневых моделей либо сразу с внутренней, либо с модели датологической от них возможен переход к моделям более высоких уровней.
Проектирование на основе нормализации отношения.
Этот способ является классическим способом проектирования реляционной модели. Он является примером - восходящего проектирования реляционной модели. Процесс проектирования начинается с самого низкого уровня – уровня атрибутов,т.е проектировщик выявляет те атрибуты, которые характерны для данной предметной области, формирует из них 1 или 2 больших отношений, затем начинается процесс нормализации этих отношений, в ходе этого процесса улучшается структура исходных отношений. Необходимость этих улучшений обусловлена наличием избыточности т.е дублирования данных в исходных отношениях.
Избыточность приводит к след. аномалиям:
1)Аномалия обновления – можно обновить адрес не во всех строках при этом нарушается целостность.
2)Аномалия удаления – если поставщик поставляет один товар,то при удалении товара потеряются сведения о поставщике 3)Аномалия включения – нельзя добавить нового поставщика, если он временно товар не поставляет.
Нормализация осуществляется путем декомпозиции исходного отношения на 2 или более отношений, обладающих лучшей структурой ( удовлетворяющий требования нормальной формы более высокого порядка). В БД существует 5 НФ – 1НФ,2НФ,3НФ,НФ Бойса Кода,5НФ.
Избыточность данных исключается путем удаления из отношения тех или иных функциональных зависимостей между атрибутами. В отношении R между атрибутами Аи В существует функция зависимость если каждому значению атрибута А соответствует только одно знач-е атрибута В. Функц-я завис-ть называется полной если выполняются следующие условия:
1)В правой зависимой части указан 1 атрибут.
2) Левая часть содержит нес-ко атрибутов и является неприводимой т.е из нее нельзя удалить ни один атрибут без потери смысла зависимости.
Транзитивная функциональная зависимость между атрибутами А и В существует, если существует такой атрибут С что имеет место зависимость А--->С и В--->С.
Нормальные формы отношение находится в 1НФ когда все его атрибуты неделимы т.е на пересечении каждой строки и каждого столбца находится только одно значение.Для приведения отношения к 1НФ необходимо либо разделить атрибуты на несколько атомарных атрибутов, либо дублировать строки отношения.
Отношение находится во 2НФ если оно находится в 1НФ и все его неключевые атрибуты находятся в полной функциональной зависимости от первичного ключа. Другими словами в отношении не существует частичной зависимости неключевых атрибутов от составного ключа. Из определения следует, что отношение, в котором первич-й ключ простой автоматически находится во 2НФ.
Чтобы привести отношение ко 2НФ необходимо выполнить следующие действия:
1) Определить первичный ключ.
2) Выявить атрибуты, которые находятся в полной функциональной зависимости от атрибутов первичного ключа.
3) Выполнить проекцию исходного отношения на атрибуты первичного ключа и атрибуты, которые полностью от него зависят.
4) Выявить атрибуты, зависящие от той или иной части ключа.
5) Выполнить проекцию исходного отношения на части ключа и атрибуты, зависящие от этих частей.
Отношение находится в 3НФ, если оно находится в 2 НФ и в нем не существует транзитивной функциональной зависимости между атрибутами.Чтобы привести отношение к 3НФ необходимо:
1) Выполнить проекцию исходного отношения на все его атрибуты за исключением атрибута В.
2) Выполнить проекцию исходного отношения на атрибуты С и В.
Отношение находится в НФБК если оно находится в 3НФ и все его детерминанты является потенциальными ключами. Детерминанты – это атрибуты или совокупность атрибутов от которых зависят некоторые другие атрибуты. Если в отношении существует несколько функциональных зависимостей, то в нем существует несколько детерминант. Для приведения отношения к НФБК необходимо выполнить проекцию исходного отношения на те, или иные части детерминант.