Операции над отношениями.
СТУДЕНТ
СТУДЕНТ
Фамилия | Курс | Специальность | Спорт | |
Вид | Разряд | |||
Иванов | ИВТ | Плавание | Мс | |
Петров | Бухучет | Футбол | Кмс | |
Сидоров | История | Шахматы | 1разряд |
а) ненормализованное отношение
Фамилия | Вид спорта | Курс | Специальность | Спорт разряд |
Иванов | Плавание | ИВТ | Мс | |
Петров | Футбол | Бухучет | Кмс | |
Сидоров | Шахматы | История | 1разряд |
б) нормализованное отношение
Приведенное выше отношение СТУДЕНТ ненормализованное, поскольку содержит сложный атрибут «спорт» (а). Здесь ключом является атрибут «фамилия».Попробуем привести это отношение к нормальному виду, т.е. избавимся от сложного атрибута «спорт».
В полученном отношении СТУДЕНТ (б) ключ является составным (состоящим из атрибутов «фамилия»и «вид_спорта»). Отношение, у которого все атрибуты простые, называются приведенными к первой нормальной форме (1НФ).
Основными операциями над отношениями в РМД являются 8 операций, входящих в реляционную алгебру Кодда. Реляционная алгебра Кодда включает:
|
|
· традиционные операции над множествами: объединение, пересечение, разность (вычитание), декартово произведение;
· специальные операции: выборка (ограничение, селекция), проекция, соединение (тэта-соединение, экви-соединение, естественное соединение) и деление.
Совокупность этих операций образует замкнутую алгебру отношений. Замкнутость определяется тем, что аргументами операций реляционной алгебры являются отношения и результатом обработки всегда является новое отношение, которое также может быть аргументом в другой операции (по аналогии с обычной алгеброй чисел).
Рассмотрим основные операции реляционной алгебры:
1. Объединение.
Объединением двух совместимых по типу отношений R1 и R2 называется отношение с тем же заголовком, что и у отношений R1 и R2, и телом, состоящим из кортежей, принадлежащих или R1 или R2, или обоим отношениям. Таким образом, при выполнении операции объединения двух отношений производится отношение, включающее все кортежи, входящие хотя бы в одно из отношений- операндов.
Синтаксис операции объединения: R1 union R2
Пример 1: Пусть даны два отношения R1 и R2 с информацией о начислении стипендии студентам
Таблица 1 Отношение R1
Личный номер | Фамилия | Размер стипендии |
Котов | ||
Серов | ||
Леонидов |
Таблица 2 Отношение R2
Личный номер | Фамилия | Размер стипендии |
Котов | ||
Даниленко | ||
Леонидов |
Объединение отношений R1 и R2 будет иметь вид;
Таблица 3. Отношение R1 union R2
Личный номер | Фамилия | Размер стипендии |
Котов | ||
Серов | ||
Леонидов | ||
Даниленко | ||
Леонидов |
Пересечением двух совместимых по типу отношений R1 и R2 называется отношение с тем же заголовком, что и у отношений R1 и R2, и телом, состоящим из кортежей, принадлежащим одновременно обоим отношениям R1 и R2. Таким образом, операция пересечения двух отношений дает отношение, включающее все кортежи, входящие в оба отношения-операнда.
|
|
Синтаксис операции пересечения: R1 intersect R2,
Пример 2. Для отношений R1 и R2 пересечение имеет вид:
Таблица 4. Отношение R1 intersect R2
Личный номер | Фамилия | Размер стипендии |
Котов |