УДК 681.3(076) ББК 22.19я7 Р36
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования
Ульяновский государственный технический университет
Рецензент профессор кафедры «Вычислительная техника» факультета информационных систем и технологий Ульяновского государственного технического университета В. Н. Негода. Одобрено секцией методических методического совета университета.
пособий
научно-
Реляционная модель данных: рабочая тетрадь №1 / сост. Р36 О. Н. Евсеева. – Ульяновск: УлГТУ, 2005. – 32 с.
Реляционная модель данных
Составлена в соответствии с программой курса «Реляционная алгебра». Тетрадь №1 содержит слайды презентаций первого раздела лекционного курса, дополнительные примеры к ним и задания для самостоятельного решения. Данные материалы предназначены для студентов всех форм обучения по специальности 080801 «Прикладная информатика (в экономике)».
Рабочая тетрадь №1 к лекционному курсу по дисциплине «Реляционная алгебра» для студентов дневной формы обучения специальности 080801«Прикладная информатика (в экономике)»
УДК 681.3(076) ББК 22.19я7 Учебное издание РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ Рабочая тетрадь
Составитель О. Н. Евсеева
Составитель ЕВСЕЕВА Ольга Николаевна Редактор О. А. Фирсова Подписано в печать 20.11.2005. Формат 60×84/16. Бумага офсетная. Печать трафаретная. Усл. п. л. 1,86. Уч.-изд. л. 1,60. Тираж 100 экз. Заказ Ульяновский государственный технический университет 423027, Ульяновск, Сев. Венец, 32. Типография УлГТУ, 432027, Ульяновск, Сев. Венец, 32
© Евсеева О.Н., составление, 2005 © Оформление. УлГТУ, 2005
Ульяновск 2005 -1-
2
Основные понятия
Содержание
Отношение и схема отношения Слайд 1
Основные понятия....................................................................... 4 Отношение и схема отношения................................................. 4 Ключи отношения ...................................................................... 6 Обновление отношений ............................................................. 8 Реляционные операторы .......................................................... 10 Булевы операции ...................................................................... 11 Дополнение ............................................................................... 12 Оператор выбора ...................................................................... 14 Оператор проекции .................................................................. 15 Оператор соединения ............................................................... 16 Многократное соединение....................................................... 18 Деление...................................................................................... 20 Переименование ....................................................................... 21 Эквисоединение........................................................................ 22 Сравнение.................................................................................. 23 Расширенный выбор................................................................. 23 θ-соединение ............................................................................. 25 Расщепление ............................................................................. 26 Оператор фактор....................................................................... 27 Реляционная алгебра ................................................................ 28 Схема алгебраического выражения ........................................ 29 Задания ........................................................................................ 31
Основные понятия Ключ K={A1A2} K⊆{A1A2…An}
Отношение
Атрибуты {A1A2…An}
Кортеж
А1 А2 . . . Аn ... ... ... ... a1 a2 ... an ... ... ... ... ... ... ... ...
Слайд 2
Формальные определения Схема отношения R = {A1,A2, …,An}; dom(Ai) = Di, 1≤ i ≤ n; D = D1∪ D2∪ … ∪ Dn. Отношение r со схемой R { t1, t2, …, tp} tj : R → D, 1≤ j ≤ p, t(Ai)∈Di, 1≤ i ≤ n. X-значение кортежа t t(X), X ⊆ R. Таблица 1.1. РЕЙСЫ (расписание авиалинии) НОМЕР ПУНКТОТПРАВЛЕНИЯ 83 Нью-Йорк 84 Чикаго 109 Нью-Йорк 213 Нью-Йорк 214 Бостон
-3-
ПУНКТНАЗНАЧЕНИЯ Чикаго Нью-Йорк Лос-Анджелес Бостон Нью-Йорк
4
ВРЕМЯВЫЛЕТА 11.30 15.00 21.50 11.43 14.20
ВРЕМЯПРИБЫТИЯ 13.43 17.55 2.52 12.45 15.12
Пример 1.1. В табл. 1.1 схемой отношения является множество РЕЙСЫ = <НОМЕР, ПУНКТ-ОТПРАВЛЕНИЯ, ПУНКТНАЗНАЧЕНИЯ, ВРЕМЯ-ВЫЛЕТА, ВРЕМЯ-ПРИБЫТИЯ}. В качестве доменов могут выступать следующие множества: 1. dom (НОМЕР) = множество одно-, двух-, трехзначных целых чисел. 2. dom (ПУНКТ-ОТПРАВЛЕНИЯ) = dom (ПУНКТНАЗНАЧЕНИЯ) = {Нью-Йорк, Чикаго, Лос-Анджелес, Бостон, Атланта}. 3. dom (ВРЕМЯ-ВЫЛЕТА) = dom (ВРЕМЯ-ПРИБЫТИЯ) = множество моментов времени в течение суток. Отношение в табл. 1.1 имеет пять кортежей. Один из них, обозначаемый t, определен как t(НОМЕР)=84, t(ПУНКТОТПРАВЛЕНИЯ) = Чикаго, t(ПУНКТ-НАЗНАЧЕНИЯ) = НьюЙорк, t(ВРЕМЯ-ВЫЛЕТА) = 15.00, t(ВРЕМЯ-ПРИБЫТИЯ) = 17.55. Пример 1.2. Пусть t является кортежем, определенным в примере 1.1. {ПУНКТ-ОТПРАВЛЕНИЯ}-значением кортежа t является t(ПУНКТ-ОТПРАВЛЕНИЯ) = Чикаго. {ПУНКТОТПРАВЛЕНИЯ, ПУНКТ-НАЗНАЧЕНИЯ}-значением t является кортеж t', для которого t'(ПУНКТ-ОТПРАВЛЕНИЯ) = Чикаго, t'(ПУНКТ-НАЗНАЧЕНИЯ) = Нью-Йорк. Этот кортеж обозначается как <Чикаго: ПУНКТ-ОТПРАВЛЕНИЯ, НьюЙорк: ПУНКТ-НАЗНАЧЕНИЯ> или просто <Чикаго, НьюЙорк> в тех случаях, когда порядок атрибутов понятен. Пример 1.3. В табл. 1.1 множества {НОМЕР} и {ПУНКТОТПРАВЛЕНИЯ, ПУНКТ-НАЗНАЧЕНИЯ} являются ключами. Пример 1.4. Схему для отношения, указанного в табл. 1.1, можно записать как РЕЙСЫ [НОМЕР ПУНКТ-ОТПРАВЛЕНИЯ ПУНКТ-НАЗНАЧЕНИЯ ВРЕМЯ-ВЫЛЕТА ВРЕМЯПРИБЫТИЯ].
5
Ключи отношения Слайд 3
Формальные определения Ключ отношения r со схемой R K = {B1, B2, …, Bm} ⊆ R, такой ,что для
t1 ≠ t2 ∃B∈ K : t1(B) ≠ t2(B) т.е. t1(K) ≠ t2(K)
Пример В табл. 1.1 множества {НОМЕР} и {ПУНКТ-ОТПРАВЛЕНИЯ,ПУНКТ-НАЗНАЧЕНИЯ} являются ключами.
Схема отношения R={A1,A2,…,An} R[A1 A2 … An] или A1 A2 … An Отношение r со схемой R r(R) или r(A1 A2 … An) Отношение r со схемой ABCD и ключом AC r(ABCD) или R[ABCD]
Слайд 4
Ключи • Выделенные • Неявные • Первичные Определение 1.1. Ключ отношения r(R) является подмножеством К ⊆ R, таким, что для любых различных кортежей t1 и t2 из r выполняется t1(К)≠t2(К), и ни одно собственное подмножество К' ⊂ К. не обладает этим свойством. Множество К" является суперключом отношения r, если К" содержит ключ отношения r.
6
Обновление отношений Пример 1.5. В табл. 1.1 {НОМЕР} является ключом (и суперключом), а {НОМЕР, ПУНКТ-ОТПРАВЛЕНИЯ} является суперключом, но не является ключом.
Слайд 5
Обновление отношений
Пример 1.6. В табл. 1.1 {ПУНКТ-ОТПРАВЛЕНИЯ, ПУНКТНАЗНАЧЕНИЯ} является ключом отношения. Однако вполне возможно, что могут быть два рейса между одними и теми же пунктами отправления и назначения, хотя они несомненно должны осуществляться в разное время. Следовательно, {ПУНКТ-ОТПРАВЛЕНИЯ, ПУНКТ-НАЗНАЧЕНИЯ, ВРЕМЯВЫЛЕТА} является ключом схемы отношения РЕЙСЫ.
Добавление ADD(r; A1=d1, A2=d2, …, An=dn) ADD(r; d1, d2, …, dn) Удаление DEL(r; DEL(r; A1=d1, A2=d2, …, An=dn) DEL(r; DEL(r; d1, d2, …, dn) DEL(r; DEL(r; B1=e1, B2=e2, …, Bm=em), где {B1, B2, …, Bm}= K (ключ) ключ)
Слайд 6
Обновление отношений
Изменение
CH(r; A1=d1, A2=d2, …, An=dn; C1=e1, C2=e2, …, Cp=ep), где {C1,C2,…,C ,…,Cp} ⊆ {A1,A2,…,An} CH(r; B1=d1, B2=d2, …, Bm=dm; C1=e1, C2=e2, …, Cp=ep), где {B1,B2,…,B ,…,Bm} = K - ключ
7
8
Пример 1.7. Присвоив отношению в табл. 1.1 имя расписание, можно совершить обновление: ADD (расписание; НОМЕР = 117, ПУНКТ-ОТПРАВЛЕНИЯ = Атланта, ПУНКТ-НАЗНАЧЕНИЯ = Бостон, ВРЕМЯ-ВЫЛЕТА = 22.05, ВРЕМЯ-ПРИБЫТИЯ = 0.43). Пример 1.8. Короткая запись примера 1.7 имеет вид ADD (расписание; 117, Атланта, Бостон, 22.05, 0.43) Пример 1.9. Если расписание – это отношение, заданное табл. 1.1, то операция ADD(расписание; НОМЕР = 117, ПУНКТ-ОТПРАВЛЕНИЯ = Атланта, ПУНКТ-НАЗНАЧЕНИЯ = Бостон, ДАТА = 4 марта) не допускается по причине несоответствия схеме отношения. Операция ADD(расписание; НОМЕР = 84, ПУНКТ-ОТПРАВЛЕНИЯ = Чикаго, ПУНКТ-НАЗНАЧЕНИЯ = Нью-Йорк, ВРЕМЯ-ВЫЛЕТА = 25.12, ВРЕМЯ-ПРИБЫТИЯ = 18.00) не допускается по причинам несоответствия добавляемых значений доменам отношения и совпадения по ключу (см. атрибуты ВРЕМЯ-ВЫЛЕТА и НОМЕР).
9
Реляционные операторы
Слайд 7
Реляционные операторы Булевы операции объединение пересечение разность дополнение Выбор Проекция Соединение Деление Переименование Расщепление Фактор
10
Булевы операции
Дополнение
Слайд 8
Слайд 10
Булевы операции
Дополнение
Если r и s – отношения со схемой R, то r∩ s, r∪s и r-s также отношения со схемой R.
dom(R) – множество всех кортежей над атрибутами схемы R и их доменами.
r∩ s – это отношение q(R), содержащее все кортежи, которые принадлежат одновременно r и s;
Дополнение отношения r(R) r =dom(R)–r.
r∪ s – это отношение q(R), содержащее все те кортежи, которые принадлежат или r, или s;
Если r(A1A2…An) – отношение и Di=dom(Ai),
r–s – это отношение, содержащее те кортежи, которые принадлежат r, но не принадлежат s. r ∩ s = r– (r–s)
то активный домен Ai относительно r есть adom(Ai, r)={d∈Di | и ∃t∈r с t(Ai)=d}. Активное дополнение ~r = adom (R, r) – r.
Слайд 9
1 < i < n,
Слайд 11
Булевы операции. Пример
Дополнение. Пример
Пусть r и s – два отношения со схемой ABC: r( A a1 a1 a2
B b1 b2 b1
C ) c1 c1 c2
s( A a1 a2 a2
B b2 b2 b3
C ) c1 c1 c2
B b1 b2 b1 b2 b3
C ) c1 c1 c2 c1 c2
r( A a1 a1 a2
Результаты операций r∩ s, r∪s и r-s r∩ s = ( A B C ) a1 b2 c1
r∪s = ( A a1 a1 a2 a2 a2
11
r-s = ( A B C ) a1 b1 c1 a2 b1 c2
dom(R)=( A a1 a1 a1 a1 a1 a1 a2 a2 a2 a2 a2 a2
B b1 b1 b2 b2 b3 b3 b1 b1 b2 b2 b3 b3
C ) c1 c2 c1 c2 c1 c2 c1 c2 c1 c2 c1 c2
B b1 b2 b1
C ) c1 c1 c2
r = dom(R) – r = ( A a1 a1 a1 a1 a2 a2 a2 a2 a2
12
B b1 b2 b3 b3 b1 b2 b2 b3 b3
C ) c2 c2 c1 c2 c1 c1 c1 c1 c2
Оператор выбора Слайд 13
Оператор выбора Пусть r – отношение со схемой R, А – атрибут в R и а – элемент из dот(А).
Слайд 12
σA=a(r) = r'(R) = {t ∈ r | t(A) = а}
Активное дополнение. Пример r( A a1 a1 a2
adom(R) = ( A a1 a1 a1 a1 a2 a2 a2 a2
B b1 b1 b2 b2 b1 b1 b2 b2
B b1 b2 b1
расписание(НОМЕР ПУНКТПУНКТОТПРАВЛЕНИЯ НАЗНАЧЕНИЯ 84 Чикаго Нью-Йорк 109 Нью-Йорк Лос-Анджелес 117 Атланта Бостон 213 Нью-Йорк Бостон 214 Бостон Нью-Йорк
C ) c1 c1 c2
~ r = adom (R, r) – r = ( A a1 a1 a2 a2 a2
C ) c1 c2 c1 c2 c1 c2 c1 c2
B b1 b2 b1 b2 b2
C ) c2 c2 c1 c1 c1
σПУНКТ-ОТПРАВЛЕНИЯ=Нью(расписание)= ( НОМЕР 109 213
Йорк
ПУНКТОТПРАВЛЕНИЯ Нью-Йорк Нью-Йорк
ВРЕМЯВЫЛЕТА 15.00 21.40 22.05 11.43 14.20
ПУНКТНАЗНАЧЕНИЯ Лос-Анджелес Бостон
ВРЕМЯ) ПРИБЫТИЯ 17.55 2.42 0.43 12.45 15.12
ВРЕМЯВЫЛЕТА 21.40 11.43
ВРЕМЯПРИБЫТИЯ ) 2.42 12.45
Слайд 14
Оператор выбора. Свойства • Композиция операторов выбора коммутативна: r(R) – отношение, А и В – атрибуты в R, и а∈dот(А), b∈dom(В).
σA=a(σB=b(r)) = σB=b(σA=a(r)) • Оператор выбора дистрибутивен относительно бинарных булевых операций: σA=a(r ϒ s) = σA=a(r) ϒ σA=a(s), где ϒ∈{∩, ∪, –}, r, s – отношения над одной и той же схемой. • Операции выбора и дополнения не коммутируют: σA=a( ~r ) ≠ σ A= a (r ).
13
14
Оператор проекции
Оператор соединения
Слайд 15
Слайд 17
Оператор проекции
Соединение отношений r и s -
Пусть r – отношение со схемой R и Х – подмножество из R.
πX(r) = r'(X) = {t(X) | t ∈ r} расписание(НОМЕР ПУНКТОТПРАВЛЕНИЯ 84 Чикаго 109 Нью-Йорк 117 Атланта 213 Нью-Йорк 214 Бостон
ПУНКТНАЗНАЧЕНИЯ Нью-Йорк Лос-Анджелес Бостон Бостон Нью-Йорк
ВРЕМЯВЫЛЕТА 15.00 21.40 22.05 11.43 14.20
Оператор соединения
ВРЕМЯ) ПРИБЫТИЯ 17.55 2.42 0.43 12.45 15.12
π{ВРЕМЯ -ВЫЛЕТА , ВРЕМЯ -ПРИБЫТИЯ }(расписание) = (ВРЕМЯ-ВЫЛЕТА ВРЕМЯ-ПРИБЫТИЯ) 15.00 17.55 21.40 2.42 22.05 0.43 11.43 12.45 14.20 15.12
Слайд 16
Оператор проекции. Свойства • Поглощение: для данного r(R) и Y ⊆ Х ⊆ R справедливо πY(πX(r)) = πY(r). Аналогично для последовательности проекций: если Х1 ⊆ X2…⊆ Xm ⊆ …⊆ R, то
r >< s =q(T)={t∈ ∈Т | ∃(tr∈r и ts∈s) с tr=t(R) и ts=t(S)}. (R∩S⊆R и R∩S⊆S, tr(R∩S) = ts(R∩S))
Таким образом, каждый кортеж в q является комбинацией кортежа из r и кортежа из s с равными (R∩S)-значениями. пригодность (РЕЙС 83 83 84 84 109
ТИП-САМ ОЛЕТА) 727 747 727 747 707
варианты (РЕЙС 83 83 83 83 84 84 84 84 109
ТИ П-САМ ОЛЕТА 727 727 747 747 727 727 747 747 707
ПИЛ ОТ) Симоне Хилл Барт Хилл Симоне Хилл Барт Хилл Симоне
Для того чтобы иметь список, показывающий, какие пилоты могут быть использованы для каждого рейса, сначала создадим отношение варианты со схемой (РЕЙС, ТИП-САМОЛЕТА, ПИЛОТ) из отношений пригодность и право комбинированием строк с одним и тем же значением для ТИП-САМОЛЕТА. Отношение варианты, являющееся соединением отношений пригодность и право, показано в табл. (см. на слайде 17).
πX1(πX2(…(πXm(r))…)) = πX1(r).
• Проекция коммутирует с выбором: Если А ∈ X, Х ⊆ R и r – отношение со схемой R, то πX(σA=a(r)) = σA=a(πX(r)). • Связь с булевыми операциями: ?!! ? πX(σA=a(r ∩ s)) = σA=a( πX(r) ∩ πX(s) ); πX(r ) = π X (r ) . πX(σA=a(r ∪ s)) = σA=a( πX(r) ∪πX(s) ); πX(σA=a(r – s)) = σA=a( πX(r) – πX(s) );
15
право (ПИЛОТ ТИП-САМОЛЕТА) Симоне 707 Симоне 727 Барт 747 Хилл 727 Хилл 747
16
Многократное соединение Слайд 19 22 Слайд 20
Многократное соединение. Свойства • Отношение s1 ><s2 ><...><sm состоит из всех кортежей t, которые являются результатом соединения соединимых на S = S1, S2, ..., Sm кортежей t1 ∈S1, t2 ∈ S2, …, tm ∈ Sm. • Отношения s1, s2, ..., sm полностью соединимы, если каждый кортеж в каждом отношении является членом некоторого списка соединимых на S кортежей.
Слайд 18
Оператор соединения. Свойства • Если R ∩ S = ∅, то r >< s = r × s, где под декартовым произведением понимается изоморфное множество RSкортежей. r(А В) r >< s =( A В C D) s(C D) a1 b1 a2 b1
c1 d1 c2 d1 c2 d2
a1 a1 a1 a2 a2 a2
b1 b1 b1 b1 b1 b1
c1 c2 c2 c1 c2 c2
d1 d1 d2 d1 d1 d2
s 1 (A В)
s2 (B C)
s3 (A С)
a 1 b1 a 1 b2 a 2 b1
b1 c 2 b2 c 1
a1 c1 a1 c2 a2 c2
• Имитация выбора: Чтобы для r(R) найти σA=a(r), определим отношение s(A)={t| t(A)=а}. Тогда r >< s =σA=a(r), (R∩A = A). • Обобщение выбора: Введем s(A) с k кортежами t1,t2,...,tk, где ti(А)=аi, и аi∈dom(А), 1≤i≤k. Тогда r >< s =σ (r)∪σ (r)∪…∪ σ (r). A=a1 A=a2 A=ak • Соединение коммутативно и ассоциативно: ( q >< r ) >< s = q >< ( r >< s ). r >< s = s >< r ,
Слайд 21
17
18
s1 >< s2 >< s3 = ( A B C )
а 1b 1с 2 а 1b 2с 1 а 2b 1с 2
Многократное соединение. Свойства • r(R) и s(S) – отношения, q = r >< s и RS – схема отношения q. r' = πR(q). Тогда r' ⊆ r. (r' ⊂ r)
(r' = r)
r(A B) a b' a' b r(A B) a b' a' b
s(B C) b c
r >< s = q(A B C) a b c
πAB(q) = r(A B) a b
s(B C) b c b' c'
r >< s = q(A B C) a b c a b' c'
πAB(q) = r(A B) a b a b'
Деление Слайд 22
Оператор деления Определение 3.1. Пусть r(R) и s(S) – отношения, S ⊆ R. Положим R'=R–S. Тогда r, разделенное на s, – это отношение r'(R')={t|для каждого кортежа ts∈ s существует кортеж tr∈ r, такой, что tr(R')=t и tr(S)=ts}.
• процедура проекция-соединение идемпотентна: результат первого ее применения совпадает с результатом второго ее применения. • r и r' – отношения со схемой R и s(S),
право (ПИЛОТ ТИП-САМОЛЕТА) Десмонд 707 Десмонд 727 Десмонд 747 Дойл 707 Дойл 727 tr(R')=t Девис 707 Девис 727 Девнс 747 Девис 1011 Дау 727
( r ∪ r ' ) >< s = ( r >< s ) ∪ ( r ' >< s )
Требуется найти тех пилотов, которые имеют право управлять всеми типами самолетов из некоторого множества. q(ТИП-САМОЛЕТА) 707 727 747
s(ТИП-САМОЛЕТА) 707
право÷ s = s' (ПИЛОТ) Десмонд Доил Девис
право÷q = q' (ПИЛОТ) Десмонд Девис
Слайд 23
Оператор деления. Свойства r(R) и s(S) – отношения со схемами R ⊇ S, R' = R – S.
• r ÷ s = πR' (r) – πR' ((πR' (r) >< s) – r); • r ÷ s = πR' (σS=t(r)).
19
20
Переименование
Эквисоединение
Слайд 24
Слайд 26
Оператор переименования Оператор эквисоединения
• r(R), А∈R, В∉R–А; R'=[R–А]В; dom(A)=dom(B); отношение r с атрибутом А, переименованным в В, обозначаемое как δA← ←B(r), есть отношение
r(R) и s(S), Ai∈R, Bi∈S и dom(Ai)=dom(Bi), 1≤ i≤ m; Ai и Bi не предполагаются различными. Эквисоединением r и s по A1,A2,...,Am и B1,B2,...,Bm называется отношение
r'(R') = { t' | ∃ t ∈ r с t'(R–A)=t(R–А) и t'(B)=t(A) }. • r(R), А1... Аk ∈R, В1...Вk∉R–(А1... Аk ); Ai≠Aj, i≠j; R'=[R–А1... Аk ] В1...Вk; dom(Ai)=dom(Bi), 1≤ i≤ т;
q(RS)={t | ∃ tr∈r и ts∈s с t(R)=tr и t(S)=ts и t(Ai)=t(Вi), 1≤ i≤ m}.
q(RS) = r [A1=B1,A2=B2,...,Am=Bm] s.
δA1…Ak← ←B1…Bk(r).
Слайд 25
Слайд 27
Оператор переименования. Пример δ {РЕЙС
использование НОМЕР САМОЛЕТА)
ДАТА
(РЕЙС
12 12 13 26 26 27 27 60 60
6 янв. 7 янв. 6 янв. 6 янв. 7 янв. 6 янв. 7 янв. 6 янв. 7 янв.
s = π {РЕЙС,РЕЙС2}
(РЕЙС2
707 -82 707 -82 707 -82 747 -16 747 -18 747 -16 747 -2 707 -82 727 -6
(( использование
← РЕЙС2}
ДАТА
ЙС ← РЕЙС2}
s( какие рейсы по расписанию используют один и тот же самолет в один и тот же день?
21
НОМЕР САМОЛЕТА)
6 янв. 7 янв. 6 янв. 6 янв. 7 янв. 6 янв. 7 янв. 6 янв. 7 янв.
12 12 13 26 26 27 27 60 60
) >< δ {РЕ
(использование
(использование
РЕЙС
РЕЙС2)
12 12 12 13 13 13 26 26 27 27 60 60 60
12 13 60 12 13 60 26 27 26 27 12 13 60
707 - 82 707 - 82 707 - 82 747 - 16 747 - 18 747 - 16 747 -2 707 - 82 727 -6
))
)
Оператор эквисоединения. Пример маршрут ( НОМЕР ПУНКТПУНКТОТПРАВЛЕНИЯНАЗНАЧЕНИЯ) 84 Чикаго Нью-Йорк 109 Нью-Йорк Лос-Анджелес 117 Атланта Бостон 213 Нью-Йорк Бостон 214 Бостон Нью-Йорк
адрес (ПИЛОТ АЭРОПОРТ) Терхьюн Темпл Тейлор Тарбелл Тодд Трумен
Нью-Йорк Атланта Атланта Бостон Лос-Анджелес Чикаго
может-лететь= маршрут [ ПУНКТ-ОТПРАВЛЕНИЯ = АЭРОПОРТ]адрес может-лететь(НОМЕР ПУНКТОТПРАВЛЕНИЯ 84 Чикаго 109 Нью-Йорк 117 Атланта 117 Атланта 213 Нью-Йорк 214 Бостон
22
ПУНКТНАЗНАЧЕНИЯ Нью-Йорк Лос-Анджелес Бостон Бостон Бостон Нью-Йорк
ПИЛОТ
АЭРОПОРТ)
Трумен Терхьюн Темпл Тейлор Терхьюн Тарбелл
Чикаго Нью-Йорк Атланта Атланта Нью-Йорк Бостон
Сравнение Слайд 28
Слайд 30
Сравнения на доменах
Расширенный выбор. Пример 1
Θ={=, ≠, <, ≤, ≥, >}.
время (НОМЕР ВРЕМЯ-ВЫЛЕТА ВРЕМЯ-ПРИБЫТИЯ) 84 15.00 17.55 109 11.40 2.42 117 22.05 0.43 213 11.43 12.45 214 14.20 15.12
Если θ∈Θ, а A и В — атрибуты, то A θ-сравним с В, если знаку θ сопоставлено бинарное отношение в dom(A)×dom(В). A θ-сравним, то есть A θ-сравним сам с собой. Каждый атрибут A сравним по «=» и по «≠».
σВРЕМЯ-ПРИБЫТИЯ≤13-00(время) = (НОМЕР ВРЕМЯ-ВЫЛЕТА ВРЕМЯ-ПРИБЫТИЯ) 109 21.49 2.42 117 22.05 0.43 213 11.43 12.45
Расширенный выбор Слайд 31
Слайд 29
Расширенный выбор • σAθθa, где θ∈Θ.
Если r(R), А∈R, а∈dom(В), A и В θ-сравнимы, то σAθa(r) = {t∈r | t(A)θа} ( t(A)θа = θ(t(A), а)).
• σAθθB(r), где θ∈Θ.
Если r(R), где A∈ R и В∈ R, A и В θ-сравнимы. Тогда σAθB(r) = {t∈r | t(A)θ t(В)}.
• Свойства расширенного выбора
Расширенный выбор. Пример 2 время (НОМЕР 84 109 117 213 214
ВРЕМЯ -ВЫЛЕТА ВРЕМЯ-ПРИБЫТИЯ) 15.00 17.55 17.55-15.00=2.55 > 2 11.40 2.42 2.42-11.40=8.02 > 2 22.05 0.43 0.43-22.05=2.38 > 2 11.43 12.45 12.45-11.43=1.02 < 2 14.20 15.12
15.12-14.20=1.08 < 2
«<<» – сравнение моментов времени суток, означающее: «предшествует по крайней мере на два часа». σВРЕМЯ -ВЫЛЕТА << ВРЕМЯ - ПРИБЫ ТИЯ(время)= (НОМЕР ВРЕМЯ -
– порядок выбора не существенен
84 109 117
σA≤a(σB>D(σC=c(r))) = σA≤a,B>D,C=c(r);
– допускаются логические связки «и», «или», «не»
σ((A=a)∨(A>c))∧(B≠b)(r).
23
24
ВЫЛЕТА 15.00 21.55 22.05
ВРЕМЯ ПРИБЫТИЯ) 17.55 2.42 0.43
θ-соединение
Расщепление
Слайд 32
Слайд 34
Оператор θ-соединения
Оператор расщепления
r(R) и s(S) – два отношения, для которых R∩S=∅, и атрибуты A∈R и В∈S θ-сравнимы для θ∈Θ. Тогда r[Aθ θB] обозначает отношение
Аргументом оператора расщепления является одно отношение, а результатом – пара отношений Даны r(R), и β(t) – предикат на кортежах над R.
(предикат на произвольном множестве Х – это отображение из Х в множество {И, Л}, или {T, F}).
q(RS) = { t | для tr∈r и для ts∈s, таких, что tr(A)θts(B), t(R)= tr и t(S)= ts }.
Расщеплением r по β, SPLITβ(r), называется пара отношений (s, s'), оба со схемой R, такие, что s={t∈r | β(t)=И} и s'={t∈r | β(t)=Л}. (s'=r– s).
Несколько сравнений записываются как
r [А1<В1, А2=В2, A3≥ B2] s.
Значения предиката β должны зависеть только от кортежа t, но не от состояния r.
Любое такое соединение называется θ-соединением.
(Эквисоединение является частным случаем θ-соединения).
Слайд 35
Слайд 33
Оператор θ-соединения. Пример Рейсы между городами а и b
Рейсы между городами b и с
время-аb (НОМЕР ВРЕМЯ*60 91 112 306 420
ВРЕМЯВЫЛЕТА ПРИБЫТИЯ) 9.40 11.45 12.50 14.47 16.05 18.15 20.30 22.25 21.15 23.11
время-bс (НОМЕР ВРЕМЯ11 60 156 158
ВРЕМЯВЫЛЕТА ПРИБЫТИЯ) 8.30 9.52 12.25 13.43 16.20 17.40 19.10 20.35
транзит-ас = время-аb [ВРЕМЯ-ПРИБЫТИЯ < ВРЕМЯ-ВЫЛЕТА'] время'-bс, где время'-bс = δНОМЕР,ВРЕМЯ-ПРИБЫТИЯ,ВРЕМЯ-ВЫЛЕТА← ←НОМЕР',ВРЕМЯ-ПРИБЫТИЯ',ВРЕМЯ-ВЫЛЕТА'(время-bс)
Транзитные рейсы между городами а и с через город b ВРЕМЯ- ВРЕМЯтранзит-ас ( HOMEР ВЫЛЕТА ПРИБЫТИЯ 60 9.40 11.45 60 9.40 11.45 60 9.40 11.45 91 12.50 14.47 91 12.50 14.47 112 16.05 18.15
25
ВРЕМЯ- ВРЕМЯHOMEР' ВЫЛЕТА' ПРИБЫТИЯ' ) 60 12.25 13.43 156 16.20 17.40 158 19.10 20.35 156 16.20 17.40 158 19.10 20.35 158 19.10 20.35
Оператор расщепления. Пример право (ПИЛОТ ТИП-САМОЛЕТА) Десмонд 707 Десмонд 727 Десмонд 747 Дойл 707 Дойл 727 Девис 707 Девис 727 Девнс 747 Девис 1011 Дау 727
s (ПИЛОТ ТИП-САМОЛЕТА) Десмонд 707 Десмонд 727 Дойль 707 Дойль 727 Девис 707 Девис 727 Дау 727
26
β(t) = ( t(ТИПСАМОЛЕТА)=707 или t(ТИП-САМОЛЕТА)=727)
SPLITβ(право)=(s,s')
s' (ПИЛОТ ТИП-САМОЛЕТА) Десмонд 747 Девис 747 Девис 1011
Оператор фактор
Реляционная алгебра
Слайд 36
Слайд 38
Реляционная алгебра
Оператор фактор
U – множество атрибутов (универсум), D – множество доменов, dom: U→D – полная функция из U в D, R = {R1,R2,...,Rp} – множество различных схем отношений, где Ri ⊆ U для 1 ≤ i ≤ р, d = {r1,r2,...,rр} – множество таких отношений, что ri есть отношение со схемой Ri, 1 ≤ i ≤ р. Θ — множество бинарных отношений над доменами из D, содержащее по крайней мере отношения = и ≠ для каждого домена.
Аргументом оператора фактор является одно отношение, а результатом – пара отношений. В результате соединения этих двух отношений получается отношение, содержащее исходное отношение с дополнительным столбцом. Если r(R); В1,В2,...,Вm∈R, а L ∉ R, то FACTOR(r; В1,В2,...,Вm; L) обозначает оператор, который удаляет столбцы, соответствующие В1,В2,...,Вm из r для образования нового отношения и добавляет в r и в новое отношение особый столбец, помеченный как L, причем по L осуществляется соединение.
Реляционной алгеброй над U, D, dom, R, d и Θ называется 7-местный кортеж R=(U,D,dom,R,d,Θ,O), где О – множество операторов объединения, пересечения, разности, активного дополнения, проекции, естественного соединения, деления, переименования, использующего атрибуты из U, выбора, использующего отношения из Θ.
Слайд 39
Слайд 37
Выражения
Оператор фактор. Пример список (ПАССАЖИР КЛАСС Салазар Шик Шокли Стьюарт Сейрз Сандз Сакс
первый первый второй первый второй второй второй
список 1 (ПАССАЖИР METКА) Салазар 1 Шик 2 Шокли 4 Стьюарт 1 Сейрз 4 Сандз 4 Сакс 3
КУРЯЩИЙ) да нет нет да нет нет да
выражением над R называется любое выражение, правильно построенное (согласующееся с ограничениями, наложенными на операторы) из отношений, принадлежащих d, и постоянных отношений со схемами из U, использующих операторы из О. Допускаются круглые скобки и предполагается, что одни бинарные операторы не обладают преимуществом над другими, за исключением обычного преимущества ∩ над ∪, для последовательностей отношений, связанных одним и тем же оператором, если эта операция является ассоциативной, скобки можно опускать, но два отношения с одной и той же схемой не допускаются.
Алгебраическим FACTOR(список; КЛАСС,КУРЯЩИЙ; МЕТКА)
список 2 (МЕТКА КЛАСС 1 первый 2 первый 3 второй 4 второй
КУРЯЩИЙ) да нет да нет
список = π{ПАССАЖИР, КЛАСС, КУРЯЩИЙ}(список1 >< список2)
27
28
Схема алгебраического выражения Слайд 40
Схема алгебраического выражения Схема отношения-результата sch(E) зависит от схем множества отношений, составляющих алгебраическое выражение Е, и определяется рекурсивно: 1. Если Е есть ri, то sch(Е) является схемой отношения ri. ~ 2. Если Е = E1 ∪ E2, E1 ∩ E2, E1 – E2, E1 или σC(Е1), где С – это некоторое множество условий, то sch(Е) = sch(Е1). 3. Если Е = πX(E1), то sch(Е) = X. 4. Если Е = E1 ÷ E2, то sch(Е) = sch(E1) – sch(E2). 5. Если Е = E1 >< E2 или E1 [C] E2, для некоторого множества условий С, то sch(Е) = sch(E1) ∪ sch(Е2 ). 6. Если EA1, A2, ..., Ak←B1, B2, ..., Bk(E1), то sch(Е) = (sch(E1) –A1A2 …Ak)B1B2 ... Bk.
Слайд 42
Алгебры Реляционная алгебра над U, D, dom, R, d и Θ - кортеж R=(U, D, dom, R, d, Θ, O), где О – множество операторов объединения, пересечения, разности, активного дополнения, проекции, естественного соединения, деления, переименования, использующего атрибуты из U, выбора, использующего отношения из Θ.
Реляционная алгебра с дополнением – реляционная алгебра, где
Слайд 41
множество операторов О содержит и оператор дополнения
Отображение
Минимальное множество операторов О состоит из выбора с 1 сравнением, естественного соединения, проекции, объединения, разности и переименования.
Если Е является алгебраическим выражением, в которое входят имена отношений s1, s2, ..., sq, соответствующие схемам S1, S2, ..., Sq, то Е является отображением Е: Rel(S1) × Rel(S2) × ... × Rel(Sq) → Rel(sch(E)), где Rel(R) – множество всех отношений со схемой R. Обозначают Е(s1, s2, ..., sq) для значения Е на множестве отношений с именами s1, s2, ..., sq.
29
30
Задания 1. Вберите любую предметную область, например, кино, театр, музыка, спорт, экономика и пр. Опишите несколько объектов (5–7) и атрибутов (3–5) для каждого объекта, задайте на этих объектах отношения (3–5) и ограничения (или возьмите абстрактные отношения.). 2. Для выбранных отношений определите: 2.1. имена и схемы отношений, 2.2. домены для всех атрибутов отношений и домены самих отношений, 2.3. все первичные ключи отношений и их суперключи. 3. Продемонстрируйте выполнение булевых операций на выбранных отношениях (при необходимости вводите новые подходящие отношения): 3.1. операции «пересечение», 3.2. операции «объединение», 3.3. операции / - «разность», 3.4. операции «дополнение», 3.5. операции «активное дополнение». 4. Продемонстрируйте выполнение других операций реляционной алгебры на выбранных отношениях (при необходимости вводите новые подходящие отношения): 4.1. операции «выбор», 4.2. операции «проекция», 4.3. операции «соединение» всех видов, 4.4. операции «естественное соединение», 4.5. операции «эквисоединение», 4.6. операции «тетта-соединение», 4.7. операции «многократное соединение», 4.8. операции «деление», 4.9. операции SPLIT – «расщепление», 4.10. операции FACTOR – «фактор».
31
.