Основы реляционной алгебры

Содержание

Слайд 3

Реляционная алгебра и СУБД

Доступ к реляционным данным осуществляется при помощи реляционной алгебры.

Реляционная алгебра и СУБД Доступ к реляционным данным осуществляется при помощи реляционной

В реализациях конкретных реляционных СУБД сейчас не используется в чистом виде ни реляционная алгебра, ни реляционное исчисление. Фактическим стандартом доступа к реляционным данным стал язык SQL (Structured Query Language)

Слайд 4

Язык SQL представляет собой смесь операторов реляционной алгебры и выражений реляционного исчисления,

Язык SQL представляет собой смесь операторов реляционной алгебры и выражений реляционного исчисления,
использующий синтаксис, близкий к фразам английского языка и расширенный дополнительными возможностями, отсутствующими в реляционной алгебре и реляционном исчислении. Вообще, язык доступа к данным называется реляционно-полным, если он по выразительной силе не уступает реляционной алгебре, т.е. любой оператор реляционной алгебры может быть выражен средствами этого языка. Именно таким и является язык SQL.

Реляционная алгебра и язык SQL

Слайд 5

С точки зрения внешнего представления объектов реального мира модель данных — это

С точки зрения внешнего представления объектов реального мира модель данных — это
основные понятия и способы, используемые при анализе и описании предметной области. Среди многих попыток представить обработку данных на формальном абстрактном уровне реляционная модель, предложенная Э. Ф. Коддом, стала по существу первой работоспособной моделью данных, поскольку помимо средств описания объектов имела эффективный инструментарий преобразований этих описаний — операции реляционной алгебры.

Операции реляционной алгебры

Слайд 6

Практически все операторы реляционной модели предназначены для организации запросов к БД в

Практически все операторы реляционной модели предназначены для организации запросов к БД в
терминах отношений. Эти запросы относятся к включению, соединению, выборке кортежей соответствующих отношений. Традиционно определяют восемь реляционных операторов, объединенных в две группы.

Операторы реляционной алгебры

Слайд 7

Теоретико-множественные операторы: • Объединение • Пересечение • Вычитание • Декартово произведение Специальные реляционные операторы: • Выборка • Проекция

Теоретико-множественные операторы: • Объединение • Пересечение • Вычитание • Декартово произведение Специальные
• Соединение • Деление

Операторы реляционной алгебры

Слайд 8

Не все они являются независимыми, т.е. некоторые из этих операторов могут

Не все они являются независимыми, т.е. некоторые из этих операторов могут быть
быть выражены через другие реляционные операторы.

Слайд 9

Отношения, совместимые по типу

Некоторые реляционные операторы (например, объединение) требуют, чтобы отношения

Отношения, совместимые по типу Некоторые реляционные операторы (например, объединение) требуют, чтобы отношения
имели одинаковые заголовки. Действительно, отношения состоят из заголовка и тела. Операция объединения двух отношений есть просто объединение двух множеств кортежей, взятых из тел соответствующих отношений. Но будет ли результат отношением?

Слайд 10

Во-первых, если исходные отношения имеют разное количество атрибутов, то, очевидно, что множество,

Во-первых, если исходные отношения имеют разное количество атрибутов, то, очевидно, что множество,
являющееся объединением таких разнотипных кортежей нельзя представить в виде отношения. Во-вторых, пусть даже отношения имеют одинаковое количество атрибутов, но атрибуты имеют различные наименования. Как тогда определить заголовок отношения, полученного в результате объединения множеств кортежей?

Отношения, совместимые по типу

Слайд 11

В-третьих, пусть отношения имеют одинаковое количество атрибутов, атрибуты имеют одинаковые наименования, но

В-третьих, пусть отношения имеют одинаковое количество атрибутов, атрибуты имеют одинаковые наименования, но
определенны на различных доменах. Тогда снова объединение кортежей не будет образовывать отношение.

Отношения, совместимые по типу

Слайд 12

Определение. Будем называть отношения совместимыми по типу, если они имеют идентичные заголовки,

Определение. Будем называть отношения совместимыми по типу, если они имеют идентичные заголовки,
а именно: 1. Отношения имеют одно и то же множество имен атрибутов, т.е. для любого атрибута в одном отношении найдется атрибут с таким же наименованием в другом отношении. 2. Атрибуты с одинаковыми именами определены на одних и тех же доменах (или типах, если домены не поддерживаются).

Слайд 13

Некоторые отношения не являются совместимыми по типу, но после переименования атрибутов могут

Некоторые отношения не являются совместимыми по типу, но после переименования атрибутов могут
ими стать, для этого можно использовать вспомогательный оператор переименования атрибутов.

Отношения, не совместимые по типу

Слайд 14

Теоретико-множественные операторы

Объединением двух совместимых по типу отношений А и В называется

Теоретико-множественные операторы Объединением двух совместимых по типу отношений А и В называется
отношение с тем же заголовком, что и у отношений А и В, и телом, состоящим из совокупности кортежей обоих отношений.
Синтаксис операции:
A UNION B

1

Слайд 15

Замечание. Объединение, как и любое отношение, не может содержать одинаковых кортежей. Поэтому,

Замечание. Объединение, как и любое отношение, не может содержать одинаковых кортежей. Поэтому,
если некоторый кортеж входит и в отношение А, и отношение В, то в объединение он входит один раз.

Теоретико-множественные операторы

Слайд 16

Объединение

А

B

Объединение А B

Слайд 17

Пример 1. Пусть даны два отношения А (таблица 1) и В (таблица

Пример 1. Пусть даны два отношения А (таблица 1) и В (таблица
2) с информацией о сотрудниках:

Объединение

Слайд 18

Пересечением двух совместимых по типу отношений А и В называется отношение с

Пересечением двух совместимых по типу отношений А и В называется отношение с
тем же заголовком, что и у отношений А и В, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям. Синтаксис операции: A INTERSECT B

Теоретико-множественные операторы

2

Слайд 19

Пересечение

А

B

Пересечение А B

Слайд 20

Пример 2. Для исходных отношения А и отношения В пересечение примет вид:

Пересечение

Пример 2. Для исходных отношения А и отношения В пересечение примет вид: Пересечение

Слайд 21

Вычитанием двух совместимых по типу отношений А и В называется отношение с

Вычитанием двух совместимых по типу отношений А и В называется отношение с
тем же заголовком, что и у отношений А и В, и телом, состоящим из кортежей, принадлежащих отношению А и не принадлежащих отношению В. Синтаксис операции: A MINUS B

Теоретико-множественные операторы

3

Слайд 22

Вычитание

А

B

A MINUS B

Вычитание А B A MINUS B

Слайд 23

Вычитание

А

B

В MINUS А

Вычитание А B В MINUS А

Слайд 24

Пример 3. Для исходных отношений А и В результат вычитания примет вид:

Вычитание

Пример 3. Для исходных отношений А и В результат вычитания примет вид: Вычитание (А MINUS B)
(А MINUS B)

Слайд 25

Декартовым произведением двух отношений А и В называется отношение С, полученное сцеплением

Декартовым произведением двух отношений А и В называется отношение С, полученное сцеплением
их заголовков и кортежей соответствующих отношений, причем каждому кортежу отношения А должны быть противопоставлены все кортежи отношения В. Синтаксис операции: A TIMES B

Теоретико-множественные операторы

4

Слайд 26

Декартово произведение

Декартово произведение

Слайд 27

Пример 4. Пусть даны два отношения C и D с информацией о

Пример 4. Пусть даны два отношения C и D с информацией о поставщиках и деталях.
поставщиках и деталях.

Слайд 28

Декартово произведение

Декартово произведение

Слайд 29

Замечания: 1. Мощность произведения A TIMES B равна произведению мощностей отношений А

Замечания: 1. Мощность произведения A TIMES B равна произведению мощностей отношений А
и В, т.к. каждый кортеж отношения А соединяется с каждым кортежем отношения В. 2. Если в отношениях А и В имеются атрибуты с одинаковыми именами, то перед выполнением операции такие атрибуты необходимо переименовать.

Теоретико-множественные операторы

Слайд 30

3. Перемножать можно любые два отношения, совместимость по типу при этом не

3. Перемножать можно любые два отношения, совместимость по типу при этом не
требуется. 4. Декартово произведение не дает никакой новой информации, по сравнению с предыдущими операциями, однако она важна для выполнения специальных реляционных операций.

Слайд 31

Задание 1. Даны два отношения А и В, содержащие данные о товарах,

Задание 1. Даны два отношения А и В, содержащие данные о товарах,
необходимо выполнить операции объединения, пересечения и вычитания. Попытайтесь определить смысл результирующих отношений.

Задания для самостоятельной работы

Слайд 32

Отношение А

Отношение А

Слайд 33

Отношение В

Отношение В

Слайд 34

Задание 2. Необходимо ответить на вопросы


Какие отношения называются совместимыми по типу?

Задание 2. Необходимо ответить на вопросы Какие отношения называются совместимыми по типу?

В чем смысл реляционного оператора «Объединение»?
В чем смысл реляционного оператора «Пересечение»?
В чем смысл реляционного оператора «Вычитание»?
Почему невозможно использование операций «Объединения», «Пересечения» и «Вычитания», если исходные отношения не совместимы по типу?
В чем смысл реляционного оператора «Декартово произведение»?
Чему равна мощность декартова произведения?

Слайд 35

С практической точки зрения, специальные реляционные операции имеют большее практическое значение по

С практической точки зрения, специальные реляционные операции имеют большее практическое значение по
сравнению с теоретико-множественными.

Специальные реляционные операторы

Слайд 36

Выборкой (ограничением, селекцией или фильтрацией)
на отношении А с условием С называется

Выборкой (ограничением, селекцией или фильтрацией) на отношении А с условием С называется
отношение с тем же заголовком, что и у отношения А, и телом, состоящим из кортежей, значения атрибутов которых при подстановке в условие С дают значение ИСТИНА.
Синтаксис операции:
A WHERE C
С - логическое выражение, в которое могут входить атрибуты отношения А и (или) скалярные выражения.

Специальные реляционные операторы

1

Слайд 37

В простейшем случае условие С имеет вид ХΘY, где - Θ один

В простейшем случае условие С имеет вид ХΘY, где - Θ один
из операторов сравнения (=, ≠, <, >, ≤, ≥ и т.д.), а Х и Y – атрибуты отношения А или скалярные значения. Такие выборки называются Θ - выборки (тэта-выборки) или Θ - селекция, Θ - ограничения.

Выборка

Слайд 38

Смысл операции выборки очевиден - выбрать кортежи отношения, удовлетворяющие некоторому условию.
Таким

Смысл операции выборки очевиден - выбрать кортежи отношения, удовлетворяющие некоторому условию. Таким
образом, операция выборки дает «горизонтальный срез» отношения по некоторому условию

Выборка

Слайд 39

Пример 5. Пусть дано отношение А с информацией о сотрудниках, необходимо выбрать

Пример 5. Пусть дано отношение А с информацией о сотрудниках, необходимо выбрать
всех сотрудников с зарплатой менее 30000.

А WHERE Зарплата < 30000

Слайд 40

Проекцией отношения А по атрибутам X,Y,…, Z,
где каждый из атрибутов принадлежит

Проекцией отношения А по атрибутам X,Y,…, Z, где каждый из атрибутов принадлежит
отношению А,
называется отношение с заголовком (X,Y,…,Z) и телом, содержащим кортежи соответствующих атрибутов.
Синтаксис операции:
А[X,Y,…,Z]

Специальные реляционные операторы

2

Слайд 41

Операция проекции дает "вертикальный срез" отношения, в котором удалены все возникшие при

Операция проекции дает "вертикальный срез" отношения, в котором удалены все возникшие при
таком срезе дубликаты кортежей.

Проекция

Слайд 42

Пример 6. Дано отношение А

А [Фамилия, Зарплата]

Пример 6. Дано отношение А А [Фамилия, Зарплата]

Слайд 43

Специальные реляционные операторы

3

Соединением отношений А и В по условию С
называется

Специальные реляционные операторы 3 Соединением отношений А и В по условию С
отношение, образованное последовательностью операций декартова произведения и выборки:
(A TIMES B) WHERE C,
где С представляет собой логическое выражение, в которое могут входить атрибуты отношений А и В и (или) скалярные выражения.
Если в отношениях А и В имеются атрибуты с одинаковыми наименованиями, то перед выполнением соединения такие атрибуты необходимо переименовать.

Слайд 44

Соединение

a1 b1
a2 b1
a3 b2

b1 c1
b2 c2
b3 c3

b1 c1
b2 c2
b3 c3

a1 b1 c1
a2

Соединение a1 b1 a2 b1 a3 b2 b1 c1 b2 c2 b3
b1 c1
a3 b2 c2
Имя файла: Основы-реляционной-алгебры.pptx
Количество просмотров: 46
Количество скачиваний: 0