Таблицу, к которой применима адресуемость по содержимому, будем называть ИНДЕКСИРОВАННОЙ таблицей, а столбец, по которому предусмотрена селекция - индексом.
Если индекс совпадает с ключом типа сущности, представляемого таблицей, то таблица называется ТАБЛИЦЕЙ С КЛЮЧОМ.
Рассмотрим особенности действий для данных типов таблиц. ВЫБОРКА данных соотносится всегда с индикатором текущей записи и интерпретация однозначна. ВКЛЮЧЕНИЕ зависит от типа таблицы:
¨ для последовательной таблицы включение производится до и после текущей, 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
ЕСТЕСТВЕННЫМ СОЕДИНЕНИЕМ называется соединение таблиц с ключом по условию равенства, запрещающее дублирование в результативной таблице столбцов, по которым производилось соединение.
Языки манипулирования данными могут содержать достаточно сложные универсальные конструкции, позволяющие специфицировать различные комбинации перечисленных операций для реализации конкретных запросов.
К числу основных проблем, связанных со спецификационными операциями, относятся:
¨ проблема именования порожденных этим типом операций объектов,
¨ проблема статуса новых объектов,
¨ возможность логического и физического представления объектов в базе данных и другие.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.