Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Введение в реляционное исчисление




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

Назначение реляционной алгебры

Примеры

Получить имена поставщиков детали с номером ‘P2’:

((SP JOIN S) WHERE P# = ‘P2’) {SNAME}

Получить имена поставщиков по крайней мере одной красной детали:

(((P WHERE COLOR = ‘Красный’) JOIN SP){S#} JOIN S) {SNAME}

Получить имена поставщиков всех типов деталей:

((S{S#} DIVIDEBY P{P#} PER SP{S#,P#}) JOIN S) {SNAME}

Получить имена поставщиков, которые не поставляют деталь с номером ‘P2’:

((S{S#} MINUS (SP WHERE P#=’P2’){S#}) JOIN S) {SNAME}

 

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

§ Определение области выборки

§ Определение области обновления

§ Определение правил поддержки целостности данных

§ Определение производных переменных-отношений

§ Определение требований устойчивости, т.е. данных, которые должны быть включены в контролируемую область для некоторых операций управления параллельным доступом к информации.

§ Определение ограничений защиты, т.е. данных, для которых осуществляется тот или иной тип контроля доступа.

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

Запрос ((SP JOIN S) WHERE P#=’P2’) {SNAME}

может быть преобразован в более рациональное выражение вида:

((SP WHERE P#=’P2’) JOIN S) {SNAME}

Таким образом, реляционная алгебра может быть хорошим основанием для выполнения оптимизации (что должно производиться оптимизатором автоматически).

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


 

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

Пример 8.1. В качестве примера рассмотрим следующий запрос: «Выбрать номера поставщиков и названия городов, в которых находятся поставщики детали с номером ‘P2’». Алгебраическая версия запроса выглядит следующим образом: 1) сначала выполнить соединение отношения поставщиков S и отношения поставок по атрибуту S#; 2) Выбрать из результата соединения кортежи с номером детали ‘P2’; 3)Выполнить проекцию для результата этой выборки по атрибутам S# и CITY.

В терминах реляционного исчисления запрос формулируется следующим образом:

Получить атрибуты S# и CITY для таких поставщиков S, для которых в отношении SP существует запись о поставке с тем же значением атрибута S# и со значением атрибута P#, равным ‘P2’.

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

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

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

Реляционное исчисление основано на разделе математической логики, которое называется исчислением предикатов. Основным понятием реляционного исчисления является понятие переменной кортежа – переменная, «изменяющаяся на» некотором заданном отношении, т.е. переменная, допустимыми значениями для которой являются кортежи заданного отношения. Другими словами, если переменная кортежа V изменяется в пределах отношения r, то в любой заданный момент времени переменная V представляет некоторый кортеж t отношения r.

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

 




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 460; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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