- •Основные понятия управления данными в вычислительных системах.
- •Модели данных
- •Уровни представления данных
- •Связи в моделях
- •Построение логических записей
- •Иерархические модели данных
- •Сетевые модели данных.
- •Реляционные модели данных Основные понятия
- •Расширение основных понятий реляционных моделей
- •Преобразование сетевых моделей в реляционные
- •Функциональная зависимость атрибутов
- •Вторая нормальная форма
- •Третья нормальная форма
- •Основы реляционной алгебры
- •Операция проекции
- •Операция объединения
- •Операция разности
- •Операция декартово произведение
- •Операция селекции
- •Операция пересечения
- •Операция соединения
- •Реляционное исчисление
- •Технологии работы с реляционными базами данных
- •Insert - вставка строк в таблицу
Операция соединения
Математическое обозначение R [σ(AθB)]S
Операция соединения представляет собой селекцию из декартова произведения. Разделяют θ – соединение и естественное соединения. В θ соединении из декартова произведения исходных отношений производится селекция по произвольному условию выборки. Например даны два отношения: «Наряд» и «Нормы»
Наряд Нормы
Код |
Наименование |
Норма |
01 |
Сварка |
11 |
02 |
Расточка |
14 |
03 |
Резка |
15 |
04 |
Укладка |
20 |
-
ФИО
Код
Объем
А…
01
10
Б…
02
15
В…
01
12
Г…
03
14
Требуется получить отношение, в котором отражены рабочие, не выполнившие норму. Для этого необходимо выполнить операцию
Наряд [Код = Код And Объем < Норма] Нормы
Выполнение операции включает два этапа декартово произведение и выборка в соответствии с условием.
-
ФИО
Код
Объем
Код
Наименование
Норма
√
А…
01
10
01
Сварка
11
А…
01
10
02
Расточка
14
А…
01
10
03
Резка
15
А…
01
10
04
Укладка
20
Б…
02
15
01
Сварка
11
Б…
02
15
02
Расточка
14
Б…
02
15
03
Резка
15
Б…
02
15
04
Укладка
20
В…
01
12
01
Сварка
11
В…
01
12
02
Расточка
14
В…
01
12
03
Резка
15
В…
01
12
04
Укладка
20
Г…
03
14
01
Сварка
11
Г…
03
14
02
Расточка
14
√
Г…
03
14
03
Резка
15
Г…
03
14
04
Укладка
20
В результирующее отношение попадут помеченные галочкой два кортежа.
Естественное соединение предполагает в качестве условия отбора выражения, основанные на знаке =. Если для указанного примера необходимо получить отношение, в котором определены объемы и нормы по каждому работнику, то выражение операции и результат должны выглядеть так.
Наряд [Код = Код] Нормы
|
ФИО |
Код |
Объем |
Наименование |
Норма |
√ |
А… |
01 |
10 |
Сварка |
11 |
|
А… |
01 |
10 |
Расточка |
14 |
|
А… |
01 |
10 |
Резка |
15 |
|
А… |
01 |
10 |
Укладка |
20 |
|
Б… |
02 |
15 |
Сварка |
11 |
√ |
Б… |
02 |
15 |
Расточка |
14 |
|
Б… |
02 |
15 |
Резка |
15 |
|
Б… |
02 |
15 |
Укладка |
20 |
√ |
В… |
01 |
12 |
Сварка |
11 |
|
В… |
01 |
12 |
Расточка |
14 |
|
В… |
01 |
12 |
Резка |
15 |
|
В… |
01 |
12 |
Укладка |
20 |
|
Г… |
03 |
14 |
Сварка |
11 |
|
Г… |
03 |
14 |
Расточка |
14 |
√ |
Г… |
03 |
14 |
Резка |
15 |
|
Г… |
03 |
14 |
Укладка |
20 |
Можно заметить, что данном декартовом произведении отсутствует повторение домена «Код», т.к. при операции селекции по знаку равно они всегда будут совпадать.