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

Post on 13-Apr-2017

141 views 0 download

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

1

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

2

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

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

Понятия

3

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

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

4

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

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

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

5

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

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

6

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

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

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

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

7

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

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

8

9

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

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

10

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

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

11

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

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

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

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

12

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

R1 R2 = R3

13

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

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

Пример1

14

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

ОБЪЕДИНЕНИЕ

15

R1 Шифр детали

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

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

R2 Шифр детали

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

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

Пример2

16

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

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

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

17

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

R1 R2 = R3

R1 inter section R2 = R3

18

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

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

Пример1

19

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

ПЕРЕСЕЧЕНИЕ

20

R1 Шифр детали

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

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

R2 Шифр детали

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

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

Пример2

21

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

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

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

22

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

R1 \ R2 = R3

R1 minus R2 = R3

R1 - R2 = R3

23

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

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

Пример1

24

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

РАЗНОСТЬ

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

25

R1 Шифр детали

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

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

R2 Шифр детали

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

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

Пример2

26

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

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

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

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

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

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

27

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

R1 projection

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

28

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

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

Пример1

29

R2 Шифр детали

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

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

Пример2

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

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

30

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

Section Where условие

31

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

Пример1

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

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

32

R Шифр детали

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

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

Rs Шифр детали

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

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

Пример2

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

33

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

34

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

C = A product BC = A * B

35

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

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

Пример1

36

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

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

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

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

37

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

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

Пример2

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

38

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

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

Цех

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

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

39

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

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

=

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

=

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

=

43

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

44

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

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

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

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

45

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

B№ ауд Код_дисциплины № п/п123 И350 1105 ВА490 3123 ВА490 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

47

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

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

2

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

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

3

48

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

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

49

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

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 р.

Результат

51

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

52

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

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

53

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

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

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