2. Реляционная база данных - это
набор отношений, организованных
в виде связанных таблиц.
N-арным отношением R называют
подмножество декартова произведения
D1x D2 x …x Dn множеств. Исходные
множества D1, D2 , …, Dn - называют в
модели доменами.
2
3. Первоначальные множества объектов –
домены:
•D1 – {Иванов, Крылов, Степанов}
•D2 - {История, Химия}
• D3 – { 3, 4, 5}
Тогда декартово произведение содержит
набор из 18 троек-объектов, где первый
элемент – одна из фамилий, второй –
название дисциплины, а третий – одна из
оценок.
3
5. Отношение R моделирует реальную ситуацию и оно
может содержать, допустим только 5 строк, которые
соответствуют результатам сессии (Крылов экзамен
по химии еще не сдавал ). Отношение имеет простую
графическую интерпретацию - представленную в
виде таблицы: R
Фамилия Дисциплина Оценка
Иванов История 4
Иванов Химия 3
Крылов История 5
Степанов История 5
Степанов Химия 4
5
6. Данная таблица обладает рядом
специфических свойств:
1.В таблице нет одинаковых строк.
2.Таблица имеет столбцы,
соответствующие атрибутам отношения.
3.Каждый атрибут в отношении имеет
уникальное имя.
4.Порядок строк в таблице произвольный.
6
7. Вхождение домена в отношение принято
называть атрибутом. Строки отношения –
кортежами.
Основными понятиями
реляционных баз данных
являются тип данных, домен,
атрибут, кортеж, первичный ключ
и отношение.
7
9. Число атрибутов – степень отношения.
Координальное число – число строк с
неповторимыми значениями.
• пропуск, имя, зарплата, номер отдела –
степень отношения = 4
•5 кортежей
•310, 313, 315 – домен номеров отделов,
3 координальное число данного домена
•5 координальное число домена пропусков
•4 координальное число зарплаты
9
10. Реляционная алгебра —
формальная система
манипулирования отношениями в
реляционной модели данных.
Манипулирования (действия) над
отношениями называются операторами.
Операторы делятся на основные и
дополнительные.
10
11. Объединение - выполняется над двумя
отношениями R U S. В результате получается
новое отношение конкатенации
(комбинации) кортежей из R с кортежами
в S.
I + J – максимальное число кортежей (без
дублирования).
Отношения R и S должны быть совместимы,
т.е. иметь одинаковую структуру.
11
12. R1 + R2 = R3 (union)
Получаем отношения, кортежи которого
принадлежат либо первому, либо второму,
либо обоим исходным отношениям.
12
R1 R2 = R3
13. R1
Код Имя Город Рейтинг
1 Сергей Москва 20
2 Петр Киев 30
R2
Код Имя Город Рейтинг
5 Борис Киев 25
1 Сергей Москва 20
6 Василий Рязань 40 13
14. R3 = R1 + R2 = R2 + R1
Код Имя Город Рейтинг
1 Сергей Москва 20
2 Петр Киев 30
5 Борис Киев 25
6 Василий Рязань 40
14
15. R1
Шифр
детали
Название
детали
00011073 Гайка М1
00011075 Гайка М2
00011076 Гайка М3
00011003 Болт М1
00011006 Болт М3
00013063 Шайба М1
00013066 Шайба М3
R2
Шифр
детали
Название
детали
00011073 Гайка М1
00011076 Гайка М3
00011077 Гайка М4
00011004 Болт М2
00011006 Болт М3
15
16. 16
R3 = R1 + R2
Шифр
детали
Название
детали
00011073 Гайка М1
00011075 Гайка М2
00011076 Гайка М3
00011003 Болт М1
00011006 Болт М3
00013063 Шайба М1
00013066 Шайба М3
00011077 Гайка М4
00011004 Болт М2
17. 17
Пересечение - отношение, которое
содержит множество кортежей,
принадлежащих одновременно
первому и второму отношениям.
R1 R2 = R3
R1 inter section R2 = R3
18. R1
Код Имя Город Рейтинг
1 Сергей Москва 20
2 Петр Киев 30
R2
Код Имя Город Рейтинг
5 Борис Киев 25
1 Сергей Москва 20
6 Василий Рязань 40 18
19. R3 = R1 R2 = R2 R1
Код Имя Город Рейтинг
1 Сергей Москва 20
19
20. R1
Шифр
детали
Название
детали
00011073 Гайка М1
00011075 Гайка М2
00011076 Гайка М3
00011003 Болт М1
00011006 Болт М3
00013063 Шайба М1
00013066 Шайба М3
R2
Шифр
детали
Название
детали
00011073 Гайка М1
00011076 Гайка М3
00011077 Гайка М4
00011004 Болт М2
00011006 Болт М3
20
21. 21
R3 = R1 R2
Шифр детали Название
детали
00011073 Гайка М1
00011076 Гайка М3
00011006 Болт М3
Перечень деталей с двух участков
22. 22
Разность - отношение, которое
содержит множество кортежей,
принадлежащих первому отношению,
но отсутствующих во втором
отношении.
R1 R2 = R3
R1 minus R2 = R3
R1 - R2 = R3
23. R1
Код Имя Город Рейтинг
1 Сергей Москва 20
2 Петр Киев 30
R2
Код Имя Город Рейтинг
5 Борис Киев 25
1 Сергей Москва 20
6 Василий Рязань 40 23
24. R3 = R1 - R2
Код Имя Город Рейтинг
2 Петр Киев 30
24
R3 = R2 - R1
Код Имя Город Рейтинг
5 Борис Киев 25
6 Василий Рязань 40
25. R1
Шифр
детали
Название
детали
00011073 Гайка М1
00011075 Гайка М2
00011076 Гайка М3
00011003 Болт М1
00011006 Болт М3
00013063 Шайба М1
00013066 Шайба М3
R2
Шифр
детали
Название
детали
00011073 Гайка М1
00011076 Гайка М3
00011077 Гайка М4
00011004 Болт М2
00011006 Болт М3
25
27. 27
Проекция - определяет новое
отношение, которое содержит
вертикальное подмножество исходного
отношения, которое создается
извлечением значений указанных
атрибутов, используя строки дубликаты.
R1 projection
Выделяем столбцы
28. R1
Код Имя Город Рейтинг
1 Сергей Москва 20
2 Петр Киев 30
R1 projection (код, имя)
Код Имя
5 Борис
1 Сергей
6 Василий
28
30. 30
Выборка - отношение полученное из
кортежей одного отношения
удовлетворяющие условию.
Section
Where условие
31. R
Код Имя Город Рейтинг
5 Борис Киев 25
1 Сергей Москва 20
6 Василий Киев 40
31
Rs Selection Where Город =‘Киев’
Код Имя Город Рейтинг
5 Борис Киев 25
6 Василий Киев 40
32. R
Шифр
детали
Название
детали
00011073 Гайка М1
00011075 Гайка М2
00011076 Гайка М3
00011003 Болт М1
00011006 Болт М3
00013063 Шайба М1
00013066 Шайба М3
Rs
Шифр
детали
Название
детали
00011073 Гайка М1
00011076 Гайка М3
00011077 Гайка М4
32
Rs Selection Where
Название детали = Г *
33. 33
Произведение отношений -
Пусть отношение «А» имеет Х
кортежей, а отношение «B» имеет Y
кортежей. Произведение двух
отношений «А» и «B» является
отношение «С», количество кортежей
которого равно Х * Y и состоящего из
попарного соединения всех строк
одного отношения со всеми строками
другого отношения.
35. A
Код Имя Дисциплина Специальность
123 Сергей История СЗ
158 Петр Математика АС
B
Код Код_дисциплины № п/п
123 И350 1
158 ВА490 2
35
36. 36
C = A * B
Код Имя Дисциплина Специальность Код_
дисциплины
№
п/п
123 Сергей История СЗ И350 1
123 Сергей История СЗ ВА490 2
158 Петр Математика АС И350 1
158 Петр Математика АС ВА490 2
// при произведении должны быть связи
37. А – номенклатура деталей
Шифр детали Название
детали
00011073 Гайка М1
00011076 Гайка М3
00011077 Гайка М4
00011004 Болт М2
00011006 Болт М3
37
B – цеха
Цех
Цех №1
Цех №2
38. С = А * 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. 39
Деление отношений div -
Пусть отношение «А» имеет несколько атрибутов,
а отношение «B» имеет 1 атрибут, или отношения
«А» и «B» имеют общий атрибут. Тогда делением
«A» и «B» является отношение «С» с атрибутом из
«А» и множеством картежей таких, что
1) они включают в себя множество значений
общего атрибута;
2) Эти значения соответствуют значениям общего
атрибута и «А»
// иначе говоря результат «С» - такие значения из
«А», для которых соответствует значение из «В».
40. 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
41. 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
42. 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
43. 43
Соединение Join - данная
операция представляет
комбинацию нескольких
операторов.
Различают естественное соединение
/эквивалентность/ внешнее
соединение, левое, правое
соединение таблиц образованных
при связях.
44. 44
Алгоритм соединения:
1) Формируется произведение двух
таблиц;
2) Делается операция выборки по
условию с соединением;
3) Операция проектирования для
исключения дублирующих
атрибутов
45. A
№ Имя Дисциплина Специальность
123 Сергей История СЗ
158 Петр Математика АС
105 Марья Менеджмент СЧ
B
№ ауд Код_дисциплины № п/п
123 И350 1
105 ВА490 3
123 ВА490 7
45
46. 46
A product B
№ Имя Дисц-на Спец. № ауд Код_дис № п/п
123 Сергей История СЗ 123 И350 1
123 Сергей История СЗ 105 ВА490 3
123 Сергей История СЗ 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
47. 47
Выборка selection №
№ Имя Дисц-на Спец. № ауд Код_дис № п/п
123 Сергей История СЗ 123 И350 1
123 Сергей История СЗ 123 ВА490 7
105 Марья Менеджмент СЧ 105 ВА490 3
А Join B (соединение)
№ Имя Дисц-на Спец. Код_дис № п/п
123 Сергей История СЗ И350 1
123 Сергей История СЗ ВА490 7
105 Марья Менеджмент СЧ ВА490 3
49. 49
Расширение - данная операция
состоит в том, что отношение
дополняется новым
вычисляемым атрибутом, в
котором данные значения
берутся для вычисления из
старых атрибутов.
50. 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. 51
Подведение итогов - все операции
подведения итогов по таблице.
Нахождение:
Min - минимум
Max - максимум
Sum - сумма
Count – количество
Avg – среднее арифметическое
52. 52
Операции с таблицами -
действия с таблицами:
Создание таблицы
Удаление
Переименование
Обновление
Эти операции лежат в основе языка
описания данных – группа DDL (Data
Definition Language)
53. 53
На основе реляционной алгебры был создан
язык программных запросов:
QBE – запрос по образцу (используется
бланк, в котором заносятся имена атрибутов и
условие запроса)
SQL – Structured Query Language -
структурированный язык запросов