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

EvgeniyGolendyhin 330 views 53 slides May 19, 2016
Slide 1
Slide 1 of 53
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53

About This Presentation

7


Slide Content

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

Реляционная база данных - это набор отношений, организованных в виде связанных таблиц. N- арным отношением R называют подмножество декартова произведения D 1 x D 2 x …x D n множеств. Исходные множества D 1 , D 2 , … , D n - называют в модели доменами . Понятия 2

Первоначальные множества объектов – домены: D 1 – { Иванов, Крылов, Степанов } D 2 - { История, Химия } D 3 – { 3, 4, 5 } Тогда декартово произведение содержит набор из 18 троек-объектов, где первый элемент – одна из фамилий, второй – название дисциплины, а третий – одна из оценок. 3

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

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

Данная таблица обладает рядом специфических свойств: В таблице нет одинаковых строк. Таблица имеет столбцы, соответствующие атрибутам отношения. Каждый атрибут в отношении имеет уникальное имя. Порядок строк в таблице произвольный. 6

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

8

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

Реляционная алгебра  — формальная система манипулирования отношениями в реляционной модели данных. Манипулирования (действия) над отношениями называются операторами . Операторы делятся на основные и дополнительные. 10

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

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

R 1 Код Имя Город Рейтинг 1 Сергей Москва 20 2 Петр Киев 30 R 2 Код Имя Город Рейтинг 5 Борис Киев 25 1 Сергей Москва 20 6 Василий Рязань 40 Пример1 13

R 3 = R1 + R2 = R 2 + R 1 Код Имя Город Рейтинг 1 Сергей Москва 20 2 Петр Киев 30 5 Борис Киев 25 6 Василий Рязань 40 Объединение 14

R 1 Шифр детали Название детали 00011073 Гайка М1 00011075 Гайка М2 00011076 Гайка М3 00011003 Болт М1 00011006 Болт М3 00013063 Шайба М1 00013066 Шайба М3 R 2 Шифр детали Название детали 00011073 Гайка М1 00011076 Гайка М3 00011077 Гайка М4 00011004 Болт М2 00011006 Болт М3 Пример2 15

Объединение 16 R 3 = R1 + R2 Шифр детали Название детали 00011073 Гайка М1 00011075 Гайка М2 00011076 Гайка М3 00011003 Болт М1 00011006 Болт М3 00013063 Шайба М1 00013066 Шайба М3 00011077 Гайка М4 00011004 Болт М2

17 Пересечение    - отношение, которое содержит множество кортежей, принадлежащих одновременно первому и второму отношениям. R1  R2 = R3 R1 inter section R2 = R3

R 1 Код Имя Город Рейтинг 1 Сергей Москва 20 2 Петр Киев 30 R 2 Код Имя Город Рейтинг 5 Борис Киев 25 1 Сергей Москва 20 6 Василий Рязань 40 Пример1 18

R 3 = R1  R2 = R 2  R 1 Код Имя Город Рейтинг 1 Сергей Москва 20 Пересечение 19

R 1 Шифр детали Название детали 00011073 Гайка М1 00011075 Гайка М2 00011076 Гайка М3 00011003 Болт М1 00011006 Болт М3 00013063 Шайба М1 00013066 Шайба М3 R 2 Шифр детали Название детали 00011073 Гайка М1 00011076 Гайка М3 00011077 Гайка М4 00011004 Болт М2 00011006 Болт М3 Пример2 20

Пересечение 21 R 3 = R1  R2 Шифр детали Название детали 00011073 Гайка М1 00011076 Гайка М3 00011006 Болт М3 Перечень деталей с двух участков

22 Разность    - отношение, которое содержит множество кортежей, принадлежащих первому отношению, но отсутствующих во втором отношении. R1 \ R2 = R3 R1 minus R2 = R3 R1 - R2 = R3

R 1 Код Имя Город Рейтинг 1 Сергей Москва 20 2 Петр Киев 30 R 2 Код Имя Город Рейтинг 5 Борис Киев 25 1 Сергей Москва 20 6 Василий Рязань 40 Пример1 23

R 3 = R1 - R2 Код Имя Город Рейтинг 2 Петр Киев 30 Разность 24 R 3 = R2 - R1 Код Имя Город Рейтинг 5 Борис Киев 25 6 Василий Рязань 40

R 1 Шифр детали Название детали 00011073 Гайка М1 00011075 Гайка М2 00011076 Гайка М3 00011003 Болт М1 00011006 Болт М3 00013063 Шайба М1 00013066 Шайба М3 R 2 Шифр детали Название детали 00011073 Гайка М1 00011076 Гайка М3 00011077 Гайка М4 00011004 Болт М2 00011006 Болт М3 Пример2 25

Разность 26 R 3 = R1 - R2 Шифр детали Название детали 00011075 Гайка М2 00011003 Болт М1 00013063 Шайба М1 00013066 Шайба М3 R3 = R2 - R1 Шифр детали Название детали 00011077 Гайка М4 00011004 Болт М2

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

R 1 Код Имя Город Рейтинг 1 Сергей Москва 20 2 Петр Киев 30 R 1 projection ( код, имя ) Код Имя 5 Борис 1 Сергей 6 Василий Пример1 28

R 2 Шифр детали Название детали 00011073 Гайка М1 00011076 Гайка М3 00011077 Гайка М4 00011004 Болт М2 00011006 Болт М3 Пример2 29 R 2 Название детали Гайка М1 Гайка М3 Гайка М4 Болт М2 Болт М3

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

R Код Имя Город Рейтинг 5 Борис Киев 25 1 Сергей Москва 20 6 Василий Киев 40 Пример1 31 Rs Selection Where Город =‘ Киев ’ Код Имя Город Рейтинг 5 Борис Киев 25 6 Василий Киев 40

R Шифр детали Название детали 00011073 Гайка М1 00011075 Гайка М2 00011076 Гайка М3 00011003 Болт М1 00011006 Болт М3 00013063 Шайба М1 00013066 Шайба М3 Rs Шифр детали Название детали 00011073 Гайка М1 00011076 Гайка М3 00011077 Гайка М4 Пример2 32 Rs Selection Where Название детали = Г *

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

34 Число атрибутов произведения равно сумме атрибутов А и B. C = A product B C = A * B

A Код Имя Дисциплина Специальность 1 23 Сергей История СЗ 158 Петр Математика АС B Код Код_дисциплины № п / п 123 И350 1 158 ВА490 2 Пример1 35

36 C = A * B Код Имя Дисциплина Специальность Код_ дисциплины № п / п 1 23 Сергей История СЗ И350 1 1 23 Сергей История СЗ ВА490 2 158 Петр Математика АС И350 1 158 Петр Математика АС ВА490 2 // при произведении должны быть связи

А – номенклатура деталей Шифр детали Название детали 00011073 Гайка М1 00011076 Гайка М3 00011077 Гайка М4 00011004 Болт М2 00011006 Болт М3 Пример2 37 B – цеха Цех Цех №1 Цех №2

С = А * B Шифр детали Название детали Цех 00011073 Гайка М1 Цех №1 00011076 Гайка М3 Цех №1 00011077 Гайка М4 Цех №1 00011004 Болт М2 Цех №1 00011006 Болт М3 Цех №1 00011073 Гайка М1 Цех №2 00011076 Гайка М3 Цех №2 00011077 Гайка М4 Цех №2 00011004 Болт М2 Цех №2 00011006 Болт М3 Цех №2 38 Каждый цех изготовляет все детали

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

40 «А» S P S1 P1 S1 P2 S1 P3 S1 P4 S1 P5 S1 P6 S2 P1 S2 P2 S3 P2 S4 P2 S4 P4 S4 P5 « B » P P1 C= A div B S S1 S2 Пример 1 =

41 «А» S P S1 P1 S1 P2 S1 P3 S1 P4 S1 P5 S1 P6 S2 P1 S2 P2 S3 P2 S4 P2 S4 P4 S4 P5 « B » P P1 P2 P3 P4 P5 P6 C= A div B S S1 Пример 2 =

42 «А» S P S1 P1 S1 P2 S1 P3 S1 P4 S1 P5 S1 P6 S2 P1 S2 P2 S3 P2 S4 P2 S4 P4 S4 P5 « B » P P2 P4 C= A div B S S1 S4 Пример 3 =

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

44 Алгоритм соединения:     Формируется произведение двух таблиц; Делается операция выборки по условию с соединением; Операция проектирования для исключения дублирующих атрибутов

A № Имя Дисциплина Специальность 1 23 Сергей История СЗ 158 Петр Математика АС 105 Марья Менеджмент СЧ B № ауд Код_дисциплины № п / п 123 И350 1 1 05 ВА490 3 123 ВА490 7 Дано 45

46 A product B № Имя Дисц-на Спец. № ауд Код_дис № п / п 1 23 Сергей История СЗ 123 И350 1 1 23 Сергей История СЗ 105 ВА490 3 1 23 Сергей История СЗ 123 ВА490 7 158 Петр Математика АС 123 И350 1 158 Петр Математика АС 105 ВА490 3 158 Петр Математика АС 123 ВА490 7 105 Марья Менеджмент СЧ 123 И350 1 105 Марья Менеджмент СЧ 105 ВА490 3 105 Марья Менеджмент СЧ 123 ВА490 7 1

47 Выборка selection № № Имя Дисц-на Спец. № ауд Код_дис № п / п 1 23 Сергей История СЗ 123 И350 1 1 23 Сергей История СЗ 123 ВА490 7 105 Марья Менеджмент СЧ 105 ВА490 3 2 А Join B (соединение) № Имя Дисц-на Спец. Код_дис № п / п 1 23 Сергей История СЗ И350 1 1 23 Сергей История СЗ ВА490 7 105 Марья Менеджмент СЧ ВА490 3 3

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

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

A № Товар Цена Количество 1 Кефир 25,00 р. 4 2 Творог 42,00 р. 6 3 Киви 10,00 р. 12 Дано 50 B - Расширение № Товар Цена Количество Сумма: [ Цена ]*[ Количество ] 1 Кефир 25,00 р. 4 100 ,00 р. 2 Творог 42,00 р. 6 232,00 р. 3 Киви 10,00 р. 12 120,00 р. Результат

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

52 Операции с таблицами    - действия с таблицами: Создание таблицы Удаление Переименование Обновление Эти операции лежат в основе языка описания данных – группа DDL (Data Definition Language)

53 На основе реляционной алгебры был создан язык программных запросов: QBE – запрос по образцу (используется бланк, в котором заносятся имена атрибутов и условие запроса) SQL – Structured Query Language - структурированный язык запросов
Tags