Операции над отношениями. Операции обновления отношений

Страницы работы

Содержание работы

Лекция № 5а Операции над отношениями

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

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

 


Рис. 5.1.

Домены

D1

D2

...

Dn

Значения

d1

d2

dn

Рис. 5.2.

В дальнейшем для иллюстраций будем использовать следующие отношения

ORG (O, N, CITY, R)

POST (O, D, Q)

DET(D, DN, U, S)

Здесь первичные ключи отношений подчеркнуты.

Операции обновления отношений.

Теперь, когда у нас имеются отношения, возникает вопрос: как могут отношения изменятся во времени. Для этого используются операции добавления, удаления и изменения кортежей.

Операция добавление.

ADD (r; A1 = d1, A2 =d2, ..., An = dn)

Например для отношения POST оператор добавления может иметь вид:

ADD (POST; 0 =6, D =3, K =100)

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

n добавленный кортеж не соответствует схеме определенного отношения;

n некоторые значения кортежа не принадлежат соответствующим доменам;

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

ADD (POST; 0 = MMM, D = 3, Q =5)

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

DEL (r; A1 = d1, A2 = d2; ..., An = dn)

Например, для отношения POST может быть реализована операция удаления

DEL (POST; 0 = 6, D = 3, Q = 100)

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

DEL (ORG; 0 = 6)

Из отношения будут удален кортеж   (6, БББ, Благовещенск, 1200).

Вместо того, чтобы удалять и затем добавлять какой-либо кортеж отношения, можно изменять только часть кортежа:

СН (r; A1 = d1; A2 = d2; ..., An = dn; A1 = e1; A2 = e2; Ap = ep)

Если известен ключ отношения, то запись может быть сокращена:

СН(POST; 0 =3; D = 2; Q = 500)

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

Упражнение: определить результат операций:

ADD (ORG; 0 = 3, N = R; CITY = БАКУ; R = 7000)

DEL (POST; 0 = 2; D = 2)

CH (DET; D = 3; V = 4)

Рассмотрим теперь операции, позволяющие формировать отношения, удовлетворяющими данному запросу.

Например, для каждой поставленной детали найти наименование детали D и название всех городов из которых она поставляется.

REZ

D

CITY

DN

1

Москва

2

Москва

2

Хабаровск

2

Киев

3

Москва

4

Хабаровск

Результат должен быть получен ЭВМ с использованием операций над отношениями.

Рассмотрим здесь три наиболее употребительные операции:

SELECT ( ) - выбирать

PROJECT ( ) - проектировать

JOIN () - соединение.

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

Например,

W = 0=3 (ORG)

0

N

CITY

R

3

KKK

Киев

12000

W1 = 0=1 (POST)

0

D

K

1

1

300

1

2

200

1

3

300

Оператор проекции - предназначен для выбора подмножества столбцов в отношении. Пусть r отношение со схемой R и Х  R, проекция Х( r) есть отношение g со схемой Х, полученное вычеркиванием столбцов соответствующих атрибутов из R \ X и исключением из полученной таблицы повторяющихся строк.

(POST) =

0

1

2

3

Соединение отношений r и s соответственно со схемой R и S является отношение q = rs со схемой RS, содержащее кортежи, являющиеся комбинацией кортежа из r и кортежа из s с равными значениями атрибутов из RS.

Например:

POST  ORG

представляет собой отношение

0

D

Q

N

CITY

R

1

1

300

МММ

Москва

11000

1

2

200

МММ

Москва

11000

1

2

300

МММ

Москва

11000

2

4

400

ХХХ

Хабаровск

0

2

2

100

ХХХ

Хабаровск

0

3

2

100

ККК

Киев

11000

Применительно, к сформированному выше запросу имеем следующее выражение для городов, из которых поставлены детали:

N = (( POSTORG) DET)

Упражнение:

С использованием операций манипулирования отношениями написать формулу для реализации запроса «на какие склады, попадают детали, поставленные из Москвы».

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

Похожие материалы

Информация о работе

Предмет:
Базы данных
Тип:
Конспекты лекций
Размер файла:
81 Kb
Скачали:
0