Смекни!
smekni.com

Методические указания для студентов специальности 2205, 0755 «Проектирование и технология эвс», «Комплексная информационная безопасность автоматизированных систем» (стр. 7 из 21)

В результате выполнения операции «выборка» из реляционной таблицы получим реляционную таблицу, все кортежи которой будут удовлетворять заданному условию.

Пусть существует реляционная таблица, в которой перечислены фамилии студентов 1 курса и их оценки по предметам «Математика», «Физика», «Информатика». Необходимо найти всех студентов, которые сдали эти предметы на «5». Условное выражение в этом случае запишется как

(«Математика»=5)^(«Физика»=5)^(«Информатика»=5)

Пусть R (А1, А2,…, Аn) – n-арное отношение.

Проекцией Пх(R) отношения R на множество доменов Х={Аi1, …, Аik} называется такое множество всех кортежей t = <ν1, ν2,…, νk>, что существует кортеж r = <r1, …, rm> отношения k, в котором rij = νj, j =1, …, k. Операция “проекция” позволяет исключить из таблицы ненужные столбцы, т.е. во вновь создаваемую реляционную таблицу выбираются только необходимые столбцы. Необходимо отметить, что операция создания проекций автоматически удаляет повторяющиеся кортежи из результирующей таблицы.

Операция соединения используется для связывания данных между таблицами. Новое отношение строится посредством конкатенации кортежей двух исходных отношений. У этой операции есть несколько версий: естественное соединение, тета–соединение и внешнее соединение.

При естественном соединении связываются таблицы, когда общие столбцы имеют равные значения.

Пусть отношение А и В имеют следующие схемы отношения соответственно.

А = {x1, x2,…, xm y1,…, yn},

B = {y1,…, yn z1,… zp}

Естественным соединением называется отношение с заголовком {x, y, z} и телом, содержащим множество всех кортежей {X:x, Y:y, Z:z} ткаих, что в отношении А значение атрибута Х равно х, значение атрибута Y равно у, а в отношении В значение атрибута Y равно y, а атрибута Z равно z.

R Q В результате применения операции естественного соединения получим таблицу Т.
a1 a2 a3 b1 b2 b3 b1 b2 b3 c1 c2 c3
Т
a1 a2 a3 b1 b2 b3 c1 c2 c3

Тета-соединение – это соединение с определенным условием, в котором участвуют столбцы из каждой таблицы. Например, получить Р соединением А и В при условии L. Это означает, что два столбца будут определенным образом сравниваться, при этом может использоваться один из операторов сравнения =, ≠, <, >, ≤ , ≥ . То есть связываются таблицы, когда значения из определенных столбцов находятся в определенном отношении.

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

R Q В результате применения операции внешнего соединения получим таблицу Т1.
a1 a2 a3 b1 b3 b4 b1 b2 b4 c1 c2 c3
Т1
a1 a3 а2 - b1 b4 b3 b2 c1 c3 - c2

Операция деления создает новую таблицу путем выбора строк одной таблицы, соответствующих каждой строке другой таблицы. Является обратной операции декартова произведения. Для нее выполняется условие: (R*S)/S=R.

3.4.2. Реляционное исчисление

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

Логика предикатов является компонентом естественного языка и содержит те составные его части, которые не содержат внутри себя нечеткостей. Напомним, что предикат – это функция, аргументы которой принимают значения из предметной области М, и значение которой суть 0 или 1.

F(n)(…) : Mn ® {0,1}, Mn = M ´ M ´…´ M.

Введем алфавит, используемый в языке предикатов.

Сущность обозначают латинскими буквами a, b, c,…x, y, z. Множество, о котором будет идти речь, называется предметной областью и обозначается М. a, b, c,…x, y, z ÎМ Константные элементы из М обозначаются a, b, c. Буквами ближе к концу алфавита обозначаются переменные.

Для обозначения предикатов будем использовать функциональные символы, в скобках через запятую – последовательность констант и переменных: F(2)(x,y), S(1)(a), H(3)(x,y,z), индекс обозначает местность предиката.

Определим предикат <, он запишется - F(2)(x,y), где х, у ÎМ и М={1,2,…,9}.

Значение функции, константы и переменные объединяются одним названием – терм. При построении высказываний используются логические связи Ù - коньюнкция (И), Ú - дизьюнкция (ИЛИ), ¬ - отрицание (НЕ), ® импликация (ЕСЛИ…, ТО…), n – эквивалентность (ЕСЛИ И ТОЛЬКО ЕСЛИ), Ä - дизьюнкция с исключением (ИЛИ…, ИЛИ…).

Таблица 5.1

Таблица истинностей для операций

a b a
b
A
b
a
b
a
b
a~b
0 0

0

0

0

1

1

0 1

0

1

1

1

0

1 0

0

1

1

0

0

1 1

1

1

0

1

1

Кроме того, применяются термы сравнения, имеющие общий вид xi ○ xj , где ○ - символ операции сравнения: =, ≠, <, >, ≤ , ≥.

Кванторы существования $ и всеобщности " позволяют отнести высказывание ко всему рассматриваемому множеству.

Рассмотрим произвольный одноместный предикат F(x). Выражение ($х)F(x) означает, что существует х, для которого F(x) истинно.

0, если при любом х F(x) ложно;

($х)F(x) = 1, если существует хотя бы один х, при котором

высказывание F(x) - истина.

Выражение ("х) F(x) означает, что для всех х F(x) истинен.


0, если есть хотя бы один хÎМ, при котором F(x)=0;

("х) F(x) = 1, если для всех хÎМ, F(x) =1.

По определению кванторов всеобщности и существования имеем следующие соотношения:

($х)Р(x) ↔(P(b1) ÚP(b2) Ú…ÚP(bm);

("х)P(x)↔ (P(b1) ÙP(b2) Ù…ÙP(bm);

где {b1, b2,…,bm}=X – область определения аргумента х.

Реляционное исчисление и предикаты

В реляционном исчислении принято связывать с отношением R(A1, A2,…,An) некоторый предикат Р(х1, х2,…,xn), при этом аргументы (отношения и предиката) имеют одинаковые области определения таким образом, что, если Р(а1, а2,…,аn) =1, то кортеж 1, а2,…,аn) принадлежит отношению R, aiÎA, i = 1,…,n.

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

На основании предикатов, операций над ними и правил строятся правильные формулы.

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

, где x- переменная для кортежей; f - формула исчисления. Смысл запроса состоит в том, чтобы найти множество кортежей, для которых формула f(x) - истина.

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

сумма RÈS:{T|R(T)ÚS(T)};

произведение RÇS:{T|R(T)ÙS(T)};

разность R-S:{T|R(T)ÙØS(T)}.

Если вместо значений переменных для кортежей возьмем значения переменных для доменов? получим реляционное исчисление доменов.

3.5. Объектно-ориентированные БД

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