53
Основные операции реляционной алгебры •Понятия •Операции •Примеры 1

7 основные операции реляции

Embed Size (px)

Citation preview

Page 1: 7 основные операции реляции

1

Основные операции реляционной алгебры•Понятия•Операции•Примеры

Page 2: 7 основные операции реляции

2

Реляционная база данных - это набор отношений, организованных в виде связанных таблиц.

N-арным отношением R называют подмножество декартова произведения D1x D2 x …x Dn множеств. Исходные множества D1, D2 , …, Dn - называют в модели доменами.

Понятия

Page 3: 7 основные операции реляции

3

Первоначальные множества объектов – домены: •D1 – {Иванов, Крылов, Степанов}•D2 - {История, Химия}• D3 – { 3, 4, 5}

Тогда декартово произведение содержит набор из 18 троек-объектов, где первый элемент – одна из фамилий, второй – название дисциплины, а третий – одна из оценок.

Page 4: 7 основные операции реляции

4

<Иванов, История, 3> <Иванов, История, 4><Иванов, История, 5> <Иванов, Химия, 3><Иванов, Химия, 4> <Иванов, Химия, 5>

< Крылов, История, 3> < Крылов, История, 4>< Крылов, История, 5> < Крылов, Химия, 3>< Крылов, Химия, 4> < Крылов, Химия, 5>

< Степанов, История, 3> < Степанов, История, 4>< Степанов, История, 5> < Степанов, Химия, 3>< Степанов, Химия, 4> < Степанов, Химия, 5>

Page 5: 7 основные операции реляции

5

Отношение R моделирует реальную ситуацию и оно может содержать, допустим только 5 строк, которые соответствуют результатам сессии (Крылов экзамен по химии еще не сдавал ). Отношение имеет простую графическую интерпретацию - представленную в виде таблицы: R

Фамилия Дисциплина ОценкаИванов История 4Иванов Химия 3Крылов История 5Степанов История 5Степанов Химия 4

Page 6: 7 основные операции реляции

6

Данная таблица обладает рядом специфических свойств:

1.В таблице нет одинаковых строк.2.Таблица имеет столбцы,

соответствующие атрибутам отношения.3.Каждый атрибут в отношении имеет

уникальное имя.4.Порядок строк в таблице произвольный.

Page 7: 7 основные операции реляции

7

Вхождение домена в отношение принято называть атрибутом. Строки отношения – кортежами.

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

Page 8: 7 основные операции реляции

8

Page 9: 7 основные операции реляции

9

Число атрибутов – степень отношения.Координальное число – число строк с неповторимыми значениями.

• пропуск, имя, зарплата, номер отдела – степень отношения = 4•5 кортежей•310, 313, 315 – домен номеров отделов, 3 координальное число данного домена•5 координальное число домена пропусков•4 координальное число зарплаты

Page 10: 7 основные операции реляции

10

Реляционная алгебра — формальная система манипулирования отношениями в реляционной модели данных.

Манипулирования (действия) над отношениями называются операторами.Операторы делятся на основные и дополнительные.

Page 11: 7 основные операции реляции

11

Основные реляционные операторы

Объединение - выполняется над двумя отношениями R U S. В результате получается новое отношение конкатенации (комбинации) кортежей из R с кортежами в S. I + J – максимальное число кортежей (без

дублирования).Отношения R и S должны быть совместимы,

т.е. иметь одинаковую структуру.

Page 12: 7 основные операции реляции

12

R1 + R2 = R3 (union)Получаем отношения, кортежи которого принадлежат либо первому, либо второму, либо обоим исходным отношениям.

R1 R2 = R3

Page 13: 7 основные операции реляции

13

R1 Код Имя Город Рейтинг1 Сергей Москва 202 Петр Киев 30

R2 Код Имя Город Рейтинг5 Борис Киев 251 Сергей Москва 206 Василий Рязань 40

Пример1

Page 14: 7 основные операции реляции

14

R3 = R1 + R2 = R2 + R1 Код Имя Город Рейтинг1 Сергей Москва 202 Петр Киев 305 Борис Киев 256 Василий Рязань 40

ОБЪЕДИНЕНИЕ

Page 15: 7 основные операции реляции

15

R1 Шифр детали

Название детали

00011073 Гайка М100011075 Гайка М200011076 Гайка М300011003 Болт М100011006 Болт М300013063 Шайба М100013066 Шайба М3

R2 Шифр детали

Название детали

00011073 Гайка М100011076 Гайка М300011077 Гайка М400011004 Болт М200011006 Болт М3

Пример2

Page 16: 7 основные операции реляции

16

ОБЪЕДИНЕНИЕR3 = R1 + R2 Шифр детали

Название детали

00011073 Гайка М100011075 Гайка М200011076 Гайка М300011003 Болт М100011006 Болт М300013063 Шайба М100013066 Шайба М300011077 Гайка М400011004 Болт М2

Page 17: 7 основные операции реляции

17

Пересечение - отношение, которое содержит множество кортежей, принадлежащих одновременно первому и второму отношениям.

R1 R2 = R3

R1 inter section R2 = R3

Page 18: 7 основные операции реляции

18

R1 Код Имя Город Рейтинг1 Сергей Москва 202 Петр Киев 30

R2 Код Имя Город Рейтинг5 Борис Киев 251 Сергей Москва 206 Василий Рязань 40

Пример1

Page 19: 7 основные операции реляции

19

R3 = R1 R2 = R2 R1 Код Имя Город Рейтинг1 Сергей Москва 20

ПЕРЕСЕЧЕНИЕ

Page 20: 7 основные операции реляции

20

R1 Шифр детали

Название детали

00011073 Гайка М100011075 Гайка М200011076 Гайка М300011003 Болт М100011006 Болт М300013063 Шайба М100013066 Шайба М3

R2 Шифр детали

Название детали

00011073 Гайка М100011076 Гайка М300011077 Гайка М400011004 Болт М200011006 Болт М3

Пример2

Page 21: 7 основные операции реляции

21

ПЕРЕСЕЧЕНИЕR3 = R1 R2 Шифр детали Название

детали00011073 Гайка М100011076 Гайка М300011006 Болт М3

Перечень деталей с двух участков

Page 22: 7 основные операции реляции

22

Разность - отношение, которое содержит множество кортежей, принадлежащих первому отношению, но отсутствующих во втором отношении.

R1 \ R2 = R3

R1 minus R2 = R3

R1 - R2 = R3

Page 23: 7 основные операции реляции

23

R1 Код Имя Город Рейтинг1 Сергей Москва 202 Петр Киев 30

R2 Код Имя Город Рейтинг5 Борис Киев 251 Сергей Москва 206 Василий Рязань 40

Пример1

Page 24: 7 основные операции реляции

24

R3 = R1 - R2 Код Имя Город Рейтинг2 Петр Киев 30

РАЗНОСТЬ

R3 = R2 - R1 Код Имя Город Рейтинг5 Борис Киев 256 Василий Рязань 40

Page 25: 7 основные операции реляции

25

R1 Шифр детали

Название детали

00011073 Гайка М100011075 Гайка М200011076 Гайка М300011003 Болт М100011006 Болт М300013063 Шайба М100013066 Шайба М3

R2 Шифр детали

Название детали

00011073 Гайка М100011076 Гайка М300011077 Гайка М400011004 Болт М200011006 Болт М3

Пример2

Page 26: 7 основные операции реляции

26

РАЗНОСТЬR3 = R1 - R2Шифр детали

Название детали

00011075 Гайка М200011003 Болт М100013063 Шайба М100013066 Шайба М3

R3 = R2 - R1 Шифр детали

Название детали

00011077 Гайка М400011004 Болт М2

Page 27: 7 основные операции реляции

27

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

R1 projection

Выделяем столбцы

Page 28: 7 основные операции реляции

28

R1 Код Имя Город Рейтинг1 Сергей Москва 202 Петр Киев 30

R1 projection (код, имя)Код Имя5 Борис1 Сергей6 Василий

Пример1

Page 29: 7 основные операции реляции

29

R2 Шифр детали

Название детали

00011073 Гайка М100011076 Гайка М300011077 Гайка М400011004 Болт М200011006 Болт М3

Пример2

R2 Название детали

Гайка М1Гайка М3Гайка М4Болт М2Болт М3

Page 30: 7 основные операции реляции

30

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

Section Where условие

Page 31: 7 основные операции реляции

31

RКод Имя Город Рейтинг5 Борис Киев 251 Сергей Москва 206 Василий Киев 40

Пример1

Rs Selection Where Город =‘Киев’

Код Имя Город Рейтинг5 Борис Киев 256 Василий Киев 40

Page 32: 7 основные операции реляции

32

R Шифр детали

Название детали

00011073 Гайка М100011075 Гайка М200011076 Гайка М300011003 Болт М100011006 Болт М300013063 Шайба М100013066 Шайба М3

Rs Шифр детали

Название детали

00011073 Гайка М100011076 Гайка М300011077 Гайка М4

Пример2

Rs Selection Where Название детали = Г *

Page 33: 7 основные операции реляции

33

Произведение отношений -Пусть отношение «А» имеет Х кортежей, а отношение «B» имеет Y кортежей. Произведение двух отношений «А» и «B» является отношение «С», количество кортежей которого равно Х * Y и состоящего из попарного соединения всех строк одного отношения со всеми строками другого отношения.

Page 34: 7 основные операции реляции

34

Число атрибутов произведения равно сумме атрибутов А и B.

C = A product BC = A * B

Page 35: 7 основные операции реляции

35

AКод Имя Дисциплина Специальность123 Сергей История СЗ158 Петр Математика АС

BКод Код_дисциплины № п/п123 И350 1158 ВА490 2

Пример1

Page 36: 7 основные операции реляции

36

C = A * BКод Имя Дисциплина Специальность Код_

дисциплины№п/п

123 Сергей История СЗ И350 1123 Сергей История СЗ ВА490 2158 Петр Математика АС И350 1158 Петр Математика АС ВА490 2

// при произведении должны быть связи

Page 37: 7 основные операции реляции

37

А – номенклатура деталейШифр детали Название

детали00011073 Гайка М100011076 Гайка М300011077 Гайка М400011004 Болт М200011006 Болт М3

Пример2

B – цехаЦехЦех №1Цех №2

Page 38: 7 основные операции реляции

38

С = А * B Шифр детали

Название детали

Цех

00011073 Гайка М1 Цех №100011076 Гайка М3 Цех №100011077 Гайка М4 Цех №100011004 Болт М2 Цех №100011006 Болт М3 Цех №100011073 Гайка М1 Цех №200011076 Гайка М3 Цех №200011077 Гайка М4 Цех №200011004 Болт М2 Цех №200011006 Болт М3 Цех №2

Каждый цех изготовляет все детали

Page 39: 7 основные операции реляции

39

Деление отношений div -Пусть отношение «А» имеет несколько атрибутов, а отношение «B» имеет 1 атрибут, или отношения «А» и «B» имеют общий атрибут. Тогда делением «A» и «B» является отношение «С» с атрибутом из «А» и множеством картежей таких, что 1) они включают в себя множество значений общего атрибута;2) Эти значения соответствуют значениям общего атрибута и «А»// иначе говоря результат «С» - такие значения из «А», для которых соответствует значение из «В».

Page 40: 7 основные операции реляции

40

«А»S P

S1 P1S1 P2S1 P3S1 P4S1 P5S1 P6S2 P1S2 P2S3 P2S4 P2S4 P4S4 P5

«B»P

P1

C= A div BS

S1S2

Пример1

=

Page 41: 7 основные операции реляции

41

«А»S P

S1 P1S1 P2S1 P3S1 P4S1 P5S1 P6S2 P1S2 P2S3 P2S4 P2S4 P4S4 P5

«B»P

P1P2P3P4P5P6

C= A div BS

S1

Пример2

=

Page 42: 7 основные операции реляции

42

«А»S P

S1 P1S1 P2S1 P3S1 P4S1 P5S1 P6S2 P1S2 P2S3 P2S4 P2S4 P4S4 P5

«B»P

P2P4

C= A div BS

S1S4

Пример3

=

Page 43: 7 основные операции реляции

43

Соединение Join - данная операция представляет комбинацию нескольких операторов.Различают естественное соединение /эквивалентность/ внешнее соединение, левое, правое соединение таблиц образованных при связях.

Page 44: 7 основные операции реляции

44

Алгоритм соединения: 1) Формируется произведение двух

таблиц;2) Делается операция выборки по

условию с соединением;3) Операция проектирования для

исключения дублирующих атрибутов

Page 45: 7 основные операции реляции

45

A№ Имя Дисциплина Специальность123 Сергей История СЗ158 Петр Математика АС105 Марья Менеджмент СЧ

B№ ауд Код_дисциплины № п/п123 И350 1105 ВА490 3123 ВА490 7

Дано

Page 46: 7 основные операции реляции

46

A product B№ Имя Дисц-на Спец. № ауд Код_дис № п/п

123 Сергей История СЗ 123 И350 1123 Сергей История СЗ 105 ВА490 3123 Сергей История СЗ 123 ВА490 7158 Петр Математика АС 123 И350 1158 Петр Математика АС 105 ВА490 3158 Петр Математика АС 123 ВА490 7105 Марья Менеджмент СЧ 123 И350 1105 Марья Менеджмент СЧ 105 ВА490 3105 Марья Менеджмент СЧ 123 ВА490 7

1

Page 47: 7 основные операции реляции

47

Выборка selection №№ Имя Дисц-на Спец. № ауд Код_дис № п/п

123 Сергей История СЗ 123 И350 1123 Сергей История СЗ 123 ВА490 7105 Марья Менеджмент СЧ 105 ВА490 3

2

А Join B (соединение)№ Имя Дисц-на Спец. Код_дис № п/п

123 Сергей История СЗ И350 1123 Сергей История СЗ ВА490 7105 Марья Менеджмент СЧ ВА490 3

3

Page 48: 7 основные операции реляции

48

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

К дополнительным операторам относятся: расширение, подведение итогов, операции работы с таблицами.

Page 49: 7 основные операции реляции

49

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

Page 50: 7 основные операции реляции

50

A№ Товар Цена Количество1 Кефир 25,00 р. 42 Творог 42,00 р. 63 Киви 10,00 р. 12

Дано

B - Расширение№ Товар Цена Количество Сумма:

[Цена]*[Количество]

1 Кефир 25,00 р. 4 100,00 р.2 Творог 42,00 р. 6 232,00 р.3 Киви 10,00 р. 12 120,00 р.

Результат

Page 51: 7 основные операции реляции

51

Подведение итогов - все операции подведения итогов по таблице. Нахождение:Min - минимумMax - максимумSum - суммаCount – количествоAvg – среднее арифметическое

Page 52: 7 основные операции реляции

52

Операции с таблицами - действия с таблицами:Создание таблицыУдаление Переименование Обновление

Эти операции лежат в основе языка описания данных – группа DDL (Data Definition Language)

Page 53: 7 основные операции реляции

53

На основе реляционной алгебры был создан язык программных запросов:

QBE – запрос по образцу (используется бланк, в котором заносятся имена атрибутов и условие запроса)

SQL – Structured Query Language - структурированный язык запросов