Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Реляционная алгебра и язык SQL

Поиск

Основы реляционной алгебры

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

Рассмотрим вариант алгебры, который был предложен Коддом. Набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса - теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции:

· объединения отношений;

· пересечения отношений;

· взятия разности отношений;

· прямого произведения отношений.

Специальные реляционные операции включают:

· ограничение отношения;

· проекцию отношения;

· соединение отношений;

· деление отношений.

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

В рассмотренных ниже примерах используются следующие отношения:

P(D1,D2,D3) Q(D4,D5) R(M,P,Q,T) S(A,B)

1 11 x x 1 x 101 5 a 5 a

2 11 y x 2 y 105 3 a 10 b

3 11 z y 1 z 500 9 a 15 c

4 12 x w 50 1 b 2 d

w 10 2 b 6 a

w 300 4 b 1 b.

· ОБЪЕДИНЕНИЕ
Отношения-операнды в этом случае должны быть определены по одной схеме. Результирующее отношение содержит все строки операндов, за исключением повторяющихся.

 

· ПЕРЕСЕЧЕНИЕ
На входе операции два отношения, определенные по одной схеме. На выходе - отношение, содержащие кортежи, которые присутствуют в обоих исходных отношениях.

 

· РАЗНОСТЬ
Операция, во многом похожая на ПЕРЕСЕЧЕНИЕ, за исключением того, что в результирующем отношении содержатся кортежи, присутствующие в первом и отсутствующие во втором исходных отношениях.

 

· ДЕКАРТОВО ПРОИЗВЕДЕНИЕ

Входные отношения могут быть определены по разным схемам. Схема результирующего отношения включает все атрибуты исходных. Кроме того:

o степень результирующего отношения равна сумме степеней исходных отношений;

o мощность результирующего отношения равна произведению мощностей исходных отношений.

 

 

· ПРОЕКЦИЯ (ВЕРТИКАЛЬНОЕ ПОДМНОЖЕСТВО)

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

 

· ВЫБОРКА (ОГРАНИЧЕНИЕ, ГОРИЗОНТАЛЬНОЕ ПОДМНОЖЕСТВО)
На входе используется одно отношение, результат - новое отношение, построенное по той же схеме, содержащее подмножество кортежей исходного отношения, удовлетворяющих условию выборки.

 

· СОЕДИНЕНИЕ
Данная операция имеет сходство с ДЕКАРТОВЫМ ПРОИЗВЕДЕНИЕМ. Однако здесь добавлено условие, согласно которому вместо полного произведения всех строк в результирующее отношение включаются только строки, удовлетворяющие определенному соотношению между атрибутами соединения 1,A2) соответствующих отношений.

 

· ДЕЛЕНИЕ

Пусть отношение R, называемое делимым, содержит атрибуты (A1,A2,...,An). Отношение S - делитель содержит подмножество атрибутов A: (A1,A2,...,Ak)(k<n). Результирующее отношение C определено на атрибутах отношения R, которых нет в S, т.е. Ak+1,Ak+2,...,An. Кортежи включаются в результирующее отношение C только в том случае, если его декартово произведение с отношением S содержится в делимом R.

 

 

Язык SQL

 

Фактическим стандартом доступа к реляционным данным стал язык SQL (Structured Query Language). Язык SQL использует синтаксис, близкий к фразам английского языка.

Все СУБД, претендующие на название "реляционные", реализуют тот или иной диалект SQL. Целью стандартизации является переносимость приложений между различными СУБД.

Нужно заметить, что в настоящее время ни одна система не реализует стандарт SQL в полном объеме. Кроме того, во всех диалектах языка имеются возможности, не являющиеся стандартными. Таким образом, можно сказать, что каждый диалект - это надмножество некоторого подмножества стандарта SQL.

Язык SQL оперирует терминами, несколько отличающимися от терминов реляционной теории. Например, вместо "отношений" используются "таблицы", вместо "кортежей" - "строки", вместо "атрибутов" - "столбцы".

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

 

Операторы SQL. Основу языка SQL составляют операторы, разбитые на две группы по общности выполняемых функцияй:

Операторы DDL (Data Definition Language) - операторы определения объектов базы данных:

· CREATE TABLE - создать таблицу,

· ALTER TABLE - изменить таблицу,

· DROP TABLE - удалить таблицу,

· CREATE DOMAIN - создать домен,

· ALTER DOMAIN - изменить домен,

· DROP DOMAIN - удалить домен,

· CREATE VIEW - создать представление,

· DROP VIEW - удалить представление.

Операторы DML (Data Manipulation Language) - операторы манипулирования данными:

· SELECT - отобрать строки из таблиц,

· INSERT - добавить строки в таблицу,

· UPDATE - изменить строки в таблице,

· DELETE - удалить строки в таблице,

· COMMIT - зафиксировать внесенные изменения,

· ROLLBACK - откатить внесенные изменения.

Любая операция реляционной алгебры может быть выражена одним оператором SELECT.



Поделиться:


Последнее изменение этой страницы: 2016-12-16; просмотров: 1049; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.108.134 (0.008 с.)