- •Резниченко Валерий Анатольевич Организация баз данных и знаний
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
- •Лекция 6. Реляционная алгебра
Резниченко Валерий Анатольевич Организация баз данных и знаний
Лекция 6. Реляционная алгебра
Национальный авиационный университет Факультет компьютерных наук
Кафедра инженерии программного обеспечения
1
Лекция 6. Реляционная алгебра
СОДЕРЖАНИЕ
Языки запросов в БД
Свойства бинарных операций
Операции реляционной алгебры
Примеры
Эквивалентные преобразования и оптимизация выражений реляционной алгебры
ФКН НАУ |
2 |
Лекция 6. Реляционная алгебра
Языки запросов
Язык запросов – это язык, с помощью которого выбирается информация из базы данных.
Категории языков:
процедурные (как получить то, что надо)
непроцедурные (что надо получить)
Формальные языки:
реляционная алгебра
реляционное исчисление (кортежное, доменное)
Формальные языки используются для создания языков запросов баз данных (Alpha, QUEL, QBE, SQL)
ФКН НАУ |
3 |
Лекция 6. Реляционная алгебра
Замкнутость реляционной алгебры и свойства бинарных операций
Алгебра = данные (определенного вида) + операции. Алгебра замкнутая, если операции дают данные того же
вида, что и данные в аргументе. Замкнутость позволяет вкладывать операции друг в друга.
Реляционная алгебра = реляционные отношения + реляционные операции.
Реляционная алгебра замкнута.
Свойства бинарных операций:
Операция является коммутативной, если А В = B A
Операция является ассоциативной, если (А В) С = А (В С)
Операция является дистрибутивной по отношению к операции , если А (В С ) = (А В) (А С)
ФКН НАУ |
4 |
Лекция 6. Реляционная алгебра
Операции реляционной алгебры
Основные операции:
Теоретико-множественные (объединение, пересечение, разность)
Проекция
Селекция (выборка)
Декартово произведение, соединение
Деление
Дополнительные операции
Присвоение
Переименование
Обобщенная проекция
Внешнее соединение
…
ФКН НАУ |
5 |
Лекция 6. Реляционная алгебра
Теоретико-множественные операции
Два отношения R и S совместимы (по объединению), если:
R и S имеют одинаковую степень (арность), то есть одинаковое количество атрибут.
Домены соответствующих атрибутов должны быть совместимыми (1-й атрибут R определен на том же домене, что и 1-й атрибут S, и т.д.) .
Теоретико-множественные операции требуют совместимости их операндов
ФКН НАУ |
6 |
Лекция 6. Реляционная алгебра
Операция объединения
Объединением совместимых отношений R и S со схемами R(A) и S(A), где А – множество атрибутов, называется такое отношение T со схемой Т(A), которое содержит кортежи из обоих объединяемых отношений, однако без повторений.
Т(А) = R(А) S(А) = {t | t R t S}
Операция коммутативна, ассоциативна и дистрибутивна по отношению к пересечению.
Пример:
ФКН НАУ
R A B |
S A B T = R S A B |
|
||||
a1 |
b1 |
a1 |
b1 |
a1 |
b1 |
|
a1 |
b2 |
a2 |
b1 |
a1 |
b2 |
|
a2 |
b3 |
|
|
a2 |
b1 |
|
|
|
|
|
a2 |
b3 |
7 |
|
|
|
|
|
|
Лекция 6. Реляционная алгебра
Операция разности
Разностью совместимых отношений R и S со схемами R(A) и S(A), где А – множество атрибутов, называется такое отношение T со схемой Т(A), которое содержит кортежи из отношения R, которых нет в отношении S.
Т(А) = R(А) S(А) = {t | t R & t S}
Операция не коммутативна, не ассоциативна и не дистрибутивна по отношению к другим операциям.
Пример: |
R A B |
S A B T = R S A B |
|||||
a1 |
b1 |
a1 |
b1 |
a1 |
b2 |
||
|
|||||||
|
a1 |
b2 |
a2 |
b1 |
a2 |
b3 |
|
|
a2 |
b3 |
|
|
|
|
Примечание: В РА на используется теоретико-множественная операция |
|
|
ФКН НАУ |
дополнения!!! |
8 |
|
Лекция 6. Реляционная алгебра
Операция пересечения
|
|
|
|
|
|
Пересечением совместимых отношений R и S со схемами R(A) и |
|
|
|
S(A), где А – множество атрибутов, называется такое отношение T |
|
|
|
со схемой Т(A), которое содержит кортежи, входящие в состав |
|
|
|
обоих отношений. |
|
|
|
|
|
|
|
|
|
|
Т(А) = R(А) S(А) = {t | t R & t S} |
Операция коммутативна, ассоциативна и дистрибутивна по отношению к объединению.
Пример: |
R A |
B |
S A |
B |
T = R S A |
B |
|
a1 |
b1 |
a1 |
b1 |
a1 |
b1 |
|
a1 |
b2 |
a2 |
b1 |
|
|
|
a2 |
b3 |
|
|
|
|
Пересечение выражается через разность: R S = R – (R – S)
ФКН НАУ |
9 |
Лекция 6. Реляционная алгебра
Операция проекции
Проекцией отношения R со схемой R(A), где А – множество атрибутов, по множеству атрибутов В, где В А, называется такое отношение S со схемой S(B), кортежи которого получаются из кортежей отношения R путем удаления значений, не принадле- жащих атрибутам, по которым производится проекция.
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
Проекция обозначается так: |
R[B] |
или В(R) |
|
|
|||
|
S(B) = R[B] = {t[B] t R} |
|
|
|
|
||
|
Пример: |
R A |
B |
C |
R[ A, C ] A |
C |
|
|
|
a1 |
b1 |
c1 |
a1 |
c1 |
|
|
|
a1 |
b2 |
c1 |
a2 |
c1 |
|
|
|
a2 |
b3 |
c1 |
a2 |
c2 |
|
|
|
a2 |
b4 |
c2 |
|
|
|
ФКН НАУ |
Примечание: Дубликаты строк удаляются |
10 |
|