Полный курс лекций по ТОРА, страница 3

2017-12-26СтудИзба

Описание файла

Документ из архива "Полный курс лекций по ТОРА", который расположен в категории "". Всё это находится в предмете "теоретические основы реляционной алгебры" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "теоретические основы реляционной алгебры" в общих файлах.

Онлайн просмотр документа "Полный курс лекций по ТОРА"

Текст 3 страницы из документа "Полный курс лекций по ТОРА"

XA1A2...Ak

на

XA1, XA2, ..., XAk.

Обозначить полученную ФЗ как G;

3) выбрать очередную ФЗ из G. Найти такую схему отношения Ri, для которой справедливо включение XARi.

Если такой схемы отношений не существует, то поместить ФЗ XA в множество H;

4) если все ФЗ из G рассмотрены, то перейти к следующему пункту, иначе к предыдущему;

5) если H пусто, то завершить алгоритм. ρ обладает свойством сохранения ФЗ. Иначе перейти к следующему пункту;

6) просмотреть все ФЗ из H. Если какая-либо ФЗ XAH не выводится из множества GH, то завершить алгоритм. ρ не обладает свойством сохранения ФЗ. Иначе завершить алгоритм, и тогда ρ обладает свойством сохранения ФЗ.



Лекция №5 - Третья нормальная форма

Свойства "хорошей" схемы БД

Свойство сохранения ФЗ

Алгоритм проверки схемы БД на обладание свойством сохранения ФЗ

Пример 1

Пусть R=(A,B,C), ρ=(AB,BC)=(R1,R2) и F=(AB,BC)

Обладает ли ρ сохранением ФЗ?

Смотрим:

1)

H=∅, УНП=(ABC,BC)

2)

G=(AB,AC,BC)

3)

AB, ABR1

AC, ACR2, H=(AC)

BC, BCR2

4) пропускаем, так как не выполнилось условие в 3)

5)

H не пустое.

6)

выполняется ли AC∈(GH)+=(AB,BC)+

A+=ABC, CA+, значит ρ обладает сохранением ФЗ.

Пример 2

Пусть R=(A,B,C), ρ=(AB,AC)=(R1,R2) и F=(AB,BC)

Обладает ли ρ сохранением ФЗ?

1-4)

H=∅, УНП=(ABC,BC)

H=(BC))

5)

H не пустое.

6)

выполняется ли BC∈(GH)+=(ABC)+

B+=B, CB+, значит ρ не обладает сохранением ФЗ.

Ключ схемы отношения

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

Если атрибут AiR входит в какой-либо ключ схемы отношения R, то он называется первичным. А если не входит ни в один, то называется непервичным.

Пусть

R=(A1...An) - некоторая схема отношения.

F - множество ФЗ.

Тогда

XR называется ключом схемы, если выполняются:

  • XA1...AnF+

  • ZX, ZA1...AnF+. То есть X содержит минимальное число атрибутов, для которых выполняется предыдущее свойство.

Алгоритм построения ключа

Базируется на определении ключа. Позволяет построить только один ключ.

1)

i=0, X0=A1...An

2)

цикл по атрибутам Aj в Xi

Если (XiAj)+=R, то Xi+1=XiAj, i=i+1 и выйти из цикла;

иначе продолжить цикл

3)

если i возросло, то перейти к шагу 2);

иначе X=Xi - это найденный ключ.

Пример построения ключа

Пусть R=(A,B,C,D), F=(ABDC,BCAD)

Надо построить ключ.

1)

i=0, X0=ABCD

2)

(X0−A)+=(BCD)+=BCDA=R, значит X1=BCD, i=1

3)

i, как видим, возросло, значит опять 2)

2)

(CD)+=CDR

(BD)+=BDR

(BC)+=BCAD=R, X2=BC, i=2

3)

i, как видим, возросло, значит опять 2)

2)

C+=CR

B+=BR

3)

i, как видим, не возросло. Значит, X=BC - ключ. Но не единственный, X=AB - тоже ключ, просто у нас получился сначала этот.

Значит, A,B,C - первичные атрибуты, а D - непервичный.

Третья нормальная форма

Отношение находится в 3НФ, если не существует тройки:

  • ключа X,

  • YR,

  • непервичного атрибута HY,

для которой выполняются:

  • XYF+;

  • YHF+;

  • YXF+.

Если такую тройку можно найти, то схема не находится в 3НФ.

Если схема отношения находится в 3НФ, то в большинстве случаев эта схема отношения не обладает аномалиями. Но существуют условия, когда схема в 3НФ обладает этими аномалиями. Хотя, встречаются они редко. Вот они:

  • схема отношения имеет 2 или больше ключей,

    • и любые 2 из них являются составными,

      • и имеют общий атрибут.

Пример 1

Пусть R=(A,B,C,D), F=(AB,ACD) и ρ=R

Доказать, что это отношение не находится в 3НФ.

Доказываем:

1)

i=0, X0=ABCD

2)

(BCD)+=BCDR

(ACD)+=ACDB=R, X=ACD, i=1

3)

i, как видим, возросло, значит опять 2)

2)

(CD)+=CDR

(AD)+=ADBR

(AC)+=ACBD=R, X2=AC, i=2

3)

i, как видим, возросло, значит опять 2)

2)

C+=CR

A+=ABR

3)

i не возросло, значит X=X2=AC - это ключ. Причём, можно показать, что он единственный.

Теперь предполагаем тройку:

  • X=AC

  • Y=AR

  • H=B - непервичный атрибут, BX

Проверям три условия для неё:

1)

XY, так как ACA по 1 аксиоме Армстронга;

2)

YH, AB по условию;

3)

YX, AAC

A+=AB, ACA+

Таким образом, найдена тройка, для которой выполняются все три условия, а значит отношение не находится в 3НФ.

Пример 2

Декомпозируем эту схему отношения R на две схему отношений.

R=(A,B,C,D)

F=(AB,ACD)

ρ=(AB,ACD)=(R1,R2)

Если R1 и R2 находятся в 3НФ, то значит всё ρ будет в 3НФ.

Сначала покажем 3НФ у R1=(AB), F=(AB):

  • X=A - выберем ключом

  • Y, XY, YX

Y=B, AB, BA

  • невозможно подобрать непервичный атрибут HY, потому что непервичным может быть только B.

Таким образом, нельзя подобрать необходимую тройку. Значит, R1 находится в 3НФ.

Теперь покажем 3НФ у R2=(ACD), F=(ACD):

  • X=AC - выберем ключом

  • Y, XY, YX

а) A - что-то как-то не выполняется;

б) C - что-то как-то не выполняется;

в) D - что-то как-то не выполняется;

г) AD - что-то как-то не выполняется;

д) CD - что-то как-то не выполняется.

  • HY, H=D

а) Y=A, YH

б) Y=C, YH

в-д) HY

Не удалось подобрать нужную тройку, так что R2 тоже находится в 3НФ.



Лекция №6 - Алгоритм построения хорошей БД

Третья нормальная форма

Пример аномалий у 3НФ

R=(A,B,C,D) и F=(AB,BA,ACD)

Два ключа:

первый - AC:

(AC)+=ACBD=R

A+=ABR

C+=CR

второй - BC:

(BC)+=BCAD=R

B+=BAR

Покажем, что в этом случае R находится в 3НФ:

1)

неключевой атрибут H, H=D

2)

YH, HY, Y=AC

3)

X=BC, X=AC

Нельзя подобрать нужную тройку, потому R находится в 3НФ. Однако, отношение всё равно обладает аномалиями:

  • избыточности: наименование поставщика повторяется для каждой поставляемой делали;

  • противоречивости при изменении наименования поставщика надо изменить его во всех записях, куда оно входит;

  • включения: нельзя включить информацию о поставщике, если он ничего не поставляет;

  • удаления: при удалении детали удаляется информация о поставщике.

Для устранения этого вводится усиленная 3НФ - Бойса-Кодда.

Нормальная форма Бойса-Кодда

ФЗ XY является неприводимой, если для любого подмножества ZX выполняется ZY или ZYF+

Пусть есть отношение R и F включает в себя нетривиальные неприводимые ФЗ. Тогда отношение R находится в нормальной форме Бойса-Кодда, если для любого XYF => X - ключ.

Пример:

R1=AB, F1=(AB,BA), A - ключ, B - ключ.

или

R2=ACD, F2=(ACD), AC - ключ.

Алгоритм синтеза "хорошей" БД

Пусть U - универсальная схема отношения (множество всех атрибутов предметной области) и F - множество ФЗ.

Перед выполнением алгоритма можно привести все ФЗ к одному атрибуту в правой части (по свойству декомпозиции) и удалить лишние ФЗ. Но это не обязательно.

Алгоритм:

  1. построить УНП для F;

  2. если среди ФЗ в УНП нет ФЗ, включающей все атрибуты из U, то добавить в УНП тривиальную ФЗ U→∅. Выполнение этого шага почти всегда обеспечивает свойство соединения без потерь будущей схемы БД;

  3. привести все нетривиальные ФЗ из УНП к неприводимому виду (удалить лишние атрибуты в левых частях ФЗ);

  4. разбить полученное множество ФЗ УНП на классы эквивалентности. Две зависимости XiYi и XjYj будем называть эквивалентными, если XiYi=XjYj. Далее введём обозначение Kr=XiYi - множество атрибутов в левой и правой частях ФЗ r-того класса эквивалентности;

  5. построить граф иерархии полученных на предыдущем шаге классов эквивалентности (если это возможно). Правило построения: j-ый узел соединяем снизу с i-ым узлом, если KjKi. В каждом узле записываются все ФЗ, соответствующего класса эквивалентности;

  6. из каждого класса эквивалентности в графе иерархии оставить только одну ФЗ. Правила выбора:

    1. удалить из класса эквивалентности лишние ФЗ;

    2. если в классе эквивалентности осталось больше одной ФЗ, то выбрать ФЗ с меньшим числом атрибутов в левой части;

    3. если у оставшихся ФЗ число атрибутов в левой части одинаково, то выбрать ту ФЗ, которая позволит редуцировать (вычеркнуть) атрибуты справа у ФЗ, расположенных выше в графе иерархии;

    4. если в результате не удалось выбрать ни одной, то выбрать произвольную;

  7. редуцировать атрибуты справа в оставшихся ФЗ. Для этого просмотреть каждый путь снизу вверх в графе иерархии. Двигаясь по выбранному пути, выполнить следующие действия в каждом узле пути:

    1. пусть XY - это ФЗ, записанная в данном узле. Каждый атрибут, принадлежащий правой части, вычеркнуть в правых частях ФЗ, расположенных в узлах этого пути по иерархии выше;

    2. для тривиальной ФЗ U→∅ атрибуты вычёркиваются слева;

  8. исключить из рассмотрения ФЗ с пустой правой частью (кроме редуцированной ФЗ U→∅). Исключённые на этом шаге ФЗ являются лишними и выводятся из оставшихся;

  9. каждую оставшуюся в графе иерархий ФЗ VW заменить на множество VW. Получившееся множество схем отношений обозначить как ρ;

  10. для полученной на предыдущем шаге схемы БД проверить:

    1. обладает ли она свойством соединия без потерь. Если не обладает, то добавить ключ универсальной схемы U в эту схему;

    2. обладает ли ρ свойством сохранения ФЗ. Если нет, то, использовать зависимости, не вошедшие в проекцию XY∉ΠRi(F), для построения новых схем отношений, то есть добавить в ρ XY.

После выполнения всех шагов полученная схема ρ:

  • обладает свойством соединения без потерь;

  • обладает свойством сохранения ФЗ;

  • находится в 3НФ или НФБК;

  • содержит минимальное число схем отношений.

Пример

U=(поставщик,фирма,деталь,количество)=(A,B,C,D)

F=(AB,BA,ACD,BCD)

Строим ρ:

1)

УНП=(AB,BA,ACBD,BCAD)

2)

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее