Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Унарные операции

Реляционная алгебра

Формальное определение реляционной алгебры:

 

 


где

 

 

ri ={t1,t2,…}| tk=(d1,d2,…), dp∈Dj - значение атрибута Ap,

rel(ri)=(A1,A2,...) - схема отношения ri,

∪ - оператор объединения отношений,

∩ - оператор пересечения отношений,

\ - оператор разности отношений,

Ä - оператор прямого произведения отношений,

¬ - оператор дополнения отношения,

δB(r) - оператор выбора кортежа отношения по условию B,

πrel(r) - оператор проекции отношения на новую схему rel,

>< - оператор естественного соединения отношений,

>θ< - оператор θ - соединения отношений,

: - оператор деления отношений.

Задание логических операторов Ψ={&,∨,¬} и операторов сравнения θ={=,≠,>,≥,<, ≤} позволяют формировать условия исполнения алгебраических операций. Совокупность отношений и множества операторов Σ,Ψ,θпредставляют алгебраическую систему:

Мрел=<R, Σ, Ψ, θ>,

где {Σ, Ψ, θ} – сигнатура алгебраической системы,

θ={=, ≠, >, ≥, <, ≤},

Ψ= {&, ∨, ¬}.

Будем далее рассматривать исполнение алгебраических операций над пятью отношениями (ключи подчеркнуты):

 

r1 A1 A2 A3   r2 A1 A2 A3   r3 A1 A4 A5
  а1 b1     а2 b3     а1 с2 d3
а2 b2   а1 b1   а2 с1 d1
а3 b3   а2 b4   а3 с1 d2
а4 b4   а1 b2   а1 с2 d1

 

r4 A4 A5 A6   r5r5 A1 A2 A3 A4 A5 A6
  c2 d3     а1 b1   с2 d3  
c1 d1   а2 b2   с2 d2  
c2 d2   а1 b1   с3 d3  
c3 d3   а2 b2   с2 d1  
        а1 b1   с1 d1  
        а3 b3   с1 d1  
        а3 b3   с3 d3  
        а4 b1   с2 d3  

 

Поскольку наглядно и наиболее удобно представлять отношения таблицами, то исполнение операций проследим в форме таблиц.

Оператор выбора δB(r)позволяет извлекать из отношения r кортежи по условию В и создавать новое отношение: r’=δB(r,В)=t’|t’⊆r, B, rel(r’)=rel(r)}. При исполнении этой операции сохраняется первоначальная схема отношения.

Условия выбора В описывают с помощью арифметических операторов сравнения q={=,≠,>,≥,<,≤} и/или логических операторов Ψ={&,∨,¬} и имеют один из форматов (k – некоторая константа, принадлежащая соответствующему домену):

· B=(Аi=k) означает выбор в заданном отношении кортежей, для которых атрибут Аi имеет значение k;

· B=(Аi≠k) означает выбор в заданном отношении кортежей, для которых атрибут Аi имеет значение, отличное от k;

· В=(Аi>k) означает выбор в заданном отношении кортежей, для которых атрибут Аi имеет значение, большее k;

· В=(Аi≥k) означает выбор в заданном отношении кортежей, для которых атрибут Аi имеет значение, не меньшее k.

Возможно обобщение условия В:

1) B=((Ai,…, Aj,..., Ak)=(ki,…, kj,…, kk)) означает выбор в заданном отношении кортежей, для которых атрибут Ai имеет значение ki, атрибут Aj имеет значение kj, атрибут Ak имеет значение kk.

2) Если условия заданы логическими операторами, то B=(Bi&Bj) означает «выполнить условие Bi и Bj», а B=(Bi∨Bj) – «выполнить условие Bi или Bj» и т. п.

Использование функциональных символов {+,-,*,/} в формировании условий запрещено.

Примеры использования оператора выбора:

1. Выбрать кортежи отношения r1 по значению ключа А1=а2, т.е.сформировать новое отношениеr’1B(r1,(А1=а2)).

Решение:

r’1 A1 A2 A3
  а2 b2  

 

2. Выбрать кортежи отношения r2 по значению атрибута A3=1, т.е. сформировать новое отношение r’2= δB(r2,(А3=1)).

Решение:

r’2 A1 A2 A3
  а2 b3  

 

3. Выбрать кортежи отношения r5 по значениям атрибутов: A1=a1,A2=b1,A3=1, т.е. r’5= δB(r5,((A1=a1)&(A2=b1)&(A3=1))).

Решение:

r’5 A1 A2 A3 A4 A5 A6
  а1 b1   с2 d3  
а1 b1   с3 d3  
а1 b1   с1 d1  

 

Оператор проекции πrel(r)позволяет формировать из данного отношения r со схемой rel(r)=(A1,A2,..,An) новое отношение r’ со схемой rel(r’)=(Ai,Aj,…,Ak), где 1£i,j,k£n, путем удаления и/или переупорядочения атрибутов: πrel(r,Ai,Aj,…,Ak). Т.е. r’=π rel (r)={ t’| |rel(r’)|≤ |rel(r)|}. Число кортежей формируемого отношения равно числу кортежей заданного отношения, т.е. |r’|=|r| (это условие ограничивает область применения данного оператора, распространяя его только на ключевые атрибуты).

Примеры использования оператора проекции:

1. Выбрать только ключи отношения r1, т.е. r’1= πrel(r1,A1).

Решение:

r1' A1
  a1
a2
a3
a4

2. Выбрать только ключи отношения r3, т.е. r’3= πrel(r3,A1,A5).

Результат:

r3' A1 A5
  a1 d3
a2 d1
a3 d2
a1 d1

 

Оператор дополнения ¬r позволяет формировать из данного отношения r новое отношение r’, кортежи которого не совпадают по значению атрибутов с кортежами данного отношения. Для этого необходимо найти множество всех кортежей со схемой заданного отношения rel(r) на области определения D= и удалить из этого множества кортежи заданного отношения r.

Например, найти дополнение для отношения r3, т.е. сформировать r’3=Ør3.

Решение:

1) Сформируем множества значений атрибутов, составляющих отношений r3: D1={a1,a2,a3}, D2={c1,c2}, D3={d1,d2,d3}.

 


2) Определим все комбинации элементов доменов отношения r3:

 

A1 A4 A5
a1 c1 d1
a1 c1 d2
a1 c1 d3
a1 c2 d1
a1 c2 d2
a1 c2 d3
a2 c1 d1
a2 c1 d2
a2 c1 d3
a2 c2 d1
a2 c2 d2
a2 c2 d3
a3 c1 d1
a3 c1 d2
a3 c1 d3
a3 c2 d1
a3 c2 d2
a3 c2 d3

2) Исключим из таблицы размещений кортежи, принадлежащие r3 (выделены курсивом):

A1 A4 A5
a1 c1 d1
a1 c1 d2
a1 c1 d3
a1 c2 d1
a1 c2 d2
a1 c2 d3
a2 c1 d1
a2 c1 d2
a2 c1 d3
a2 c2 d1
a2 c2 d2
a2 c2 d3
a3 c1 d1
a3 c1 d2
a3 c1 d3
a3 c2 d1
a3 c2 d2
a3 c2 d3

 

3) Результат:

r’3 A1 A4 A5
  a1 c1 d1
a1 c1 d2
a1 c1 d3
a1 c2 d2
a2 c1 d2
a2 c1 d3
a2 c2 d1
a2 c2 d2
a2 c2 d3
a3 c1 d1
a3 c1 d3
a3 c2 d1
a3 c2 d2
a3 c2 d3
<== предыдущая лекция | следующая лекция ==>
Основные понятия. Этот раздел классической математической логики используется для формального представления и обработки множества высказываний с одинаковой структурой | Бинарные операции. Оператор объединенияÈ(r1,r2)двух отношений, имеющих одинаковые схемы, формирует новое отношение r’
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 264; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.