
- •Основные понятия управления данными в вычислительных системах.
- •Модели данных
- •Уровни представления данных
- •Связи в моделях
- •Построение логических записей
- •Иерархические модели данных
- •Сетевые модели данных.
- •Реляционные модели данных
- •Преобразование сетевых моделей в реляционные
- •Функциональная зависимость атрибутов
- •Вторая нормальная форма
- •Третья нормальная форма
- •Основы реляционной алгебры
- •Операция проекции
- •Операция объединения
- •Операция разности
- •Операция декартово произведение
- •Операция селекции
- •Операция пересечения
- •Операция соединения
- •Средства реализации запросов
- •Теоретические основы проектирования бд. Основные понятия.
- •Пилот функционально зависит от {рейс,дата}
- •Лекция 3
- •Пример работы алгоритма member
- •Покрытия функциональных зависимостей
- •(Подробнее)
- •Синтез реляционных баз данных
- •Распределенная обработка данных
- •Локальная автономия
- •Независимость от центрального узла.
- •Непрерывное функционирование
- •Независимость от расположения
- •Независимость от фрагментации
- •Независимость от репликации
- •Обработка распределенных запросов
- •Управление распределенными транзакциями
Операция пересечения
Операция обозначается R ∩ S и может быть выражена через операцию вычитания следующим образом: R – (R – S). По смыслу операция образует из двух отношений новое, которое включает совпадающие кортежи исходных отношений. Для примера рассмотрим исходные отношения операции вычитания. Если необходимо выяснить какие студенты сдали и зачет и экзамен, то результат будет получен при выполнении операции
Зачет –(Зачет –Экзамен)
Операция соединения
Математическое обозначение 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 |
Можно заметить, что данном декартовом произведении отсутствует повторение домена «Код», т.к. при операции селекции по знаку равно они всегда будут совпадать.
Операции реляционной алгебры используются в процессе выполнения запросов над базой данных. Наиболее распространенными формами описания запросов являются запись запроса на языке SQL и в форме QBE. Кратко рассмотрим конструкции обоих форм представления.