- •Лекция 2 «Реляционная модель данных»
- •Введение
- •2 Алгебраическая точка зрения
- •3 База данных
- •4 Запросы на данные
- •4.1 Стандартные теоретико-множественные операции
- •4.2 Операция декартова произведения
- •4.3 Специальные операции реляционной алгебры
- •4.3.1 Проекция
- •4.3.2 Операция ограничения (селекции)
- •4.3.3 Операция соединения
- •4.3.4 Операция деления
- •5 Ограничения целостности
4.3.2 Операция ограничения (селекции)
Это унарная операция.
Имеем схему исходного отношения R(A1, A2, … , Am)
Синтаксис операции:
Rрез(A1, A2, … , Am) = R(A1, A2, … , Am)[Булево выраж]
Булевское выражение это элементарные предикаты типа (Ai θ Ak) или (Ai θ Const), связанные операциями алгебры логики И, ИЛИ, НЕ. Символ θ – это один из так называемых θ – предикатов {=,,>,<,,}. Булевское выражение вычисляется на значениях атрибутов каждой строки таблицы.
Пример. Рассмотрим снова отношение, представленное схемой
Сдавали_экзамены(Nз,Фио,Nгр,Курс)
Запрос «Перечислить студентов группы К2-221, сдававших экзамены» выражается операцией
Сдавали_из_К2-221(Nз,Фио,Nгр,Курс) =
Сдавали_экзамены(Nз,Фио,Nгр,Курс)[Nгр=”К2-221”]
Таблица Сдавали_из_К2-221
Nз |
Фио |
Nгр |
Курс |
121 |
Иванов А.И. |
К2-221 |
Физика |
121 |
Иванов А.И. |
К2-221 |
Математика |
121 |
Иванов А.И. |
К2-221 |
Геометрия |
127 |
Скоркин О.И. |
К2-221 |
Физика |
127 |
Скоркин О.И. |
К2-221 |
Математика |
129 |
Доренко Е.С. |
К2-221 |
Математика |
Чтобы исключить из таблицы неинформативный столбец (атрибут) Nгр необходимо выполнить следующую операцию – проекцию на атрибуты Nз, Фио, Курс.
4.3.3 Операция соединения
Это бинарная операция.
Схемы исходных отношений R1(A1, A2, … , An) и R2(B1, B2, … , Bm)
Синтаксисоперации:
Rрез(A1, A2, … , An, B1, B2, … , Bm) =
= R(A1, A2, … , An)[Булево выраж]R2(B1, B2, … , Bm)
Булевское выражение это элементарные предикаты типа (Ai θ Bk), связанные операциями алгебры логики И, ИЛИ, НЕ. Булевское выражение вычисляется на значениях атрибутов каждой строки как одной, так и другой таблицы. Если булевское выражение состоит из единственного θ–предиката, то такое соединение принято называть θ–соединением, а при θ = 1- эквисоединением.
Даже по синтаксису операции видно, что эта операция может быть выражена через декартово произведение отношений с последующим ограничением
Rрез(A1, A2, … , An, B1, B2, … , Bm) =
= R(A1, A2, … , An)*R2(B1, B2, … , Bm) [Булево выраж]
Придание этой производной операции статуса самостоятельной вызвано ее исключительно частым использованием на практике. Особенно востребована так называемая операция эквисоединения (соединения по равенству). Различными авторами введено несколько разновидностей операции соединения.
Пример. Рассмотрим отношение, представленное эквисоединением отношений Ст(Nз,Фио,Nгр) и Гр(Nгр,ВыпКаф,Спец) по атрибуту Nгр.
Соед_Ст_Гр(Ст.Nз,Ст.Фио,Ст.Nгр,Гр.Nгр,Гр.ВыпКаф,Гр.Спец) =
= Ст(Nз,Фио,Nгр)[Ст.Nгр=Гр.Nгр]Гр(Nгр,ВыпКаф,Спец)
Таблица Соед_Ст_Гр
Ст.Nз |
Ст.Фио |
Ст.Nгр |
Гр.Nгр |
Гр.ВыпКаф |
Гр.Спец |
121 |
Иванов А.И. |
К2-221 |
К2-221 |
22 |
Прикл_математика |
125 |
Крутов И.И. |
К2-223 |
К2-223 |
22 |
Прикл_математика |
123 |
Петрова Т.В. |
К2-281 |
К2-281 |
28 |
Системный_анализ |
Чтобы исключить из таблицы один из столбцов (атрибутов) Ст.Nгр или Гр.Nгр необходимо выполнить соответствующую проекцию.