Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Теоретико – множественные операцииСодержание книги
Поиск на нашем сайте
Два отношения считаются совместимыми по типу или одного и того же типа, если оба отношения имеют одно и тоже множество атрибутов – одноименные атрибуты определены на доменах состоящих из элементов одного типа.
Пример. Даны два отношения C и D, совместимые по типу: С
D
1. Объединение - если даны отношения С и D одного и того же типа, то объединение этих отношений (С UNION D) является отношение того же типа с телом, состоящим из всех кортежей t, присутствующих в С или D или в обоих отношениях. (С UNION D)
Повторяющиеся кортежи удаляются по определению.
2. Разность – если даны два отношения С и D одного и того же типа, то разность этих отношений С MINUS D является отношение того же типа с телом состоящим из всех кортежей t таких, что t присутствует в С, но не в D.
С MINUS D
D MINUS С
3. Пересечение – если даны отношения С и D одного и того же типа, то пересечением этих отношений С INTERSECT D является отношение того же типа с телом, состоящих из всех кортежей t таких, что t присутствует одновременно в С и D. Повторяющиеся кортежи удаляются по определению отношения.
С INTERSECT D
4. Декартово произведение. Здесь отношения могут иметь разные схемы, необязательно совместимые по типу. Перед выполнением декартова произведения необходимо переименовать атрибуты отношений С и D так, чтобы отношения не имели одноименных атрибутов. Декартовым произведением двух отношений С и D (С TIMES D), не имеющих общих атрибутов, называется отношение с заголовком, представляющим собой сцепление (объединение) заголовков отношений С и D и телом, представляющим множество кортежей, которые получаются путем сцепления каждого кортежа отношения С с каждым кортежем из D. Даны отношения С и D:
D C
Декартово произведение отношений С и D: С TIMES D
Кардинальное число полученного отношения равно произведению кардинальных чисел отношений С и D –девяти, а степень равна сумме степеней отношений С и D – двум.
2. Специальные операции: Проекция – это унарная операция на отношениях, т.е. в этой операции участвует только одно отношение. Проекцией отношения, имеющего множество атрибутов R на некоторый список имен атрибутов L, называется отношение с заголовком, определяемым списком L и телом, множество кортежей которого получается из кортежей исходного отношения путем вычеркивания элементов соответствующих атрибутам R-L. Проекция дает вертикальное подмножество отношений. Пример1. Показать имена и статус всех поставщиков.
S {SNAME, STATUS}
Проекция, в который список атрибутов пустой называется нулевой проекцией. Часто удобно указывать не те атрибуты, по которым берется проекция, а те которые проекцией отбрасываются. P {All BUT WGT}
Выбор (селекция). Выбором из отношения D по условию F называется отношение имеющие тот же заголовок, что и отношение D и множество кортежей из исходного отношения для которых проверка условий F дает значение – истина. D WHERE X literal В качестве операций могут быть указаны операции сравнения (>,<,= и др.). Выбор дает горизонтальное подмножество кортежей. Литерал – это значение, указанное непосредственно в тексте программы. Пример2. Показать всю информацию о деталях красного цвета.
P WHERE COLOR= Red’
Соединение. Операция реляционной алгебры, связывающая отношения. Соединения бывают различных видов. Рассмотрим - соединение и естественное соединение. - соединение (соединение по условию). - соединением отношения С по атрибуту Х с отношением D по атрибуту Y называется результат вычисления следующего выражения (С TIMES D) WHERE X Y Если «>», то выбирать строки, где X > Y. Такое - соединение называется “ больше,чем”. Даны два отношения C и D. Выполнить - соединение отношений C и D по условию B < X. С D
(C TIMES D) WHERE B < X
Эквисоединение (равносоединение). Эквисоединение – это тета соединение, основанное на равенстве значений определенных столбцов. Здесь оператор равен «=»
(C TIMES D) WHERE X=Y Естественное соединение. Естественным соединением (C JOIN D) отношений C и D, имеющих множество атрибутов X,Y и Y,Z соответственно, где Y общее подмножество атрибутов из C и D, определенных на одних и тех же доменах, называется отношение с заголовком { X,Y,Z } и телом, содержащим множество кортежей таких, для которых в отношении C значение атрибута X равно x, а Y равно y, и в отношении D значение атрибута Z равно z. Пример естественного соединения отношений C и D: C D
C JOIN D
Пример3. Получить всю информацию о поставщиках и поставках. Выполнить естественное соединение (S JOIN SP) отношений S и SP.
Найдем сначала декартово произведение отношений S и SP. Перед выполнением этой операции необходимо переименовать атрибуты отношений так, чтобы у них не было одинаковых атрибутов. Переименуем атрибуты S# в отношении SP в атрибут SPS # S TIMES (SP RENAME S# As SPS#)
Таблица1. Декартово произведение отношений S и SP.
Выполним эквисоединение отношений S и SP. (S TIMES (SP RENAME S# As SPS#)) WHERE S# = SPS# Из предыдущей таблицы выберем строки, в которых значения атрибутов S# и SPS# равны. Получим следующее отношение.
Таблица 2. Эквисоединение отношений S и SP.
Если в этом отношении (Таблица 2) опустить один атрибут, например SPS#
((S TIMES (SP RENAME S# As SPS#)) WHERE S# = SPS#){All BUT SPS#}, (А)
то получим естественное соединение отношений S и SP. (S JOIN SP) (В)
Таблица 3. Естественное соединение отношений S и SP. Выражения (А) и (В) эквивалентны. Пример4. Определить имена поставщиков детали ‘P3’. Сначала выполняется естественное соединение отношений S и SP по общему атрибуту S#. Затем в результате соединения выбираются кортежи, в которых P# = ‘P3’ Получаем всю информацию о поставщиках и поставках детали ‘P3’.
(S JOIN SP) WHERE P = ‘P3’ (С)
Далее выполняется проекция по атрибуту SNAME полученной выборки:
((S JOIN SP) WHERE P# = ‘P3’){SNAME} (D)
Результат запроса:
Предыдущее выражение (D) можно преобразовать в логически эквивалентное и более рациональное выражение следующего вида: ((SP WHERE P# = ‘P3’) JOIN S){SNAME} (F)
Реляционная алгебра может служить хорошим основанием для оптимизации.
Деление. Пусть отношения С и D имеют заголовки {X1, X2, …, XM} {Y1, Y2, …, YN} соответственно. Заголовки не пересекаются. Пусть имеется отношение Z с заголовком {X1, X2, …, XM, Y1, Y2,…, YN}. Результат деления отношения С на отношение D по отношению Z (C DIVIDEBY D PER Z, где отношение С - делимое, отношение D - делитель, Z - отношение-посредник) называется отношение, содержащее такие значения Х из отношения С, для которых соответствующие значения Y из Z включают все значения Y из D. Z
С
D
C DIVIDEBY D PER Z
Лекция 5. Реляционное исчисление.
Реляционная модель в части манипулирования данными построена на базе реляционной алгебры и реляционного исчисления.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 294; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.146.152.23 (0.007 с.) |