Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
dbbook(2010.04.15).pdf
Скачиваний:
51
Добавлен:
09.06.2015
Размер:
2.14 Mб
Скачать

2.4.8. База данных

База данных D D( ) = fr(S) j S 2 g со схемой базы данных определяется как конечное множество отношений со схемами из схемы базы данных.

2.5. Операции реляционной алгебры

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

В реляционной алгебре выделяются унарные и бинарные операции.

2.5.1. Унарные операции

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

1)выборки (выборки строк),

2)проекции (выборки столбцов),

3)переименования атрибутов (переименования столбцов).

Дадим формальные определения операций выборки, проекции и переименования атрибутов:

1) hP ir(S) = ft(S) j t 2 r&P hSitg

2) hS0ir(S) r[S0] = ft0(S0) j 9t 2 r(t[S0] = t0)g, S0 S

3) h i f~ ~ j h 1i~ 2 g, ! ~, 1 ~ !

' r(S) = t(S) ' t r ' : S S ' : S S

Примечание. Обозначения унарных операторов ; ; – от Select, Project, Rename. Параметры этих операторов записываются в угловых скобках. Схемы отношений для отношений и их кортежей записываются в круглых скобках. Указание схемы отношения для отношений и кортежей во многих случаях опускается, так как отношения и принадлежащие им кортежи имеют одну и ту же схему и в формулах достаточно указать схему хотя бы в одном месте – для отношения или принадлежащего ему кортежа. В квадратных скобках записывается схема отношения, которую получает отношение-операнд в результате проекции. Таким образом, и r(S), и r[S0] имеют указанные в скобках схемы S и S0 соответственно, но во втором случае схема самого отношения S является надсхемой указанной схемы проекции S0

Оператор выборки hP i с условием выборки P P hSi в применении к отношению r(S) дает новое отношение с той же схемой S, состоящее из тех кортежей t(S) исходного отношения, которые удовлетворяют условию P hSit. Условие выборки P hSi записывается как выражение исчисления высказываний (с логическими связками not, and, or), зависящее от имен атрибутов схемы отношения. Применение условия к кортежу P hSit сводится к подстановке значений атрибутов кортежа вместо имен атрибутов. Null-значение условия выборки по умолчанию интерпретируется как false, то есть условие выборки P hSi по умолчанию рассматривается как IfNull(P hSi, false). (Напомним, что IfNull( , ) – это функция подмены null-значений.) Если требуется иная интерпретация, то следует условие выборки P hSi в операторе выборки hP i заменить на IfNull(P hSi, true). При такой замене условие выборки уже не будет принимать null-значений, и правило интерпретации по умолчанию не будет действовать, так как IfNull(IfNull(P hSi, true), false) = IfNull(P hSi, true).

Следующее выражение описывает неименованное отношение, содержащее (в терминах таблиц) те строки таблицы Сессия, которые удовлетворяют заданному условию выборки (МнемоП – мнемоническое наименование предмета):

hМнемоП = 0БД0 and Оценка> 4iСессия(№ ЗК, Ф, И, О, МнемоП, Оценка)

Оператор проекции hS0i (в префиксной записи) и [S0] (в постфиксной записи) на подсхему S0 в применении к отношению r(S) дает отношение с новой схемой S0, состоящее из проекций t[S0] кортежей исходного отношения. Проекция кортежа соответствует подстроке строки таблицы и определяется следующим образом:

t[S0] t(S)[S0] = fx(a) j a 2 def(t) \ S0g; S0 S

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

1)h№ ЗК, МнемоП, ОценкаiСессия(№ ЗК, Ф, И, О, МнемоП, Оценка)

2)h№ ЗК, МнемоП, ОценкаiСессия

3)Сессия[№ ЗК, МнемоП, Оценка]

Оператор переименования h i с функцией переименования ! ~, устанавливающей вза-

' ' : S S

имно однозначное соответствие между именами атрибутов схем и ~, в применении к отношению

S S

дает отношение со схемой ~, состоящее из кортежей исходного отношения с переименованными r(S) S

атрибутами.

Следующее выражение описывает неименованное отношение, полученное (в терминах таблиц) из таблицы Сессия заменой имен атрибутов (№ ЗК, Оценка) на (№ зачетки, Балл) соответственно:

h№ ЗК, Оценка ! № зачетки, БаллiСессия(№ ЗК, Ф, И, О, МнемоП, Оценка)

Из определений операций следуют следующие свойства. Группа 1. Соотношения мощностей:

1)j hP irj 6 jrj

2)j hS0irj 6 jrj

3)j h irj = jrj

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

Группа 2. Свойства идемпотентности:

1)hP i hP ir = hP ir

2)hS0i hS0ir = hS0ir

3)h'2i h'1ir(S) = h'2 '1ir, '1 : S ! S1, '2 : S1 ! S2, '2 '1 : S ! S2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]