Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 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.
Пример 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; просмотров: 265; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.01 с.) |