Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неделя 03 Лекция 2 (5).doc
Скачиваний:
2
Добавлен:
13.11.2019
Размер:
334.85 Кб
Скачать

5.2.2. Математические отношения.

Для понимания истинного смысла термина отношение рассмотрим несколько математических понятий. Допустим, у нас есть два множества, и , где и . Декартовым произведением этих двух множеств (обозначается как ) называется набор из всех возможных пар, в которых первым идет элемент множества , а вторым — элемент множества . Альтернативный способ выражения этого произведения заключается в поиске всех комбинаций элементов, в которых первым идет элемент множества , а вторым — элемент множества . В данном примере получим следующий результат:

.

Любое подмножество этого декартового произведения является отношением. Например, в нем можно выделить отношение , показанное ниже:

.

Для определения тех возможных пар, которые будут входить в отношение, можно задать некоторые условия их выборки. Например, если обратить внимание на то, что отношение содержит все возможные пары, в которых второй элемент равен 1, то определение отношения можно сформулировать следующим образом:

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

В данном примере только одна возможная пара данного декартового произведения соответствует этому условию:

.

Понятие отношения можно легко распространить и на три множества. Пусть имеется три множества: — , и . Декартово произведение этих трех множеств является набором, состоящим из всех возможных троек элементов, в которых первым идет элемент множества , вторым — элемент множества , а третьим — элемент множества . Любое подмножество этого декартового произведения является отношением. Рассмотрим следующий пример трех множеств и вычислим их декартово произведение:

.

Любое подмножество из приведенных выше троек элементов является отношением. Увеличивая количество множеств, можно дать обобщенное определение отношения на доменах. Пусть имеется множеств . Декартово произведение для этих множеств можно определить следующим образом:

.

Обычно это выражение записывают в таком символическом виде:

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

5.2.3 Отношения в базе данных.

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

Реляционная схема. - это имя отношения, за которым следует множество пар имен атрибутов и доменов.

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

Каждый элемент -арного кортежа состоит из атрибута и значения этого атрибута. Обычно при записи отношения в виде таблицы имена атрибутов перечисляются в заголовках столбцов, а кортежи образуют строки формата , где каждое значение берется из соответствующего домена. Таким образом, в реляционной модели отношение можно представить как произвольное подмножество декартового произведения доменов атрибутов, тогда как таблица — это всего лишь физическое представление такого отношения.

В примере, показанном на рис. 5.1, отношение BookAuthors имеет атрибуты Code, FamilyName, Name, Patronymic, Birthday, Deatheday, ShortBiography и Note с соответствующими им доменами. Отношение BookAuthors представляет собой произвольное подмножество декартового произведения доменов или произвольное множество 8-арных кортежей, в которых первым идет элемент из домена AllCode, вторым — элемент из домена FIO и т.д. Например, один из 8-арных кортежей может иметь такой вид:

{(1, Тихонов, Олег, Николаевич, NULL, NULL, BLOB, blob)}

Этот же кортеж можно записать в более корректной форме:

{(Code: '1', FamilyName: 'Тихонов', Name: 'Олег', Patronymic: 'Николаевич', Birthday: ' NULL', Deatheday: 'NULL', ShortBiography: 'BLOB', Note: 'blob')}

Таблица BookAuthors представляет собой удобный способ записи всех 8-арных кортежей, образующих отношение в некоторый заданный момент времени. Это замечание объясняет, почему строки таблицы в реляционной модели называются кортежами.