Декартово произведение множеств
Одним из способов конструирования новых
объектов из уже имеющихся множеств является декартово произведение
множеств.
Пусть и -
множества. Выражение вида , где и ,
называется упорядоченной парой. Равенство вида означает,
что и . В общем
случае, можно рассматривать упорядоченную
n-ку из
элементов .
Упорядоченные n-ки иначе называют наборы или кортежи.
Определение 4. Декартовым (прямым) произведением
множеств называется
множество упорядоченных n-ок (наборов, кортежей) вида
Определение 5. Степенью декартового произведения
называется
число множеств n, входящих в это декартово произведение.
Замечание. Если все множества одинаковы,
то используют обозначение
.
Отношение
Определение 6. Подмножество декартового
произведения множеств называется
отношением степени n (n-арным отношением).
Определение 7. Мощность множества кортежей, входящих в
отношение ,
называют мощностью отношения .
Замечание. Понятие отношения является очень важным
не только с математической точки зрения. Понятие отношения фактически лежит в
основе всей реляционной теории баз данных. Как будет показано ниже, отношения
являются математическим аналогом таблиц. Сам термин "реляционное представление данных", впервые введенный Коддом [43], происходит от термина relation,
понимаемом именно в смысле этого определения.
Т.к. любое множество можно рассматривать
как декартовое произведение степени 1, то любое подмножество, как и любое
множество, можно считать отношением степени 1. Это не очень интересный пример,
свидетельствующий лишь о том, что термины "отношение степени 1" и
"подмножество" являются синонимами. Нетривиальность понятия отношения
проявляется, когда степень отношения больше 1. Ключевыми здесь являются два
момента:
Во-первых, все элементы отношения есть однотипные
кортежи. Однотипность кортежей позволяет считать их аналогами строк в
простой таблице, т.е. в такой таблице, в которой все строки состоят из
одинакового числа ячеек и в соответствующих ячейках содержатся одинаковые типы
данных. Например, отношение, состоящее из трех следующих кортежей {(1, "Иванов",
1000), (2, "Петров", 2000), (3, "Сидоров", 3000)} можно
считать таблицей, содержащей данные о сотрудниках и их зарплатах. Такая таблица
будет иметь три строки и три колонки, причем в каждой колонке содержатся данные
одного типа.
В противоположность этому рассмотрим
множество {(1), (1, 2), (1, 2, 3)}, состоящее из разнотипных числовых
кортежей. Это множество не является отношением ни в , ни в , ни в . Из
кортежей, входящих в это множество нельзя составить простую таблицу.
Правда, можно считать это множество отношением степени 1 на множестве всех
возможных числовых кортежей всех возможных степеней , но
такая трактовка ничего нового, по сравнению с понятием подмножества, не дает.
Во-вторых. За исключением крайнего случая, когда
отношение есть само декартово произведение ,
отношение включает в себя не все возможные кортежи из декартового
произведения. Это значит, что для каждого отношения имеется критерий,
позволяющий определить, какие кортежи входят в отношение, а какие - нет. Этот
критерий, по существу, определяет для нас смысл (семантику) отношения.
Действительно, каждому отношению можно
поставить в соответствие некоторое логическое выражение ,
зависящее от n параметров (n-местный предикат) и определяющее, будет ли кортеж принадлежать
отношению . Это
логическое выражение называют предикатом отношения . Более
точно, кортеж принадлежит
отношению тогда и
только тогда, когда предикат этого отношения принимает
значение "истина". В свою очередь, каждый n-местный предикат задает
некоторое n-арное отношение. Таким образом, существует взаимно однозначное
соответствие между n-арными отношениями и n-местными предикатами.
Если это не вызывает путаницы, удобно и
отношение, и его предикат обозначать одной и той же буквой. Например, отношение
имеет
предикат .