УДК 681.3(076) ББК 22.19я7 Р36
Федеральное агентство по образованию Государственное образовательное учреждение высшего ...
89 downloads
203 Views
236KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
УДК 681.3(076) ББК 22.19я7 Р36
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования
Ульяновский государственный технический университет
Рецензент профессор кафедры «Вычислительная техника» факультета информационных систем и технологий Ульяновского государственного технического университета В. Н. Негода. Одобрено секцией методических методического совета университета.
Реляционные базы данных. Нормальные формы Рабочая тетрадь №2 к лекционному курсу по дисциплине «Реляционная алгебра» для студентов дневной формы обучения специальности 080801 «Прикладная информатика (в экономике)»
пособий
научно-
Реляционные базы данных. Нормальные формы: Р36 рабочая тетрадь №2 / сост. О. Н. Евсеева. – Ульяновск: УлГТУ, 2005. – 24 с. Составлена в соответствии с программой курса «Реляционная алгебра». Тетрадь №2 содержит слайды презентаций второго раздела лекционного курса, дополнительные примеры к ним и задания для самостоятельного решения. Данные материалы предназначены для студентов всех форм обучения по специальности 080801 «Прикладная информатика (в экономике)».
Составитель О. Н. Евсеева
УДК 681.3(076) ББК 22.19я7 © Евсеева О. Н., составление, 2005 © Оформление. УлГТУ, 2005
Ульяновск 2005 -1-
Функциональные зависимости
Содержание
Слайд 1
Функциональные зависимости. Пример
Функциональные зависимости ...................................... 4
Ограничения: 1. Для каждого рейса назначается только одно время вылета. 2. Для данного пилота, даты и времени вылета возможен только один рейс. 3. Для данного рейса и даты назначается только один пилот.
Реляционная база данных ............................................... 8 Нормальные формы ......................................................... 9
график (ПИЛОТ Кушинг Кушинг Кларк Кларк Кларк Чин Чин Коупли Коупли Коупли
Первая нормальная форма .......................................................9 Аномалии обновления............................................................11 Вторая нормальная форма .....................................................12 Третья нормальная форма......................................................14 Многозначные зависимости ..................................................16
РЕЙС 83 116 281 301 83 83 116 281 281 412
ДАТА 9 авг. 10 авг. 8 авг. 12 авг. 11 авг. 13 авг. 12 авг. 9 авг. 13 авг. 15 авг.
ВРЕМЯ-ВЫЛЕТА) 10:15 13:25 5:50 18:35 10:15 10:15 13:25 5:50 5:50 13:25
Четвертая нормальная форма ................................................19
Задания.............................................................................. 21
Слайд 2
Функциональные зависимости F-зависимость имеет место, когда значения кортежа на одном множестве атрибутов единственным образом определяют эти значения на другом множестве атрибутов. Например: 1. ВРЕМЯ функционально зависит от РЕЙСА. 2. РЕЙС функционально зависит от {ПИЛОТ, ДАТА, ВРЕМЯ}. 3. ПИЛОТ функционально зависит от {РЕЙС, ДАТА}.
Обычно порядок меняют и говорят, что РЕЙС, ДАТА функционально определяют ПИЛОТ, или, символически: {РЕЙС, ДАТА}→ПИЛОТ
-34
Слайд 3
Слайд 5
Функциональные зависимости
Алгоритм SATISFIES. Пример 1
Определение: r(R), Х⊆ R и Y ⊆ R, отношение r удовлетворяет функциональной зависимости Х→Y, если πY(σX=x(r)) имеет не более чем один кортеж для каждого Хзначения х.
SATISFIES(график, РЕЙС→ВРЕМЯ-ВЫЛЕТА). график (ПИЛОТ РЕЙС ДАТА ВРЕМЯ-ВЫЛЕТА) Кушинг 83 9 авг. 10:15 Кларк 83 11 авг. 10:15 Чин 83 13 авг. 10:15 Кушинг 116 10 авг. 13:25 Чин 116 12 авг. 13:25 Кларк 281 8 авг. 5:50 Коупли 281 9 авг. 5:50 Коупли 281 13 авг. 5:50 Кларк 301 12 авг. 18:35 Коупли 412 15 авг. 13:25
То есть для любых двух кортежей t1 и t2 в r верно, если t1(X) = t2(X), то t1(Y) = t2(Y). В F-зависимости Х→Y подмножество Х называется левой частью, a Y — правой частью. F-зависимость X→∅ удовлетворяется любым отношением. F-зависимость ∅→Y удовлетворяется теми отношениями, в которых Y-значения всех кортежей совпадают.
Слайд 4
Слайд 6
Проверка наличия F-зависимости Алгоритм SATISFIES Вход: Отношение r и F-зависимость Х→Y. Выход: истина, если r удовлетворяет X→Y, ложь — в противном случае. SATISFIES (r, Х→Y) 1. Пересортируем отношение r по X-столбцам так, чтобы собрать кортежи с равными X-значениями вместе. 2. Если каждая совокупность кортежей с равными Xзначениями имеет также равные Y-значения, то на выходе получаем истину, в противном случае — ложь.
5
Алгоритм SATISFIES. Пример 2 SATISFIES(график, ВРЕМЯ-ВЫЛЕТА→РЕЙС) график (ПИЛОТ Кларк Коупли Коупли Кушинг Кларк Чин Кушинг Чин Коупли Кларк
РЕЙС 281 281 281 83 83 83 116 116 412 301
6
ДАТА 8 авг. 9 авг. 13 авг. 9 авг. 11 авг. 13 авг. 10 авг. 12 авг. 15 авг. 12 авг.
ВРЕМЯ-ВЫЛЕТА) 5:50 5:50 5:50 10:15 10:15 10:15 13:25 13:25 13:25 18:35
Реляционная база данных Слайд 8
Схема базы данных Считаем, что схема отношения R состоит из двух частей S и K, где S — это множество атрибутов, а К — множество выделенных ключей: R = (S, К).
Слайд 7
Ключи отношения
Определение: Схемой реляционной базы данных R над U называется совокупность схем отношений {R ,R2,...,Rp}, где Ri = (Si, Кi), 1 ≤ i ≤ р, p 1 U Si = U, Si ≠ Sj при i ≠ j, U — множество атрибутов,
Ключ для схемы R – это подмножество К ⊆ R, такое, что любое допустимое отношение r(R) удовлетворяет К→R, но никакое собственное подмножество К’ ⊂ К этим свойством не обладает. Если К – ключ для r, то не существует двух различных
кортежей t1 и t2 в r, имеющих одинаковые Kзначения. Условие проверки функциональной зависимости К→R: как только имеет место равенство t1(К) = t2(K), то обязательно должно иметь место равенство t1= t2, т. е. t1(R)= t2(R).
Суперключ — это подмножество К ⊆ R, такое, что К→R, при этом отсутствует требование минимальности.
i =1
каждый из которых соотнесен с определенным доменом.
Слайд 9
Реляционная база данных Реляционной базой данных d со схемой базы данных R называется такая совокупность отношений {r1,r2,…, rp}, что для каждой схемы Ri = (Si , Кi) из R существует отношение ri в d, являющееся отношением со схемой Si и удовлетворяющее каждому ключу из Кi , 1≤i≤p. Пример: база данных d={peйcы, время} схема базы данных R = {(ПИЛОТ РЕЙС ДАТА, {ПИЛОТ ДАТА}), (РЕЙС ВРЕМ Я-ВЫЛЕТА, {РЕЙС})}. Отношения рейсы и время, составляющие базу данных рейсы (ПИЛОТ Кушинг Кушинг Кларк Кларк Кларк Чин Чин Коупли Коупли Коупли
7
РЕЙС 83 116 281 301 83 83 116 281 281 412
ДАТА) 9 авг. 10 авг. 8 авг. 12 авг. 11 авг. 13 авг. 12 авг. 9 авг. 13 авг. 15 авг.
время (РЕЙС 83 116 281 301 412
8
ВРЕМЯ-ВЫ ЛЕТА) 10 15 13 25 5 50 18 35 13 25
Нормальные формы Слайд 12
Слайд 10
Нормальные формы
Первая нормальная форма. Пример ДАТАРОЖДЕНИЯ) Аллен 7 июня 1949 Альфред 21 марта 1933 Альфонс 30 апреля 1959 Алиса 12 декабря 1963
рождение (ИМЯ
Нормальная форма представляет собой ограничение на схему базы данных, которое избавляет базу данных от некоторых нежелательных свойств.
ДЕНЬМЕСЯЦГОДРОЖДЕНИЯ РОЖДЕНИЯ РОЖДЕНИЯ) Аллен 7 июнь 1949 Альфред 21 март 1933 Альфонс 30 апрель 1959 Алиса 12 декабрь 1963
рождение (ИМЯ
1НФ
1НФ
род (ИМЯ ПОЛ ) {Джон, Джеки, Иван} мужской {Мэри, Мария} женский
Первая нормальная форма Слайд 11
род (ИМЯ Джон Джеки Иван Мэри Мария
ПОЛ ) мужской мужской мужской женский женский
Слайд 13
Первая нормальная форма. Преимущества
Первая нормальная форма Схема отношения R находится в первой нормальной форме (1НФ), если значения в dот(A) являются атомарными для каждого атрибута A в R. (Значения в домене не являются ни списками, ни множествами простых или сложных значений). Схема базы данных R находится в первой нормальной форме, если каждая схема отношения в R находится в первой нормальной форме. (Общий принцип: значение неатомарно, если в приложении оно используется по частям).
9
• 1НФ позволяет выражать F-зависимости с той степенью детализации, с какой требуется. Пусть надо добавить атрибут ЗНАК (знак зодиака) в отношение рождение. ЗНАК функционально зависит только от месяца и дня рождения и не зависит от года. Для 1-го варианта: F-зависимость ДАТА-РОЖДЕНИЯ→ЗНАК позволяет двум индивидуумам, родившимся в один и тот же день, но в разные годы, иметь различные знаки. Для 2-го варианта: F-зависимость ДЕНЬ-РОЖДЕНИЯ МЕСЯЦРОЖДЕНИЯ→ЗНАК верно отражает действительность.
• 1НФ позволяет разрешить обновления данных.
неоднозначность
Пусть нужно выполнить операцию обновления СН(род; Джеки, мужской; ПОЛ = женский). В 1-ом отношении род результат обновления не определен — Что сделать: перенести имя Джеки из одного множества в другое или заменить пол мужской на женский? Во 2-ом варианте отношения род такой проблемы нет.
10
Аномалии обновления
Вторая нормальная форма Слайд 15
Вторая нормальная форма Слайд 14
Аномалия обновления О т н о ш ен и е г р а ф и к ,
кл ю ч - а три б уты Р Е Й С Д А Т А ,
F-зав и си м о сть: Р Е Й С → Г А Л Е Р Е Я г р а ф и к (Р Е Й С 112 112 203
ДАТА 6 июня 7 июня 9 июня
ПИЛОТ Босли Брук с Босли
ГАЛЕРЕЯ) 7 7 12
выполнение операции СН(график;112,6 июня;ПИЛОТ=Босли,ГАЛЕРЕЯ=8), нарушает F-зависимость РЕЙС→ГАЛЕРЕЯ. пилот-график (РЕЙС 112 112 203
ДАТА 6 июня 7 июня 9 июня
ПИЛОТ) Босли Брукс Босли
галерея-график (РЕЙС ГАЛЕРЕЯ) 112 7 203 12
Даны: схема отношения R, атрибут А в R и множество функциональных зависимостей F на R. Атрибут А называется первичным в R относительно F, если А содержится в каком-нибудь ключе схемы R. В противном случае А называется непервичным в R. R = РЕЙС ДАТА ПИЛОТ ГАЛЕРЕЯ F={РЕЙС ДАТА→ПИЛОТ ГАЛЕРЕЯ, РЕЙС→ГАЛЕРЕЯ} РЕЙС и ДАТА — первичные атрибуты, ПИЛОТ и ГАЛЕРЕЯ — непервичные. (Допустимо, чтобы один пилот имел два рейса в один день, так что ПИЛОТ ДАТА ключом не являются.)
Слайд 16
график = пилот-графикгалерея-график.
Вторая нормальная форма Схема отношения R находится во второй нормальной форме (2НФ) относительно множества функциональных зависимостей F, если (1) она находится в первой нормальной форме и (2) каждый непервичный атрибут полностью зависит от каждого ключа для R. Схема базы данных R имеет вторую нормальную форму относительно F, если каждая схема отношения R из R находится в 2НФ относительно F.
11
12
Третья нормальная форма Слайд 18
Третья нормальная форма Для схемы отношения R, Х ⊆ R, атрибута А в R и множества функциональных зависимостей F атрибут А называется транзитивно зависимым от Х в R, если ∃(Y ⊆ R) | Х→Y, Y→X, Y→А относительно F и А ∉ Х Y.
Слайд 17
R = РЕЙС ДАТА КОД-ПИЛОТА ИМЯ F = {РЕЙС ДАТА→КОД-ПИЛОТА, КОД-ПИЛОТА→ИМЯ, ИМЯ→КОД-ПИЛОТА}
Вторая нормальная форма. Пример R = РЕЙС ДАТА ПИЛОТ ГАЛЕРЕЯ F={РЕЙС ДАТА→ПИЛОТ ГАЛЕРЕЯ,
Атрибут A=ИМЯ транзитивно зависит от X={РЕЙС ДАТА}, так как РЕЙС ДАТА→КОД-ПИЛОТА, КОД-
РЕЙС→ГАЛЕРЕЯ} R = {R}
ПИЛОТА → РЕЙС ДАТА и КОД-ПИЛОТА → ИМЯ (Y={КОД-ПИЛОТА})
Схема R не находится в 2НФ, так как
ГАЛЕРЕЯ частично зависит от РЕЙС ДАТА
Если R={РЕЙС ДАТА ПИЛОТ, РЕЙС ГАЛЕРЕЯ}, тогда R будет находиться во 2НФ, так как РЕЙС теперь – ключ для схемы отношения РЕЙС ГАЛЕРЕЯ.
Слайд 19
Третья нормальная форма. Пример график(РЕЙС 112 112 203
ДАТА 6 июня 7 июня 9 июня
КОД-ПИЛОТА 31174 30046 31174
ИМЯ Босли Брукс Босли
)
Ключ – РЕЙС ДАТА. F={КОД-ПИЛОТА→ИМЯ, ИМЯ→КОД-ПИЛОТА, РЕЙС ДАТА→КОД-ПИЛОТА ИМЯ} Операция обновления CH(график; 112, 6 июня; КОД-ПИЛОТА = 31039, ИМЯ=Босли) изменяет функциональную зависимость ИМЯ→КОД-ПИЛОТА. Имеется избыточная информация в виде пар КОД-ПИЛОТА ИМЯ. Проблема в транзитивной зависимости атрибута A=ИМЯ от ключа X={РЕЙС ДАТА}, так как РЕЙС ДАТА→КОД-ПИЛОТА, КОДПИЛОТА → РЕЙС ДАТА и КОД-ПИЛОТА → ИМЯ (Y={КОДПИЛОТА})
13
14
Многозначные зависимости Слайд 20
Слайд 22
Третья нормальная форма. Пример 3НФ
график(РЕЙС 112 112 203
ДАТА 6 июня 7 июня 9 июня
КОД-ПИЛОТА 31174 30046 31174
ИМЯ ) Босли Брукс Босли
3НФ пилот-график (РЕЙС ДАТА КОДПИЛОТА) 112 6.6 31174 112 7.6 30046 203 9.6 31174
код (КОДИМЯ) ПИЛОТА 31174 Босли 30046 Брукс
Многозначные зависимости Для реляционной схемы R, где Х⊆R, Y⊆R и X∩Y=∅, Z = R – (X Y), отношение r(R) удовлетворяет многозначной зависимости (MV-зависимости) Х– »Y, если для любых двух кортежей t1 и t2 из r, для которых t1(X) = t2(X), в r существует кортеж t3, для которого выполнены соотношения: t3(X) = t1(X), t3(Y) = t1(Y) и t3(Z) = t2(Z). r(R) t1 t2 t3
F={КОД-ПИЛОТА→ИМЯ, ИМЯ→КОД-ПИЛОТА, РЕЙС ДАТА→КОД-ПИЛОТА ИМЯ} И можно восстановить первоначальное отношение путем соединения.
Слайд 21
X
Y
Z
X X X
Y Y Y
Z Z Z
R
Слайд 23
Третья нормальная форма Схема отношения R находится в третьей нормальной форме (3НФ) относительно множества функциональных зависимостей F, если она находится в 1НФ и ни один из непервичных атрибутов в R не является транзитивно зависимым от ключа для R. Схема базы данных R находится в третьей нормальной форме относительно F, если каждая схема отношения R в R находится в 3НФ относительно F.
15
Многозначные зависимости. Пример X назначение (РЕЙС 106 t3 t2 t1 106 t1 t2 106 t3 106 204 204
Y
Z
ДЕНЬ-НЕДЕЛИ Понедельник Четверг Понедельник Четверг Среда Среда
день (РЕЙС ДЕНЬназначения НЕДЕЛИ) 106 Понедельник 106 Четверг 204 Среда
ТИП-САМОЛЕТА) 747 747 1011 Х–»Y, 1011 Х–»Z 707 727
тип самолета (РЕЙС ТИПназначения САМОЛЕТА) 106 747 106 1011 204 707 204 727
Если в отношении назначение существуют кортежи и , то должен быть кортеж и
16
Слайд 26
Слайд 24
Многозначные зависимости. Пример X назначение (РЕЙС 106 t 106 t32 t1 106 204 204
Y
Z
ДЕНЬ-НЕДЕЛИ Понедельник Четверг Понедельник Среда Среда
ТИП-САМОЛЕТА) 747 747 1011 707 Х–»Y 727
≠ назначение день (РЕЙС ДЕНЬназначения НЕДЕЛИ) 106 Понедельник 106 Четверг 204 Среда
тип самолета (РЕЙС ТИПназначения САМОЛЕТА) 106 747 106 1011 204 707 204 727
Слайд 25
Многозначные зависимости. Свойства • Отношение r(R), где X, Y, Z ⊆ R | Z = R – ( Х Y ), удовлетворяет MV-зависимости Х–»Y тогда и только тогда, когда r без потери информации разлагается в отношения со схемами R1=Х Y и R2=Х Z. • Отношение r(R), где X, Y, Z ⊆ R | Z = R – ( Х Y ), удовлетворяет MV-зависимости Х–»Y, если для каждого X-значения х и Y-значения у в r, таких, что х у принадлежит r, cz [X = x](r) = cz [X Y= x y](r). ( сW [X = х](r) = | πW(σX=x(r)) | )
Слайд 27
Многозначные зависимости Можно показать, что если отношение удовлетворяет MV-зависимости A В –» В С, то оно удовлетворяет MV-зависимости A В –» С r(А В C D) а b с d а b с’ d' а b с d' а b с’ d а b' с’ d а’ b с d'
Для частного случая ∅—»Y r(R) = πY(r)×πZ(r). MV-зависимость Х–»∅ тривиальным образом удовлетворяется для любого отношения со схемой, содержащей X.
17
Многозначные зависимости. Проверка • Проекция-соединение
Для проверки выполнимости MV-зависимости Х—»Y в отношении R проекции r на Х Y и Х(R— ХY) соединяются и результат проверяется на совпадение с r.
r( R) = π XY (r ) >< π X ( R− XY ) (r)
• Сортировка и подсчеты
Для проверки истинности MV-зависимости X—»Y в отношении r(R) 1) положим Z=R-(XY); 2) отсортируем отношение по равным X-значениям; 3) для каждого X-значения подсчитаем число кортежей с этим значением, число различных связанных с ним Yзначений и Z-значений; 4) и наконец, проверим, является ли первое число произведением двух других.
18
Четвертая нормальная форма Слайд 30
Слайд 28
4НФ. Построение
Четвертая нормальная форма Схема отношения R ⊆ U находится в четвертой нормальной форме (4НФ) относительно F, где F – множество F- и MV-зависимостей над U, если для каждой MV-зависимости Х–»Y, выводимой из F и приложимой к R, либо MV-зависимость тривиальна, либо Х является суперключом для R. Схема базы данных R находится в четвертой нормальной форме относительно F, если каждая входящая в нее схема отношения находится в четвертой нормальной форме относительно F.
Дано: множество F из F- и MV-зависимостей. 1. Начав с R, ищем выводимую из F нетривиальную MV-зависимость X—»Y, для которой Х не является ключом R. 2. R разлагаем на два отношения R1=ХY и R2=ХZ, где Z = R — (X Y).
MV-зависимость Х—»Y теперь тривиальна в R1 и неприложима к R2.
Процесс декомпозиции повторяем для той из схем R1 или R2, которая не находится в 4НФ относительно F.
Поскольку используемые MV-зависимости не являются тривиальными, обе возникающие реляционные схемы содержат меньше атрибутов, чем исходные. Таким образом, процесс декомпозиции неизбежно закончится.
Слайд 31
Слайд 29
Четвертая нормальная форма. Примеры • R = РЕЙС ДЕНЬ-НЕДЕЛИ ТИП-САМОЛЕТА F = {РЕЙС–»ДЕНЬ-НЕДЕЛИ, 4НФ РЕЙС–»ТИП-САМОЛЕТА } РЕЙС – не суперключ для R • R = {РЕЙС ДЕНЬ-НЕДЕЛИ, РЕЙС ТИП-САМОЛЕТА} 4НФ F = {РЕЙС–»ДЕНЬ-НЕДЕЛИ, РЕЙС–»ТИП-САМОЛЕТА } • R = ABCDE F={A –» BC, C –» DE} 4НФ • R = {R1, R2}={ABC; CDE} F={A–»BC, C–»DE} 4НФ
19
4НФ. Пример построения Д ан о : F = { А – » В С D , В – » А С , С → D } – м н о ж е ство з ави с и м о стей н а д с х е м о й R = A В С D Е I. 1 . П о ск о л ьку A — » В С D я вл я ется н е тр и ви а л ьн о й M V -зав и си м о стью и п р и это м A н е е сть кл ю ч R , 2 . р а зл а гае м R н а сх е м ы о тн о ш ен и й R 1 = A B C D и R 2 = A E I. С х ем а R 2 н а х о д и тс я в 4 Н Ф о тн о си тел ьн о F . M V -зав и си м о с ть В — » A С н а R н е и с п о л ьз уетс я д л я д еко м п о зи ц и и , п о ско л ьку, в си л у С → D , В е сть кл ю ч д л я R 1 . 1 . Н о и з С → D сл е д уе т M V -зав и си м о с ть С – » D , к о то р ую м о ж н о и с п о л ь зо ва ть в д еко м п о зи ц и и R 1 . 2 . В р е зул ьта те п о л уча ем с х е м ы о тн о ш е н и й R 1 1 = A В С и R 1 2 = C D . О б е сх е м ы н ах о д я тс я в 4 Н Ф о тн о си тел ьн о F . Т аки м о б р аз о м , сх ем а б азы д ан н ы х R = { R 1 1 , R 1 2 , R 2 } н ах о д и тся в 4 Н Ф о тн о си те л ьн о F
20
Задания 1. Выберите любую предметную область, например, кино, театр, музыка, спорт, экономика и пр. Опишите несколько объектов (5–7) и атрибутов (3–5) для каждого объекта, задайте на этих объектах отношения (3–5) и ограничения (или возьмите абстрактные отношения.). 2. В выбранной предметной области выделите: 2.1. F-зависимости, 2.2. MV-зависимости, и приведите конкретные примеры отношений, которые удовлетворяют выделенным зависимостям. 3. Приведите примеры отношений: 3.1. в 1НФ, 3.2. во 2НФ, 3.3. в 3НФ, 3.4. в 4НФ. 4. Постройте реляционную БД для выбранных вами отношений (см. п. 1 данного задания) в 4НФ.
Учебное издание
РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ. НОРМАЛЬНЫЕ ФОРМЫ Рабочая тетрадь Составитель ЕВСЕЕВА Ольга Николаевна Редактор О. А. Фирсова Подписано в печать 20.11.2005. Формат 60×84/16. Бумага офсетная. Печать трафаретная. Усл. п. л. 1,28. Уч.-изд. л. 1,00. Тираж 100 экз. Заказ Ульяновский государственный технический университет 423027, Ульяновск, Сев. Венец, 32. Типография УлГТУ, 432027, Ульяновск, Сев. Венец, 32. 21