Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Реляционное исчисление

Пример

Деление

Пример

Соединение (Join)

Пусть имеются два отношения r (X, У) и s (Y, Z) и некоторое условие Q, где X, У, Z-— непересекающиеся множества атрибутов и Y— множество атрибутов, общих для r и s, тогда отношение

t = r >Q< s

называется Q-соединением r и s, если каждый кортеж, принадлежащий t, состоит из кортежей r и s, при выполненном условии Q. Справедлива следующая формула:

t = dQ (r * s),

то есть Q-соединение представляет собой декартово произведение r и s, над которым выполнена селекция по условию Q.

Из общей экзаменационной ведомости по всем дисциплинам получим экзаменационную ведомость по дисциплине математика. Для этого выполним операцию соединение (Join) при условии Код_дисц = “01”

 

ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ ПО ДИСЦИПЛИНЕ МАТЕМАТИКА

Ном_зач_кн ФИО Код_дисц Назв_дисц Дата Оценка
02-Э-01 Иванов И.И.   Математика 10.01.03  
02-Э-02 Петров Т.Т.   Математика 10.01.03  
02-Э-05 Серов С.С.   Математика 10.01.03  

Деление — это также бинарная несимметричная операция для получения некоторого отношения из двух исходных, причем степень результирующего отношения не совпадает со степенью ни одного из операндов, а вычисляется как разность между степенью отношения-делимого и степенью отношения-делителя.

Пусть имеются отношения r(Х, У) арности k1 и p(Z) арности k2, где Y и Z определены на одном домене, тогда отношение t = r ¸ p арности k1 – k2 называется делением r на p, если любой кортеж из t вместе с любым кортежем из p образуют кортеж, имеющийся в r.

Даны отношения, содержащие сведения об экзаменах, которые должны были сдавать студенты, и сведения о результатах сдачи этих экзаменов:

 

VEDOM RASP

Ном_зач_кн Фамилия Назв_дисц Дата   Назв_дисц Дата
02-Э-01 Иванов Физика 10.01.03   Химия 14.01.03
02-Э-01 Иванов Химия 14.01.03   Физика 10.01.03
02-Э-02 Сидоров Физика 10.01.03  
02-Э-02 Сидоров Химия 14.01.03
02-Э-05 Коровин Химия 14.01.03

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

t = r ¸ p

 

STUD = VEDOM ¸ RASP

Ном_зач_кн Фамилия
02-Э-01 Иванов
02-Э-02 Сидоров

Большинство работающих языков запросов основано на реляционном исчислении. Реляционные исчисления — непроцедурные системы. Исчисления выражают только то, каким должен быть результат вычисления, но не то, каким образом проводить вычисления. Эта обязанность возлагается на процессор языка запросов данной СУБД.

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

Реляционное исчисление кортежей является, по сути, формализацией системы обозначений, предназначенной для образования множеств. В реляционном исчислении используются булевы операции (И, ИЛИ, НЕ) над условиями, которые могут быть истинными или ложными. В нем также используются кванторы существования и всеобщности, означающие, соответственно, что элемент определенного типа существует или что условие истинно для каждого элемента определенного типа.

Рассмотрим отношение:

 

r — Деталь

Код_дет Назв_дет Вес
  А Д В С  

 

Запрос: Какие детали имеют вес, равный 2?

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

§ операцию Выбор над отношением r, результатом ее применения к отношению r является другое отношение, которое представляет собой подмножество кортежей отношения r со значением, равным 2 в атрибуте Вес:

 

Код_дет Назв_дет Вес
  Д В  

 

§ проецирование результата предыдущей операции на атрибут Назв_дет. Окончательный результат запроса будет выглядеть следующим образом:

 

Назв_дет
Д В

 

В реляционном же исчислении формулировка этого запроса должна иметь следующий вид:

{ t.Назв_дет ÷ t in r and t.Bec = 2},

где t — это переменная, обозначающая произвольную строку. Отношение, из которого берется t, определяется выражением “ in r”которое означает, что t— строка отношения.

t.Назв_дет — значение атрибута Назв_дет в строке r; символ (|) — разделяет целевой список и определяющее выражение. В данном случае:

t.Назв_дет — целевой список;

t in r and t.Bec = 2 — определяющее выражение;

t.Bec = 2 означает, что значение атрибута Вес в строке t равно 2.

Фигурные скобки "{}", в которые заключено выражение, определяют результат запроса, как множество значений данных. Что именно входит в это множество, описывает выражение в скобках. Приведенное здесь решение иллюстрирует почти все элементы реляционного исчисления.

<== предыдущая лекция | следующая лекция ==>
Выбор (Select) | Квантор существования
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 375; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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