Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Аномалии и избыточность данных
Вторая и третья нормальные формы 2НФ и 3НФ предназначены для исключения аномалий обновления данных при работе с БД и избавления от информационной избыточности в отношениях. Пример 2.12. Дано отношение (табл. 2.3, 2.4): РАСПИСАНИЕ (Рейс, Дата, Экипаж, Время), где атрибут ( Рейс, Дата) – составной ключ отношения.
Требуется преобразовать отношение, чтобы оно удовлетворяло F-зависимости Рейс→ Время: РАСПИСАНИЕ Таблица 2.3
Нужно обновить отношение, изменив время вылета с 11:40 на 10:15 для рейса 112, вылетающего 5 января. Команда замены примет вид:: СН (РАСПИСАНИЕ; 112; 5.01; 1; Время = 10:15), а отношение:. РАСПИСАНИЕ Таблица 2.4
В новом отношении имеется дублирование информации о связи рейса и времени, что ведет к избыточности информации. Для устранения избыточности нужно представить ту же информацию в виде БД из двух отношений (рис. 2.1): РАСПИСАНИЕ-ЭКИПАЖ (Рейс, Дата. Экипаж) и РАСПИСАНИЕ-ВРЕМЯ (Рейс, Время) РАСПИСАНИЕ-ЭКИПАЖ РАСПИСАНИЕ-ВРЕМЯ
Рис. 2.1. Отношения БД РАСПИСАНИЕ В результате аномалия обновления исчезла и понизилась избыточность данных (одна строка Рейс- Время вместо двух в исходной таблице). Теперь, чтобы изменить время вылета достаточно изменить его в одном кортеже. Это результат того, что схема отношения была приведена ко 2НФ (атрибут Экипаж зависит только от Рейс, Дата, а Время – только от Рейс). Вторая нормальная форма Схема отношения R находится во 2НФ относительно F, если она находится в 1НФ, и любой непервичный атрибут функционально полно зависит от любого ключа. Если имеются неключевые атрибуты, зависящие от части первичного ключа, то отношение не находится во 2НФ. Определения: 1. Атрибут называется посторонним для функциональной зависимости X→Y, если он может быть удален из правой или левой части функциональной зависимости без изменений транзитивного замыкания F+ множества F (transitive,англ.- переходный). 2. Функциональная зависимость X→Y называется редуцированной слева (справа), если X(Y) не содержит атрибута Z, постороннего для функциональной зависимости X→Y (reduce, англ. – уменьшать). Зависимость, редуцированная слева и справа, называется просто редуцированной. Если функциональная зависимость X→Y редуцированна слева, то Y является полностью зависящим от X. В противном случае Y частично зависит от X.
Удаление посторонних атрибутов в начале производят слева, а потом справа. Если после этого исключить зависимости вида Х→ О, то посторонних атрибутов в F-зависимости не останется. Пример 2.13. Функциональная зависимость F= {(Рейс, Дата) → (Бригада, Путь); Рейс→Путь}. Здесь атрибут Путьчастично зависит от (Рейс, Дата), а Бригада полностью зависит от (Рейс, Дата), т.е. F-зависимость редуцирована слева относи тельно атрибута Бригада и не редуцирована по атрибуту Путь. Для приведения ко 2НФ нужно ввести новое отношение РЕЙС(Рейс, Путь). Если атрибут А из схемы отношения R входит в состав какого-либо ключа, то он называется первичным в R относительно F. В противном случае атрибут А является непервичным в схеме R. Пример 2.14. Дано отношение ПОСТАВКА: ПОСТАВКА (№ поставщика, Товар, Цена). Поставщик может поставлять различные товары, один и тот же товар могут поставлять разные поставщики. Ключ составной - №_поставщика, Товар. В исходном отношении атрибут Цена неполно зависит от ключа, что приводит к аномалии обновления – при изменении цены нужно найти все кортежи поставки этого товара и заменить значение атрибута Цена, иначе БД будет не согласована. То же – с аномалиями удаления и включения. в отношении ПОСТАВКА объединены две семантические связи: №_поставщика -Товар и Товар – Цена. Поскольку Цена зависит только от Товар и не зависит от № поставщика, функциональная зависимость атрибута Цена от ключа является неполной. Для приведения отношения к полной F-зависимости, т.е.ко 2НФ, нужно разложить его на два отношения: ПОСТАВКА (№_поставщика, Товар); ЦЕНА_ТОВАР (Товар, Цена) Связь между отношениями - по атрибуту Товар. Изменение цены вызовет модификацию лишь одного кортежа второго отношения ЦЕНА_ТОВАР. Пример 2.15. Дано отношение БОЛЬНИЦА со схемой:
БОЛЬНИЦА
Разобьем его на три отношения, находящихся во 2НФ: ВРАЧ (№ врача, ФИО_врача); ПАЦИЕНТ (№ пац, ФИО_ пац, Адрес_пац); ЛЕЧЕНИЕ (№ врача. № пац. Дата, Лечение, Лекарство, Побоч_эффект) Введение в качестве ключей новых атрибутов №_врача и №_пац. вместо символьных ФИО_врача.и ФИО_пац. является избыточным, но на практике более целесообразно по двум причинам: 1.Фамилии врача и пациента могут совпасть даже в пределах одной больницы, а №_врача и №_пац кодируются администратором БД. 2. Замена символьных ключей числовыми №_врача и №_пац приводит к некоторому уменьшению объема данных (числовые данные имеют меньшую длину) и к большему быстродействию при связывании, индексировании и выполнении других операций над отношениями. Схема всей БД имеет 2НФ относительно F, если схема каждого её отношения находится относительно F во 2НФ. Третья нормальная форма Схема отношения R находится в 3НФ относительно множества функциональных зависимостей F, если она находится в 1НФ и ни один из непервичных атрибутов в R не является транзитивно зависимым от ключа для R. Согласно аксиоме транзитивности F5: если А→В и В→ С,то А→ С, т.е. С транзитивно зависит от А. Пример 2.16. Дано отношение ЛЕЧЕНИЕ: ЛЕЧЕНИЕ (№врача, № пациента, Дата, Лечение, Лекарство, Побочный эффект) В нём существуют F-зависимости: А В (№_врача, №_пац, Дата) →Лекарство; В С Лекарство → Побоч_эффект, т.е. транзитивная зависимость выполняется через атрибут Лекарство. Это приводит к: • аномалии изменения – при изменении сведений о побочном эффекте лекарства требуется просмотреть всю БД для корректного изменения данных; • аномалия включения - нельзя включить в БД лекарство, не назначенное ни одному больному. Преобразование отношения в ЗНФ устраняет эти аномалии. Транзитивная зависимость вызвана наличием в отношении двух семантических различных типов – (Врач, Пациент, Лекарство) и (Лекарство, Побочный эффект). Нормализованная БД рассматриваемого примера имеет вид: ВРАЧ (№ врача, ФИО_ врача); ПАЦИЕНТ (№_пац, ФИО_пац, Адрес_пац); ЛЕЧЕНИЕ (№ врача, Ном пац,. Дата, Лечение, Лекарство); ЛЕКАРСТВО (Лекарство, Побоч_эффект). Любая БД должна находится как минимум в ЗНФ. Любая схема отношения, находящаяся в ЗНФ относительно F, находится во 2НФ относительно F. На практике приведение к 3НФ достаточно для большинства случаев нормализации схем отношений, и на этом процесс проектирования реляционной БД заканчивается. Приведение к 3НФ выполняется через разбиение схемы отношения R на две схемы R1 и R2 согласно транзитивной f-зависимости. Если схемы R1 и R2 не окажутся в 3НФ, то декомпозиция продолжается.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-27; просмотров: 156; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.79.59 (0.008 с.) |