Смекни!
smekni.com

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

Множества Di называют доменами.

N-арным отношением R называется некоторое подмножество декартова произведения этих множеств: R ÍD1 x D2 x . . . x Dn .

Пример.

Пусть заданы множества D1 = {а12345} и D2={b1,b2,b3}, тогда декартово произведение этих множеств запишется как

D1 x D2 = {<a1,b1>,<a1,b2>,<a1,b3>,<a2,b1>, . . .,<a5,b3>}.

Построим отношение R={<a1,b3>,<a2,b1>,<a2,b3>,<a3,b1>,<a3,b3>}.

Очевидно, что RÌ D1 x D2.

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

A1

A2

a1

b3

a2

b1

a2

b3

a3

b1

a3

b3

Атрибут Ai представляет собой подмножество домена Di . Для предыдущего примера атрибутами являются множества A1= {a1, a2, a3}, A2={b1,b3}, при этом A1Ì D1 и A2Ì D2.

Запись: R(A1,A2,…,An) называется схемой отношения R и содержит наряду с названием отношения названия атрибутов. Если атрибуты принимают значения из одного и того же домена, то они называются Q-сравнимыми, где Q - множество допустимых операций сравнения, заданных для данного домена. Схемы двух отношений называются эквивалентными, если они имеют одинаковую степень и возможно такое упорядочение имен атрибутов в схемах, что на одинаковых местах будут располагаться сравнимые атрибуты, то есть атрибуты, принимающие значения из одного домена.

Поскольку отношение - это подмножество, то следует отметить, что оно не может содержать двух одинаковых кортежей.

Подмножество K = {Ai1,Ai2,...,Aik} заданной схемы отношения R(A1,A2,…,An) будем называть ключом, если в двух различных кортежах отношения R значения в каждом атрибуте из K не все одинаковы и ни одно собственное подмножество K этим же свойством не обладает.

Другими словами, ключ - это такое множество атрибутов, которое при задании этих атрибутов однозначно определяет кортеж.

Отношение(в БД) моделирует реальную ситуацию, и в соответствии со свойствами отношений в таблице могут присутствовать только атрибуты, обладающие свойством симметричности.

В результате вышесказанного реляционная таблица обладает рядом специфических свойств:

1. В таблице нет двух одинаковых строк.

2. Таблица имеет столбцы, соответствующие атрибутам отношения.

3. Каждый атрибут в отношении имеет уникальное имя.

4. Порядок строк в таблице произвольный.

5. Два отношения, отличающиеся только порядком следования столбцов, интерпретируются как одинаковые.

Операции над отношениями выполняются методами реляционного исчисления и реляционной алгебры. Кодд показал, что реляционная алгебра и реляционное исчисление - эквивалентны.

3.4.1. Реляционная алгебра

Множество М вместе с набором операций


где ni – арность операции ji, называется алгебраической структурой, универсальной алгеброй или просто алгеброй. Множество М называется основным (несущим множеством), множество операций å называется сигнатурой.

Основным множеством в реляционной алгебре является множество отношений. Поскольку отношение можно представить в виде таблицы, то здесь в качестве операндов будем рассматривать реляционные таблицы. Пусть заданы отношения R и S, которые содержат перечни изделий, выпускаемых разными фирмами F1 и F2 соответственно.

S

Prod_id

Prod

1035

Cвитер

2241

Настольная лампа

2249

Светильник

2378

Бронзовая скульптура

R

Prod_id

Prod

1055

Cвингер

2246

Люстра

2249

Светильник

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

Объединением двух отношений R и S :R È S называется множество всех кортежей, содержащихся в R и S.

Q

Prod_id

Prod

1035

Cвитер

2241

Настольная лампа

1055

Cвингер

2246

Люстра

2249

Светильник

2378

Бронзовая скульптура

В результате операции объединения получим следующую таблицу:

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

Q

Prod_id

Prod

2249

Светильник

Пересечением R Ç S отношений R и S является множество кортежей, одновременно содержащихся в отношениях R и S.

В этом случае в отношении Q содержится перечень изделий, выпускаемых обеими фирмами.

Разностью R&bsol;S отношений R и S называется отношение, содержащее множество всех кортежей, содержащихся в R и не содержащих кортежи из S.

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

R&bsol;S

Q Необходимо отметить, что для получения перечня изделий, выпускаемых только фирмой F1, необходимо выполнить операцию S&bsol;R. В этом случае получаем отношение Q1 вида:
Prod_id Prod
1055 Свингер
2246 Люстра
Q1
Prod_id Prod
1035 Свингер
2241 Настольная лампа
2378 Бронзовая скульптура

Декартовым произведением RxS отношений R и S является множество кортежей t = <r1, r2,…,rm, S1, S2,…, Sn>, где первые m элементов кортежа t образуют кортеж из множества R, последние n элементов из отношения S, т.е. <r1, r2, …, rm > Î R и <S1, S2,…, Sn>ÎS. Рассмотрим две таблицы А и В.

А В
id N цвет статус
10 27 Зеленый Красный Cиреневый 22 17 54
11 35

В результате выполнения операции произведения получим таблицу Т=АхВ вида

Т
id N цвет статус
10 10 10 11 11 11 27 27 27 35 35 35 Зеленый Красный Сиреневый Зеленый Красный Сиреневый 22 17 54 22 17 54

Произведение создано путем присоединения к каждой строке таблицы А каждой строки таблицы В.

Выборкой aF(R) из отношения R является множество кортежей отношения R, для которых истинен предикат F.

Предикат – это некоторое условие, выраженное в форме логического утверждения. Условия в основном такие же, какие используются в операторе IF в выражениях традиционных языков программирования. В качестве операндов здесь выступают столбцы реляционной таблицы, используются арифметические операторы сравнения <, ≤, =, ≥ , ≠ , > и логические операторы ^ (И), | (ИЛИ), ¬ (НЕ). В выражении условия могут присутствовать скобки.