русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Теоретико-множественные операторы


Дата добавления: 2014-11-28; просмотров: 943; Нарушение авторских прав


 

Объединениемдвух совместимых по типу отношений M и N называется отношение с тем же заголовком, что и у M и N, и телом, состоящим из кортежей, принадлежащих или M или N, или обоим отношениям.

Синтаксис: M UNION N

Примечание: объединение, как и любое отношение, не может содержать одинаковых кортежей. Поэтому, если некоторый кортеж входит и в отношение M, и отношение N, то в объединение он входит один раз.

Пример 2: Пусть даны два отношения M и N с информацией о сотрудниках (таблицы 3.2 и 3.3).

Таблица 3.2 - Отношение M Таблица 3.3 - Отношение N

ИД_Сотр Фамилия Зарплата   ИД_Сотр Фамилия Зарплата
1 Андреев 1 Андреев
2 Поляков 2 Танеев
3 Сидоров 3 Сидоров

 

Результатом объединения отношений M и N будет отношение, представленное в таблице 3.4.

Таблица 3.4 - Объединение отношений M и N

ИД_Сотр Фамилия Зарплата
Андреев
Поляков
Сидоров
Андреев
Танеев

 

Примечание: как видно из данного примера, первичные ключи, которые были в отношениях M и N не наследуются объединением этих отношений. Поэтому, в объединении отношений M и N атрибут "ИД_Сотр" может содержать дубликаты значений. Если бы это было не так, и ключи наследовались бы, то это противоречило бы понятию операции объединения как "объединение множеств". Конечно, объединение отношений M и N имеет, как и любое отношение, первичный ключ, например, состоящий из всех атрибутов.

 

Пересечениемдвух совместимых по типу отношений M и N называется отношение с тем же заголовком, что и у отношений M и N, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям M и N.



Синтаксис операции пересечения: M INTERSECT N

Пример 3. Для тех же отношений M и N (таблицы 3.2 и 3.3) результатом пересечения будет отношение, представленное в таблице 3.5.

Таблица 3.5. Пересечение отношений M и N

ИД_Сотр Фамилия Зарплата
Андреев
Сидоров

Примечание: как видно и в этом случае потенциальные ключи в результирующем отношении не наследуются. В целом, надо отметить, что ни одни реляционный оператор не передает в результат данных о ключах. Смысл этого заключается в том, что первичный ключ это понятие, которое позволяет различать один объект от другого. В тоже время, любой реляционный оператор есть операция над отношениями, переданными ему в качестве параметров. А понятие отношения есть множество, в котором отсутствуют механизмы, позволяющие отличать один элемент от другого.

 

Вычитаниемдвух совместимых по типу отношений M и N называется отношение с тем же заголовком, что и у отношений M и N, и телом, состоящим из кортежей, принадлежащих отношению M и не принадлежащих отношению N.

Синтаксис операции вычитания: M MINUS N

Пример 4. Для отношений M и N, что и в предыдущем примере (таблицы 3.2 и 3.3) вычитание имеет вид, представленный в таблице 3.6.

Таблица 3.6 - Вычитание отношений M и N

ИД_Сотр Фамилия Зарплата
2 Поляков

 

Декартовым произведением двух отношений M(M1, M2,…Mn) и N(N1, N2,…Nm) называется отношение, заголовок которого является сцеплением заголовков отношений M и N: (M1, M2,…Mn, N1, N2,…Nm), а тело состоит из кортежей, являющихся сцеплением кортежей отношений M и N: (m1, m2, …mn, n1, n2,…nm), таких, что (m1, m2, …mnM, (n1, n2,…nmN.

Синтаксис операции декартового произведения: M TIMES N

Примечания:

мощность произведения M TIMES N равна произведению мощностей отношений M и N, т.к. каждый кортеж отношения M соединяется с каждым кортежем отношения N;

если в отношения M и N имеются атрибуты с одинаковыми наименованиями, то перед выполнением операции декартового произведения такие атрибуты необходимо переименовать;

перемножать можно любые два отношения, совместимость по типу при этом не требуется.

Пример 5. Пусть даны два отношения A и B с информацией о сотрудниках и о существующих должностях (таблицы 3.7 и 3.8).

Таблица 3.7 - Отношение A (Сотрудники) Таблица 3.8 - Отношение B (Должности)

ИД_Сотр Фамилия Стаж   ИД_Д Должность Зарплата
1 Иванов 1 Профессор
2 Поляков 2 Доцент
3 Сидоров 3 Ассистент

 

Декартово произведение отношений A и B будет иметь вид, представленный в таблице 3.9

Таблица 3.9 - Результат декартового произведения отношений A и B

ИД_Сотр Фамилия Стаж Ид_Д Должность Зарплата
Иванов Профессор
Иванов Доцент
Иванов Ассистент
Поляков Профессор
Поляков Доцент
Поляков Ассистент
Сидоров Профессор
Сидоров Доцент
Сидоров Ассистент

 

Примечание: в чистом виде декартово произведение не используется, так как оно не дает никакой новой информации, по сравнению с исходными отношениями. Для реальных запросов эта операция почти никогда не используется. Однако декартово произведение используется при выполнении различных специальных реляционных операций, в которых оно используется.

 



<== предыдущая лекция | следующая лекция ==>
Отношения, совместимые по типу | Специальные реляционные операторы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.301 сек.