УДК 681.3(076) ББК 22.19я7 Р36
Федеральное агентство по образованию Государственное образовательное учреждение высшего ...
27 downloads
200 Views
322KB 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
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования
Ульяновский государственный технический университет
Рецензент профессор кафедры «Вычислительная техника» факультета информационных систем и технологий Ульяновского государственного технического университета В. Н. Негода. Одобрено секцией методических методического совета университета.
пособий
научно-
Реляционная модель данных: рабочая тетрадь №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 схемой отношения является множество РЕЙСЫ = < 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
«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