Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Белобжеский_Лекции_по_ББД.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
5.5 Mб
Скачать

Задачи к текущему материалу

ДАТЬ НА САМОСТОЯТЕЛЬНОЕ РЕШЕНИЕ!

1. Представьте каждую ФЗ, показанную на рис. 34, в математической форме так, как это сделано ранее. Затем шаг за шагом редуцируйте диаграмму посредст­вом удаления всех транзитивных зависимостей.

Рис. 34. Диаграмма ФЗ для задачи 1

2. На рис. 35 идентифицируйте все ФЗ, избыточ­ность которых является следствием добавления.

Рис. 35. Диаграмма ФЗ для задачи 2

3. Может ли диаграмма, представленная справа на рис. 36, быть получена из диаграммы, представлен­ной в левой части того же рисунка, с помощью пра­вил вывода, обсуждавшихся в настоящей главе?

Рис. 36. Диаграмма ФЗ для задачи 3

4. Предположим, что в результате проектирования были получены следующие четыре НФБК-отношения:

R1 (Слж-фам, Слж-адрес, Возраст, Пол, Начальник-фам)

R2 (Начальник-фам, Отдел)

R3 (Слж-фам, Отдел)

R4 (Отдел, Отдел-Тел-номер, Отдел-адрес)

Одно из этих отношений является избыточным. Укажите это отношение и поясните причину.

Решение задачи 4: R3 – избыточное, т.к. отношение, полученное при соединении R1 и R2 по атрибуту Начальник-фам, будет содержать все атрибуты R3. Если соединить R1 и R3 по Слж-фам, то избыточным будет R2.

Пример аномалий для 2нф

Из БД КОНСУЛЬТАНТ на первом шаге нормализации были получены две БД, функциональные зависимости которых показаны ниже.

Таблица R1 находится в НФБК и сейчас нас не интересует. Мы будем рассматривать только таблицу R2. Таблица R2 находится в 2НФ (как было доказано ранее), ибо здесь осталась транзитивная зависимость СНОМ КНОМ ТНОМ.

R2(СНОМ, СФАМ, КНОМ, ТНОМ) ..

СНОМ

СФАМ

КНОМ

ТНОМ

3215

Джонс

120DH

2136

3462

Смит

238VH

2344

3567

Хаус

120DH

2136

4756

Алекс

345 DH

3321

Аномалия удаления: Если удалить вторую строку, то пропадет не только информация, что студент 3462 имеет фамилию Смит и живет в комнате 238VH, но и номер телефона этой комнаты.

Аномалия вставки: Нельзя записать, что в комнате 152DH телефон 2556, пока туда не вселится студент.

Нормальная форма Бойса—Кодда (нфбк) с примером аномалий для 3 формы

К сожалению, даже отношения в третьей нормальной форме могут иметь анома­лии. Рассмотрим отношение НАУЧНЫЙ_РУКОВОДИТЕЛЬ (рис. 4.6, а). Пусть требо­вания к этому отношению таковы.

  1. Студент может иметь одну или несколько специализаций.

  2. Научными руководителями по одной и той же специализации могут быть несколько преподавателей.

  3. Каждый преподаватель может осуществлять научное руководство только по одной специализации.

Будем также предполагать, что у преподавателей не бывает одинаковых фа­милий.

Поскольку студенты могут специализироваться в нескольких областях, атрибут НомерСтудента не определяет атрибут Специализация. Более того, так как сту­дент может иметь несколько научных руководителей, НомерСтудента не определя­ет и атрибут ИмяПреподавателя. Таким образом, сам по себе атрибут НомерСтуден­та не может играть роль ключа.

Рис. 4.6. Нормальная форма Бойса—Кодда: а — отношение, находящееся в ЗНФ, но не в НФБК; б — два отношения, находящиеся в НФБК

Комбинация (НомерСтудента, Специализация) определяет атрибут ИмяПрепода­вателя, а комбинация (НомерСтудента, ИмяПреподавателя) определяет атрибут Спе­циализация. Следовательно, любая из этих комбинаций может быть ключом. Два или более атрибута или группы атрибутов, которые могут быть ключом, называ­ются ключами-кандидатами (candidate keys). Тот из ключей-кандидатов, кото­рый выбирается в качестве ключа, называется первичным ключом (primary key).

Кроме ключей-кандидатов, есть еще одна функциональная зависимость, ко­торую следует рассмотреть: атрибут ИмяПреподавателя определяет атрибут Спе­циализация (любой из преподавателей является научным руководителем только по одной специализации; следовательно, зная имя преподавателя, мы можем определить эту специализацию). Таким образом, ИмяПреподавателя является де­терминантом.

По определению, отношение НАУЧНЫЙ_РУКОВОДИТЕЛЬ находится в первой нор­мальной форме. Оно также находится во второй нормальной форме, поскольку не имеет неключевых атрибутов (каждый из атрибутов является частью по край­ней мере одного ключа). Наконец, это отношение находится в третьей нормаль­ной форме, так как не имеет транзитивных зависимостей. Тем не менее, несмот­ря на все это, отношение имеет аномалии модификации.

Пусть студент номер 300 отчисляется из университета. Если мы удалим строку с информацией об этом студенте, мы потеряем тот факт, что научным руководи­телем на кафедре психологии является некий Перлс. Это аномалия удаления. Далее, как мы можем записать в базу тот факт, что преподаватель Кейнс является научным руководителем на кафедре экономики? Никак, пока не появится хотя бы один студент, специализирующийся на экономике. Это аномалия вставки.

Ситуации, подобные только что описанной, приводят нас к определению нор­мальной формы Бойса—Кодда (Воусе—Codd normal form, BK/NF): отношение на­ходится в НФБК, если каждый детерминант является ключом-кандидатом. Отно­шение НАУЧНЫЙ_РУК0В0ДИТЕЛЬ не находится в НФБК, поскольку детерминант ИмяПреподавателя не является ключом-кандидатом.

Как и в других примерах, отношение НАУЧНЫЙ_РУК0В0ДИТЕЛЬ можно разбить на два отношения, не имеющие аномалий. Например, отношения СТУДЕНТ—РУКОВО­ДИТЕЛЬ (НомерСтудента, ИмяПреподавателя) и РУКОВОДИТЕЛЬ—СПЕЦИАЛИЗАЦИЯ (Имя-Преподавателя, Специализация) не имеют аномалий.

Отношения в НФБК не имеют аномалий, относящихся к функциональным зависимостям, и некогда казалось, что вопрос с аномалиями модификации на этом исчерпан. Однако вскоре обнаружилось, что аномалии могут быть обуслов­лены и иными причинами, нежели функциональные зависимости.