Операции в моделях данных. Навигационные и спецификационные операции, страница 2

Таблицу, к которой применима адресуемость по содержимому, будем называть ИНДЕКСИРОВАННОЙ таблицей, а столбец, по которому предусмотрена селекция - индексом.

Если индекс совпадает с ключом типа сущности, представляемого таблицей, то таблица называется ТАБЛИЦЕЙ С КЛЮЧОМ.

Рассмотрим особенности действий для данных типов таблиц. ВЫБОРКА данных соотносится всегда с индикатором текущей записи и интерпретация однозначна. ВКЛЮЧЕНИЕ зависит от типа таблицы:

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

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

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

После операции включения может быть ряд последствий для текущей:

¨  положение текущей не меняется,

¨  текущая указывает на включенную строку,

¨  текущая не определена.

УДАЛЕНИЕ не зависит от типа таблицы и соотносится с текущей. ОБНОВЛЕНИЕ зависит от типа таблицы. В упорядоченной таблице после модификации значения атрибута может требоваться переупорядочение. В таблице с ключом обновление ключа может не допускаться. После этой операции текущая обычно указывает на обновленную строку.

СПЕЦИФИКАЦИОННЫЕ ОПЕРАЦИИ.

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

К отношениям Т1 и Т2 как множествам применимы операции:

¨  объединения

T=T1 U T2 ={t:t є T1 OR t є T2},

¨  пересечения

T=T1 ^ T2 ={t:t є T1 AND t є T2},

¨  разности                            -

T=T1 \ T2 ={t:t є T1 AND t є T2}.

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

Пx  (Т)={ Пx  (t): t є T } , где t кортежи исходного отношения, а Пx (t) - проекция кортежа на множество Х.

Адресуемость по содержимому обеспечивается операцией ВЫБОРА:

SQ (T) = {t : t є T AND Q(t)=TRUE }.

Здесь Q - заданное условие (булево выражение, построенное на простых условиях для столбцов таблицы.

Операция ОБОБЩЕННОГО СОЕДИНЕНИЯ  определяется следующим образом. Пусть Т1 и Т2 таблицы с ключом, Х и Y совместимые подмножества столбцов Т1 и Т2, то есть кортежи

<x1,x2,...,xn>    (X C R(T1)) и

<y1,y2,...,yn>    (Y C R(T2))

таковы, что хi и yi сравнимы для каждого i. Пусть Q(X,Y) - некоторое булево выражение, заданное на простых условиях для пар (xi,yi).

Соединение двух таблиц Т1 и Т2 по условию Q(X,Y) есть таблица , определяемая выражением^

T=T1    T2 = {t1 U t2: t1єT1 AND t2єT2 AND Q(П (t1),П (t2))}

Q(X,Y)                                      Х      X

Здесь t1 U t2 соединение (конкатенация) строк t1 из Т1 и t2 из Т2.

Q(X,Y) - называется условием соединения.

Пример соединения двух таблиц  Т1 и Т2 приведен на рис.6.1.

Т1 (аудитории)                       Т2 (студенческие группы)

код

площадь

Количество мест

группа

факультет

Число студентов

Aud

S

Sta

Gr

F

Stg

325п    300         50            ПО-51      ИИТ         21

327п    300         25            ПО-71      ИИТ         28

Т (Варианты размещения групп в аудиториях)

Aud

S

Sta

Gr

F

Stg

325п    300     50     ПО-51        ИИТ      19

327п    300     50     ПО-51        ИИТ      19

325п    300     50     ПО-71        ИИТ      28

Рисунок 6.1

ЕСТЕСТВЕННЫМ СОЕДИНЕНИЕМ называется соединение таблиц с ключом по условию равенства, запрещающее дублирование в результативной таблице столбцов, по которым производилось соединение.

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

К числу основных проблем, связанных со спецификационными операциями, относятся:

¨  проблема именования порожденных этим типом операций объектов,

¨  проблема статуса новых объектов,

¨  возможность логического и физического представления объектов   в базе данных и другие.