В основе
(рис 4.1) Расписание движения автобусов по маршруту "Москва - Черноголовка - Москва" как отношение
Подходы к определению понятия отношения могут быть различными.
Введем ряд математических определений, связанных с понятием отношения.
Определение 1.
Декартово произведение ПустьD1, D2, ..., Dn- произвольные конечные множества, не обязательно различные. Декартовым произведением этих множеств $$D_1 \times D_2 \times \dots \times D_2$$ называется множество вида $$\{(d_1, d_2, \dots, d_n), d_1 \in D_1, d_2 \in D_2, \dots, d_n \in D_n \}.$$ Пример: $$D_1 = \{a, b\}, D_2 = \{d, c\}\dot D_1 \times D_2 = \{ad, ac, bd, bc\}$$Определение 2.
Схема отношения Пусть $$A_1(D_1), A_2(D_2), \dots, A_n(D_n)$$ - имена атрибутов. Схемой
rотношенияRназывается конечное множество имен атрибутов $$r = \{A_1(D_1), A_2(D_2), \dots, A_n(D_n)\}.$$Определение 3. Отношение
Отношением со схемой
rна конeчных множествахD1, D2,…, Dnназывается подмножествоRдекартового произведения $$D_1 \times D_2 \times \dots \times D_n.$$
Элементы отношения (d1, d2, ..., dn), как уже упоминалось выше, называются кортежами. О каждом отношении, являющимся подмножеством декартового произведения $$D_1 \times D_2 \times \dots \times D_n.,$$ можно сказать, что оно имеет n. Кортеж (d1, d2, ..., dn) имеет n компонентов. Для обозначения кортежа применяется и сокращенная форма записи d1, d2, ..., dn. Использование понятия декартового произведения для определения отношения в
Табличная форма представления отношения была введена в целях популяризации модели среди неподготовленных пользователей баз данных. Трактовка реляционной теории на уровне таблиц скрывает ряд определений, важных для понимания как
Во-первых,
Существует определенное различие между математическим определением отношения и действительным хранением отношений в памяти компьютера. По определению, отношение не может иметь два идентичных кортежа. Однако СУБД, поддерживающие
С математической точки зрения однородность реляционной модели, о которой упоминалось выше, состоит в том, что
Как мы уже упоминали выше, отношения можно представлять в виде таблиц. Но в табличном представлении сложно показывать некоторые свойства отношений. Например, неоднозначность трактовки домена колонки. Поэтому предпринимаются попытки строить более четкие схемы описания отношений в реляционных базах данных. Ниже представлен фрагмент такого описания в виде примера схемы базы данных "КАДРЫ":
СХЕМА "ОТДЕЛ_КАДРОВ" ДОМЕН Т_Табельный_номер ТИП целое ДОМЕН Т_ФИО ТИП символьное ДОМЕН Т_Зарплата ТИП десятичное с фиксированной точкой ..... ОТНОШЕНИЕ Служащий ( Табельный-номер / КЛЮЧ / ДОМЕН = Т_Табельный-номер, ФИО / ДОМЕН = Т_ФИО, .... ) .... КОНЕЦ ОПИСАНИЯ СХЕМЫ.
Подобное описание не прижилось среди проектировщиков баз данных. На практике прибегают к такому описанию крайне редко.
Для дальнейшего изложения нам понадобится одно из самых важных понятий обработки данных - понятие ключа.
Ключом или
Внимание! На данном этапе изложения мы не проводим особого различия между понятиями "ключ отношения" и "ключ сущности" предметной области, хотя далее мы будем эти ключи различать.
Заметим, что в определении ключа не требуется однозначной идентификации
Принято различать R со схемой r является подмножество сужения декартового произведения, которое позволяет однозначно идентифицировать кортеж. Если первичный ключ содержит несколько атрибутов, то он называется
Из определения отношения следует следующее важное свойство
Заметим, что ключ в контексте
Пример: рассмотрим предложение "Гражданин Иванов проживал в городе Москве 10 лет". Возможными атрибутами в отношении Место_жительства являются фамилия гражданина, название города проживания и время проживания. Фамилия гражданина может выступать в качестве первичного ключа этого отношения, так как личность однозначно определяет время ее проживания в конкретном городе. Таким образом, в этом отношении моделируется связь "проживал" между атрибутами "фамилия" и "город".
Отношения в
ИМЯ_ОТНОШЕНИЯ (Атрибуты первичного ключа, неключевые атрибуты). Пример. Представление связи отношением. Представим связь между личностью и местом ее проживания через отношение ПРОЖИВАЕТ (Кл. личность, Кл. населенный_пункт, время) Описание личности: ЛИЧНОСТЬ (Кл. личность, ФИО, возраст, пол) Описание населенного пункта: НАСЕЛЕННЫЙ_ПУНКТ (Кл.населенный_пункт, география, население)
Однако наибольшее распространение получило представление отношений в виде графических диаграмм, например
Отметим, что представление фрагментов реального мира через отношения даже в рамках одной модели данных не характеризуется единственностью. Например, зададимся вопросом: "Что есть цвет автомобиля? Связь, объект или атрибут?" Если за объект принять автомобиль, то цвет может выступать в качестве атрибута автомобиля. Если рассматривать зависимость отражательной способности покрытия автомобиля от его цвета, то цвет можно считать объектом. Если рассматривать взаимосвязь между цветом модели автомобиля и ее номером, то цвет можно считать связью.
В любом случае при представлении какого-либо качества реального мира в модели следует четко понимать, какие запросы в рамках создаваемой модели данных должны быть разрешимыми. Рассмотрим отношение КРАСНЫЙ (модель). При использовании такого отношения на вопрос: "Является ли модель X красного цвета?" может быть получен ответ: "Да" или "Нет". Вопрос: "Какой цвет у модели Х?" ответа не имеет, так как в отношении отсутствует атрибут "цвет".
В итоге сформулируем основные свойства
Классическая
Рассмотрим каждую из операций. Отметим, что операции выполняются над отношением в целом, а не над отдельным
Определение 4.
Степень отношения есть число входящих в него атрибутов или мощностьсхемы отношения (как множества).
Определение 5. Мощность отношения есть число входящих кортежей или кардинальное число отношения (как множества).
Определение 6. Два отношения называются совместными, если они имеют совместные схемы (совпадают
схемы отношений и домены соответствующих атрибутов).
Пусть Qa, Qb, Qc - множество кортежей отношений А, B, С соответственно. A и B. Результатом А и B, отличные от A. Таким образом,
Пример. Объединение отношений. Выполним операцию объединения отношений КЛИЕНТ_1 и КЛИЕНТ_2. Исходные отношения: КЛИЕНТ_1 (#, Фамилия, Возраст) и КЛИЕНТ_2 (#, Фамилия, Возраст)
| КЛИЕНТ_1 | КЛИЕНТ_2 | |||||
|---|---|---|---|---|---|---|
| 1 | Иванов | 20 | 1 | Иванов | 20 | |
| 3 | Петров | 23 | 2 | Исаев | 30 | |
| 4 | Фролов | 49 | ||||
Результирующее отношение:
КЛИЕНТ (#, Фамилия, Возраст) = КЛИЕНТ_1 " КЛИЕНТ_2
| 1 | Иванов | 20 |
| 3 | Петров | 23 |
| 4 | Фролов | 49 |
| 2 | Исаев | 30 |
А и В. Результатом С, которое включает в себя А, полностью совпадающие с В. Таким образом,
Пример. Пересечение отношений. Выполним операцию пересечения отношений КЛИЕНТ_1 и КЛИЕНТ_2. Исходные отношения: КЛИЕНТ_1 (#, Фамилия, Возраст) и КЛИЕНТ_2 (#, Фамилия, Возраст)
| КЛИЕНТ_1 | КЛИЕНТ_2 | |||||
|---|---|---|---|---|---|---|
| 1 | Иванов | 20 | 1 | Иванов | 20 | |
| 3 | Петров | 23 | 2 | Исаев | 30 | |
| 4 | Фролов | 49 | ||||
Результирующее отношение:
КЛИЕНТ (#, Фамилия, Возраст) = КЛИЕНТ_1 " КЛИЕНТ_2
| 1 | Иванов | 20 |
Операция А и В. Результатом С, которое включает в себя А, отличные от В. Таким образом, разность отношений можно представить с помощью
Отметим для дальнейшего, что Qa - (Qa - Qb).
Пример. Разность отношений. Выполним операцию разности отношений КЛИЕНТ_1 и КЛИЕНТ_2. Исходные отношения: КЛИЕНТ_1 (#, Фамилия, Возраст) и КЛИЕНТ_2 (#, Фамилия, Возраст)
| КЛИЕНТ_1 | КЛИЕНТ_2 | |||||
|---|---|---|---|---|---|---|
| 1 | Иванов | 20 | 1 | Иванов | 20 | |
| 3 | Петров | 23 | 2 | Исаев | 30 | |
| 4 | Фролов | 49 | ||||
Результирующее отношение:
КЛИЕНТ (#, Фамилия, Возраст) = КЛИЕНТ_1 - КЛИЕНТ_2
| 3 | Петров | 23 |
| 4 | Фролов | 49 |
Операция декартова произведения выполняется над двумя произвольными отношениями А и В. Результатом операции декартова произведения является отношение С, степень которого равна сумме степеней исходных отношений, а мощность - произведению мощностей исходных отношений. Таким образом,
Пример. Операция "декартово произведение". Выполним операцию декартова произведения отношений СЛУЖАЩИЕ и МЕДОСМОТР. Исходные отношения: СЛУЖАЩИЕ (#, Фамилия, Пол) МЕДОСМОТР (Процедура, Дата)
| СЛУЖАЩИЙ | МЕДОСМОТР | ||||
|---|---|---|---|---|---|
| 1 | Иванов | М | ЭКГ | 17.08 | |
| 5 | Антонова | Ж | Анализ крови | 20.08 | |
| Терапевт | 23.08 | ||||
Результирующее отношение:
РЕЗУЛЬТАТЫ_МЕДОСМОТРА ( #, Фамилия, Пол, Процедура, Дата ) =
СЛУЖАЩИЙ Х МЕДОСМОТР
| 1 | Иванов | м | ЭКГ | 17.08 |
| 1 | Иванов | м | Анализ крови | 20.08 |
| 1 | Иванов | м | Терапевт | 23.08 |
| 5 | Антонова | ж | ЭКГ | 17.08 |
| 5 | Антонова | ж | Анализ крови | 20.08 |
| 5 | Антонова | ж | Терапевт | 23.08 |
А. Результатом выполнения А является отношение С, которое включает в себя все А, но только с теми атрибутами, на которые выполняется
Для обозначения проекции в i1, i2, …, iN, где N - число атрибутов проекции.
Таким образом, Qa и упорядочивании оставшихся атрибутов.
Пример. Проекция отношения. Выполним операцию проекции отношения СОТРУДНИК на атрибуты ОТДЕЛ и ДОЛЖНОСТЬ. Исходное отношение: СОТРУДНИК (#, Фамилия, Отдел, Должность)
| 1 | Иванов | 12 | Инженер |
| 2 | Исаев | 11 | Гл.специалист |
| 3 | Петров | 11 | Инженер |
| 4 | Фролов | 11 | Инженер |
| 5 | Антонова | 12 | Конструктор |
Результирующее отношение:
ДОЛЖНОСТЬ (Отдел, Должность) = p (Отдел, Должность)
| 12 | Инженер |
|---|---|
| 11 | Гл.специалист |
| 11 | Инженер |
| 12 | Конструктор |
Операция А и В, где А - отношение-B - отношение-делитель. При этом атрибуты B должны являться подмножеством атрибутов A. Результатом выполнения операции деления является отношение С, которое включает в себя атрибуты отношения А, отличные от атрибутов отношения В, и только те кортежи, декартовы произведения которых с отношением В дают отношение А:
Представление частного отношений через другие алгебраические операции может быть получено следующим образом. Предположим, что $$Q_b \neq \oslash.$$ Пусть n и m - Qa и Qb, n > m. Тогда t степени n - m, таких, что для всех кортежей s степени m из Qb, кортеж ts принадлежит Qa. Пусть $$Т = \pi_{1, 2, \dots, (n - m)} (Q_a).$$ Тогда $$(T \times Q_b) - Q_a$$ есть множество кортежей степени n, не принадлежащих Qa. Каждый из них формируется из n - m первых компонентов кортежа из Qa, за которым следуют компоненты кортежа Qb. Пусть далее $$V =\pi_{1, 2, \dots, (n - m)} (T \times Q_b ) - Q_a)$$
есть множество кортежей t степени n - m, состоящих из первых n - m компонентов Qa, причем для каждого из них в Qb существует некоторый кортеж s степени m, такой, что ts не принадлежит Qa. Таким образом, разность отношений T - V есть, по определению, частное отношений $$Q_a \div Q_b.$$
Пример. Деление отношений. Выполним операцию деления отношения РЕЗУЛЬТАТЫ_МЕДОСМОТРА на отношение МЕДОСМОТР. Исходные отношения: РЕЗУЛЬТАТЫ_МЕДОСМОТРА (#, Фамилия, Пол, Процедура, Дата) МЕДОСМОТР (Процедура, Дата )
| 1 | Иванов | М | ЭКГ | 17.08 |
| 1 | Иванов | М | Анализ крови | 20.08 |
| 1 | Иванов | М | Терапевт | 23.08 |
| 5 | Антонова | Ж | ЭКГ | 17.08 |
| 5 | Антонова | Ж | Анализ крови | 20.08 |
| 5 | Антонова | Ж | Терапевт | 23.08 |
Результирующее отношение:
| ЭКГ | 17.08 |
| Анализ крови | 20.08 |
| Терапевт | 23.08 |
СЛУЖАЩИЙ (#, Фамилия, Пол) = РЕЗУЛЬТАТЫ_МЕДОСМОТРА / МЕДОСМОТР
| 1 | Иванов | М |
| 5 | Антонова | Ж |
Операция выбора ( А. Результатом выполнения операции выбора является отношение С, которое включает в себя А, удовлетворяющие заданному условию (критерию выбора). Операция выбора из отношения может быть представлена следующим образом:
где s обозначает операцию выбора, F - критерий выбора на множестве атрибутов в форме логического выражения, образованного с помощью определенных операндов (константы, имена атрибутов, арифметические операции сравнения, логические операции).
Пример. Селекция отношения. Произведем выбор из отношения СЛУЖАЩИЕ по критерию "Возраст >= 30". Исходное отношение: СЛУЖАЩИЕ (#, Фамилия, Возраст)
| 1 | Иванов | 20 |
| 2 | Исаев | 30 |
| 3 | Петров | 23 |
| 4 | Фролов | 49 |
| 5 | Антонова | 25 |
Критерий выбора: Возраст >= 30
Результирующее отношение:
СЛУЖАЩИЕ (#, Фамилия, Возраст)
| 2 | Исаев | 30 |
| 4 | Фролов | 49 |
Операция q - А и В. Результатом выполнения операции $$\theta$$ -соединения является отношение С, которое включает в себя все кортежи со всеми атрибутами исходных отношений А и В, удовлетворяющими заданному условию. В каждом отношении выделяется
где n - Q_a ; $$\theta$$ - i, j - номера атрибутов в Q_a и Q_b соответственно, по которым выполняется
Рассмотрим частные случаи $$\theta$$ -соединения.
Если $$\theta$$ есть
Различают еще R1 (A1, A2,..., An, B1, ...) и R2 (A1, A2, ..., An, C1, ...) - исходные отношения, тогда
А, который именует некоторую колонку в R1 и какую-либо колонку в R2, выберем те кортежи из $$R_1 \times R_2,$$ у которых совпадают значения в колонках R1.А и R2.А, где R1.А - имя колонки в $$R_1 \times R_2,$$ соответствующее колонке А из R1. Аналогично для R2.А.;R2.А.
Формально, если A1, A2, ..., An являются именами атрибутов, используемых и в R1, и в R2, то Qc = R1 >< R2 есть $$Q_c=\Pi_{i_{1},i_{2},\dots,i_{m}} (\sigma_{R_{1}\dotA_{1}=R_{2}\dotA_{1} and \ldots R_{1}\dotA_{n}=R_{2}\dotA_{n}}(Q_a \times Q_b))$$Пример. Соединение отношений. Выполним операцию естественного соединения отношений ЭКЗАМЕН_ВЕДОМОСТЬ и ГРУППА по атрибуту "Группа". Исходные отношения: ЭКЗАМЕН_ВЕДОМОСТЬ (Студент, Дисциплина, Оценка, Группа)
| Иванов | Математика | 5 | 12 |
| Петров | Математика | 3 | 10 |
| Исаев | Математика | 4 | 11 |
| Антонова | Математика | 3 | 12 |
ГРУППА (Курс, Группа, Наименование)
| 5 | 10 | |
| 5 | 11 |
Результирующее отношение:
РЕЗУЛЬТАТ (Студент, Дисциплина, Оценка, Группа, Курс, Наименование)
| Петров | Математика | 3 | 10 | 5 | |
| Исаев | Математика | 4 | 11 | 5 |
Таким образом, в этом разделе мы ввели понятие отношения как подмножества
Литература: [1], [2], [3], [4], [5], [6], [11], [14], [15], [16], [20], [37], [39], [42], [43], [44], [45], [47].
В основе
(рис 4.1) Расписание движения автобусов по маршруту "Москва - Черноголовка - Москва" как отношение
Подходы к определению понятия отношения могут быть различными.
Введем ряд математических определений, связанных с понятием отношения.
Определение 1.
Декартово произведение ПустьD1, D2, ..., Dn- произвольные конечные множества, не обязательно различные. Декартовым произведением этих множеств $$D_1 \times D_2 \times \dots \times D_2$$ называется множество вида $$\{(d_1, d_2, \dots, d_n), d_1 \in D_1, d_2 \in D_2, \dots, d_n \in D_n \}.$$ Пример: $$D_1 = \{a, b\}, D_2 = \{d, c\}\dot D_1 \times D_2 = \{ad, ac, bd, bc\}$$Определение 2.
Схема отношения Пусть $$A_1(D_1), A_2(D_2), \dots, A_n(D_n)$$ - имена атрибутов. Схемой
rотношенияRназывается конечное множество имен атрибутов $$r = \{A_1(D_1), A_2(D_2), \dots, A_n(D_n)\}.$$Определение 3. Отношение
Отношением со схемой
rна конeчных множествахD1, D2,…, Dnназывается подмножествоRдекартового произведения $$D_1 \times D_2 \times \dots \times D_n.$$
Элементы отношения (d1, d2, ..., dn), как уже упоминалось выше, называются кортежами. О каждом отношении, являющимся подмножеством декартового произведения $$D_1 \times D_2 \times \dots \times D_n.,$$ можно сказать, что оно имеет n. Кортеж (d1, d2, ..., dn) имеет n компонентов. Для обозначения кортежа применяется и сокращенная форма записи d1, d2, ..., dn. Использование понятия декартового произведения для определения отношения в
Табличная форма представления отношения была введена в целях популяризации модели среди неподготовленных пользователей баз данных. Трактовка реляционной теории на уровне таблиц скрывает ряд определений, важных для понимания как
Во-первых,
Существует определенное различие между математическим определением отношения и действительным хранением отношений в памяти компьютера. По определению, отношение не может иметь два идентичных кортежа. Однако СУБД, поддерживающие
С математической точки зрения однородность реляционной модели, о которой упоминалось выше, состоит в том, что
Как мы уже упоминали выше, отношения можно представлять в виде таблиц. Но в табличном представлении сложно показывать некоторые свойства отношений. Например, неоднозначность трактовки домена колонки. Поэтому предпринимаются попытки строить более четкие схемы описания отношений в реляционных базах данных. Ниже представлен фрагмент такого описания в виде примера схемы базы данных "КАДРЫ":
СХЕМА "ОТДЕЛ_КАДРОВ" ДОМЕН Т_Табельный_номер ТИП целое ДОМЕН Т_ФИО ТИП символьное ДОМЕН Т_Зарплата ТИП десятичное с фиксированной точкой ..... ОТНОШЕНИЕ Служащий ( Табельный-номер / КЛЮЧ / ДОМЕН = Т_Табельный-номер, ФИО / ДОМЕН = Т_ФИО, .... ) .... КОНЕЦ ОПИСАНИЯ СХЕМЫ.
Подобное описание не прижилось среди проектировщиков баз данных. На практике прибегают к такому описанию крайне редко.
Для дальнейшего изложения нам понадобится одно из самых важных понятий обработки данных - понятие ключа.
Ключом или
Внимание! На данном этапе изложения мы не проводим особого различия между понятиями "ключ отношения" и "ключ сущности" предметной области, хотя далее мы будем эти ключи различать.
Заметим, что в определении ключа не требуется однозначной идентификации
Принято различать R со схемой r является подмножество сужения декартового произведения, которое позволяет однозначно идентифицировать кортеж. Если первичный ключ содержит несколько атрибутов, то он называется
Из определения отношения следует следующее важное свойство
Заметим, что ключ в контексте
Пример: рассмотрим предложение "Гражданин Иванов проживал в городе Москве 10 лет". Возможными атрибутами в отношении Место_жительства являются фамилия гражданина, название города проживания и время проживания. Фамилия гражданина может выступать в качестве первичного ключа этого отношения, так как личность однозначно определяет время ее проживания в конкретном городе. Таким образом, в этом отношении моделируется связь "проживал" между атрибутами "фамилия" и "город".
Отношения в
ИМЯ_ОТНОШЕНИЯ (Атрибуты первичного ключа, неключевые атрибуты). Пример. Представление связи отношением. Представим связь между личностью и местом ее проживания через отношение ПРОЖИВАЕТ (Кл. личность, Кл. населенный_пункт, время) Описание личности: ЛИЧНОСТЬ (Кл. личность, ФИО, возраст, пол) Описание населенного пункта: НАСЕЛЕННЫЙ_ПУНКТ (Кл.населенный_пункт, география, население)
Однако наибольшее распространение получило представление отношений в виде графических диаграмм, например
Отметим, что представление фрагментов реального мира через отношения даже в рамках одной модели данных не характеризуется единственностью. Например, зададимся вопросом: "Что есть цвет автомобиля? Связь, объект или атрибут?" Если за объект принять автомобиль, то цвет может выступать в качестве атрибута автомобиля. Если рассматривать зависимость отражательной способности покрытия автомобиля от его цвета, то цвет можно считать объектом. Если рассматривать взаимосвязь между цветом модели автомобиля и ее номером, то цвет можно считать связью.
В любом случае при представлении какого-либо качества реального мира в модели следует четко понимать, какие запросы в рамках создаваемой модели данных должны быть разрешимыми. Рассмотрим отношение КРАСНЫЙ (модель). При использовании такого отношения на вопрос: "Является ли модель X красного цвета?" может быть получен ответ: "Да" или "Нет". Вопрос: "Какой цвет у модели Х?" ответа не имеет, так как в отношении отсутствует атрибут "цвет".
В итоге сформулируем основные свойства
Классическая
Рассмотрим каждую из операций. Отметим, что операции выполняются над отношением в целом, а не над отдельным
Определение 4.
Степень отношения есть число входящих в него атрибутов или мощностьсхемы отношения (как множества).
Определение 5. Мощность отношения есть число входящих кортежей или кардинальное число отношения (как множества).
Определение 6. Два отношения называются совместными, если они имеют совместные схемы (совпадают
схемы отношений и домены соответствующих атрибутов).
Пусть Qa, Qb, Qc - множество кортежей отношений А, B, С соответственно. A и B. Результатом А и B, отличные от A. Таким образом,
Пример. Объединение отношений. Выполним операцию объединения отношений КЛИЕНТ_1 и КЛИЕНТ_2. Исходные отношения: КЛИЕНТ_1 (#, Фамилия, Возраст) и КЛИЕНТ_2 (#, Фамилия, Возраст)
| КЛИЕНТ_1 | КЛИЕНТ_2 | |||||
|---|---|---|---|---|---|---|
| 1 | Иванов | 20 | 1 | Иванов | 20 | |
| 3 | Петров | 23 | 2 | Исаев | 30 | |
| 4 | Фролов | 49 | ||||
Результирующее отношение:
КЛИЕНТ (#, Фамилия, Возраст) = КЛИЕНТ_1 " КЛИЕНТ_2
| 1 | Иванов | 20 |
| 3 | Петров | 23 |
| 4 | Фролов | 49 |
| 2 | Исаев | 30 |
А и В. Результатом С, которое включает в себя А, полностью совпадающие с В. Таким образом,
Пример. Пересечение отношений. Выполним операцию пересечения отношений КЛИЕНТ_1 и КЛИЕНТ_2. Исходные отношения: КЛИЕНТ_1 (#, Фамилия, Возраст) и КЛИЕНТ_2 (#, Фамилия, Возраст)
| КЛИЕНТ_1 | КЛИЕНТ_2 | |||||
|---|---|---|---|---|---|---|
| 1 | Иванов | 20 | 1 | Иванов | 20 | |
| 3 | Петров | 23 | 2 | Исаев | 30 | |
| 4 | Фролов | 49 | ||||
Результирующее отношение:
КЛИЕНТ (#, Фамилия, Возраст) = КЛИЕНТ_1 " КЛИЕНТ_2
| 1 | Иванов | 20 |
Операция А и В. Результатом С, которое включает в себя А, отличные от В. Таким образом, разность отношений можно представить с помощью
Отметим для дальнейшего, что Qa - (Qa - Qb).
Пример. Разность отношений. Выполним операцию разности отношений КЛИЕНТ_1 и КЛИЕНТ_2. Исходные отношения: КЛИЕНТ_1 (#, Фамилия, Возраст) и КЛИЕНТ_2 (#, Фамилия, Возраст)
| КЛИЕНТ_1 | КЛИЕНТ_2 | |||||
|---|---|---|---|---|---|---|
| 1 | Иванов | 20 | 1 | Иванов | 20 | |
| 3 | Петров | 23 | 2 | Исаев | 30 | |
| 4 | Фролов | 49 | ||||
Результирующее отношение:
КЛИЕНТ (#, Фамилия, Возраст) = КЛИЕНТ_1 - КЛИЕНТ_2
| 3 | Петров | 23 |
| 4 | Фролов | 49 |
Операция декартова произведения выполняется над двумя произвольными отношениями А и В. Результатом операции декартова произведения является отношение С, степень которого равна сумме степеней исходных отношений, а мощность - произведению мощностей исходных отношений. Таким образом,
Пример. Операция "декартово произведение". Выполним операцию декартова произведения отношений СЛУЖАЩИЕ и МЕДОСМОТР. Исходные отношения: СЛУЖАЩИЕ (#, Фамилия, Пол) МЕДОСМОТР (Процедура, Дата)
| СЛУЖАЩИЙ | МЕДОСМОТР | ||||
|---|---|---|---|---|---|
| 1 | Иванов | М | ЭКГ | 17.08 | |
| 5 | Антонова | Ж | Анализ крови | 20.08 | |
| Терапевт | 23.08 | ||||
Результирующее отношение:
РЕЗУЛЬТАТЫ_МЕДОСМОТРА ( #, Фамилия, Пол, Процедура, Дата ) =
СЛУЖАЩИЙ Х МЕДОСМОТР
| 1 | Иванов | м | ЭКГ | 17.08 |
| 1 | Иванов | м | Анализ крови | 20.08 |
| 1 | Иванов | м | Терапевт | 23.08 |
| 5 | Антонова | ж | ЭКГ | 17.08 |
| 5 | Антонова | ж | Анализ крови | 20.08 |
| 5 | Антонова | ж | Терапевт | 23.08 |
А. Результатом выполнения А является отношение С, которое включает в себя все А, но только с теми атрибутами, на которые выполняется
Для обозначения проекции в i1, i2, …, iN, где N - число атрибутов проекции.
Таким образом, Qa и упорядочивании оставшихся атрибутов.
Пример. Проекция отношения. Выполним операцию проекции отношения СОТРУДНИК на атрибуты ОТДЕЛ и ДОЛЖНОСТЬ. Исходное отношение: СОТРУДНИК (#, Фамилия, Отдел, Должность)
| 1 | Иванов | 12 | Инженер |
| 2 | Исаев | 11 | Гл.специалист |
| 3 | Петров | 11 | Инженер |
| 4 | Фролов | 11 | Инженер |
| 5 | Антонова | 12 | Конструктор |
Результирующее отношение:
ДОЛЖНОСТЬ (Отдел, Должность) = p (Отдел, Должность)
| 12 | Инженер |
|---|---|
| 11 | Гл.специалист |
| 11 | Инженер |
| 12 | Конструктор |
Операция А и В, где А - отношение-B - отношение-делитель. При этом атрибуты B должны являться подмножеством атрибутов A. Результатом выполнения операции деления является отношение С, которое включает в себя атрибуты отношения А, отличные от атрибутов отношения В, и только те кортежи, декартовы произведения которых с отношением В дают отношение А:
Представление частного отношений через другие алгебраические операции может быть получено следующим образом. Предположим, что $$Q_b \neq \oslash.$$ Пусть n и m - Qa и Qb, n > m. Тогда t степени n - m, таких, что для всех кортежей s степени m из Qb, кортеж ts принадлежит Qa. Пусть $$Т = \pi_{1, 2, \dots, (n - m)} (Q_a).$$ Тогда $$(T \times Q_b) - Q_a$$ есть множество кортежей степени n, не принадлежащих Qa. Каждый из них формируется из n - m первых компонентов кортежа из Qa, за которым следуют компоненты кортежа Qb. Пусть далее $$V =\pi_{1, 2, \dots, (n - m)} (T \times Q_b ) - Q_a)$$
есть множество кортежей t степени n - m, состоящих из первых n - m компонентов Qa, причем для каждого из них в Qb существует некоторый кортеж s степени m, такой, что ts не принадлежит Qa. Таким образом, разность отношений T - V есть, по определению, частное отношений $$Q_a \div Q_b.$$
Пример. Деление отношений. Выполним операцию деления отношения РЕЗУЛЬТАТЫ_МЕДОСМОТРА на отношение МЕДОСМОТР. Исходные отношения: РЕЗУЛЬТАТЫ_МЕДОСМОТРА (#, Фамилия, Пол, Процедура, Дата) МЕДОСМОТР (Процедура, Дата )
| 1 | Иванов | М | ЭКГ | 17.08 |
| 1 | Иванов | М | Анализ крови | 20.08 |
| 1 | Иванов | М | Терапевт | 23.08 |
| 5 | Антонова | Ж | ЭКГ | 17.08 |
| 5 | Антонова | Ж | Анализ крови | 20.08 |
| 5 | Антонова | Ж | Терапевт | 23.08 |
Результирующее отношение:
| ЭКГ | 17.08 |
| Анализ крови | 20.08 |
| Терапевт | 23.08 |
СЛУЖАЩИЙ (#, Фамилия, Пол) = РЕЗУЛЬТАТЫ_МЕДОСМОТРА / МЕДОСМОТР
| 1 | Иванов | М |
| 5 | Антонова | Ж |
Операция выбора ( А. Результатом выполнения операции выбора является отношение С, которое включает в себя А, удовлетворяющие заданному условию (критерию выбора). Операция выбора из отношения может быть представлена следующим образом:
где s обозначает операцию выбора, F - критерий выбора на множестве атрибутов в форме логического выражения, образованного с помощью определенных операндов (константы, имена атрибутов, арифметические операции сравнения, логические операции).
Пример. Селекция отношения. Произведем выбор из отношения СЛУЖАЩИЕ по критерию "Возраст >= 30". Исходное отношение: СЛУЖАЩИЕ (#, Фамилия, Возраст)
| 1 | Иванов | 20 |
| 2 | Исаев | 30 |
| 3 | Петров | 23 |
| 4 | Фролов | 49 |
| 5 | Антонова | 25 |
Критерий выбора: Возраст >= 30
Результирующее отношение:
СЛУЖАЩИЕ (#, Фамилия, Возраст)
| 2 | Исаев | 30 |
| 4 | Фролов | 49 |
Операция q - А и В. Результатом выполнения операции $$\theta$$ -соединения является отношение С, которое включает в себя все кортежи со всеми атрибутами исходных отношений А и В, удовлетворяющими заданному условию. В каждом отношении выделяется
где n - Q_a ; $$\theta$$ - i, j - номера атрибутов в Q_a и Q_b соответственно, по которым выполняется
Рассмотрим частные случаи $$\theta$$ -соединения.
Если $$\theta$$ есть
Различают еще R1 (A1, A2,..., An, B1, ...) и R2 (A1, A2, ..., An, C1, ...) - исходные отношения, тогда
А, который именует некоторую колонку в R1 и какую-либо колонку в R2, выберем те кортежи из $$R_1 \times R_2,$$ у которых совпадают значения в колонках R1.А и R2.А, где R1.А - имя колонки в $$R_1 \times R_2,$$ соответствующее колонке А из R1. Аналогично для R2.А.;R2.А.
Формально, если A1, A2, ..., An являются именами атрибутов, используемых и в R1, и в R2, то Qc = R1 >< R2 есть $$Q_c=\Pi_{i_{1},i_{2},\dots,i_{m}} (\sigma_{R_{1}\dotA_{1}=R_{2}\dotA_{1} and \ldots R_{1}\dotA_{n}=R_{2}\dotA_{n}}(Q_a \times Q_b))$$Пример. Соединение отношений. Выполним операцию естественного соединения отношений ЭКЗАМЕН_ВЕДОМОСТЬ и ГРУППА по атрибуту "Группа". Исходные отношения: ЭКЗАМЕН_ВЕДОМОСТЬ (Студент, Дисциплина, Оценка, Группа)
| Иванов | Математика | 5 | 12 |
| Петров | Математика | 3 | 10 |
| Исаев | Математика | 4 | 11 |
| Антонова | Математика | 3 | 12 |
ГРУППА (Курс, Группа, Наименование)
| 5 | 10 | |
| 5 | 11 |
Результирующее отношение:
РЕЗУЛЬТАТ (Студент, Дисциплина, Оценка, Группа, Курс, Наименование)
| Петров | Математика | 3 | 10 | 5 | |
| Исаев | Математика | 4 | 11 | 5 |
Таким образом, в этом разделе мы ввели понятие отношения как подмножества
Литература: [1], [2], [3], [4], [5], [6], [11], [14], [15], [16], [20], [37], [39], [42], [43], [44], [45], [47].
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.