Основные понятия: таблица (отношение), кортеж, домен, первичный ключ.
Основной структурой данных в реляционной модели является отношение, в силу чего она и получила свое название (от английского relation - отношение).
Для его понимания требуется напомнить основные понятия алгебры множеств. Алгеброй называется множество с некоторым набором операций, замкнутое относительно этих операций. Это означает, что результат применения любой из операций к элементам множества снова является элементом исходного множества. Полным декартовым произведением множеств D1, D2, …, DN называется набор всевозможных сочетаний из N элементов d1, d2, …, dN, каждый из которых берется из соответствующего множества (di <- DI). Если множество Di содержит Mi элементов, то полное декартово произведение будет содержать M1 * M2 * … MN элементов.
Например, пусть множество D1 содержит фамилии D1 = { Иванов, Петров, Сидоров }, множество D2 содержит наименования предметов D2 = { Базы данных, Информатика, Программирование }, а множество D3 – оценки D3 = { 2, 3, 4, 5 }. Тогда полное декартово произведение этих множеств будет содержать 3 * 3 * 4 = 36 элементов:
D1 x D2 x D3 = { <Иванов, Базы данных, 2>, <Иванов, Базы данных, 3>, <Иванов, Базы данных, 4>, <Иванов, Базы данных, 5>, <Иванов, Информатика, 2>, <Иванов, Информатика, 3>, <Иванов, Информатика, 4>, <Иванов, Информатика, 5>, <Иванов, Программирование, 2>, <Иванов, Программирование, 3>, <Иванов, Программирование, 4>, <Иванов, Программирование, 5>, <Петров, Базы данных, 2>, < Петров, Базы данных, 3>, < Петров, Базы данных, 4>, < Петров, Базы данных, 5>, < Петров, Информатика, 2>, < Петров, Информатика, 3>, < Петров, Информатика, 4>, < Петров, Информатика, 5>, < Петров, Программирование, 2>, < Петров, Программирование, 3>, < Петров, Программирование, 4>, < Петров, Программирование, 5>, <Сидоров, Базы данных, 2>, < Сидоров, Базы данных, 3>, < Сидоров, Базы данных, 4>, < Сидоров, Базы данных, 5>, < Сидоров, Информатика, 2>, < Сидоров, Информатика, 3>, < Сидоров, Информатика, 4>, < Сидоров, Информатика, 5>, < Сидоров, Программирование, 2>, < Сидоров, Программирование, 3>, < Сидоров, Программирование, 4>, < Сидоров, Программирование, 5> }. Элементы этого множества описывают все возможные варианты исходов ситуации, которая может быть определена словами «студент получил за предмет следующую оценку».
В заключение отметим важное свойство полного декартового произведения: все элементы полного декартового произведения различны. Это означает, что в нем не найдется двух одинаковых n-ок, так как иначе исходные множества необходимо содержали бы одинаковые элементы, что невозможно.
Вернемся теперь к понятию отношение. N-кратным отношением R называется подмножество декартова произведения D1 x D2 x … x DN множеств D1, D2, …, DN (N >= 1), причем множества необязательно различны. Сами множества D1, D2, …, DN называются доменами.
В то время как полное декартово произведение описывает все возможные исходы некоторого события, отношение R моделирует определенную реальную ситуацию и может содержать любое количество элементов. Рассмотрим в качестве примера отношение R = { <Иванов, Базы данных, 5>, <Иванов, Информатика, 4>, <Иванов, Программирование, 5>, < Петров, Базы данных, 4>, < Петров, Информатика, 3>, <Петров, Программирование, 4>, < Сидоров, Информатика, 4>, <Сидоров, Программирование, 3> }. Данное отношение моделирует ситуацию «результаты сдачи экзаменов студентами» (Сидоров не сдавал экзамен по Базам данных).
Любое отношение R, впрочем, как и полное декартово произведение, легко может быть изображено графически в виде таблицы, столбцам которой соответствуют вхождения доменов в отношение, а строкам – наборы n значений, взятых из доменов, которые расположены в определенном порядке соответственно заголовку таблицы:
R |
||
Фамилия |
Предмет |
Оценка |
Иванов |
Базы данных |
5 |
Иванов |
Информатика |
4 |
Иванов |
Программирование |
5 |
Петров |
Базы данных |
4 |
Петров |
Информатика |
3 |
Петров |
Программирование |
4 |
Сидоров |
Информатика |
4 |
Сидоров |
Программирование |
3 |
Такое графическое изображение отношения позволяет сформулировать несколько важных свойств таблицы:
1. в таблице нет двух одинаковых строк (как и в отношении нет двух одинаковых кортежей);
2. столбцы таблицы соответствуют атрибутам отношения;
3. каждый атрибут отношения (таблицы) имеет уникальное имя;
4. порядок строк в таблице произвольный (как и кортежей в отношении);
5. порядок столбцов в таблице также может быть произвольным (от перестановки столбцов отношение не меняется).
Согласно этим свойства, отношение R1, изображенное ниже, равно (одинаково с точки зрения реляционной модели) отношению R:
R1 |
||
Предмет |
Фамилия |
Оценка |
Информатика |
Петров |
3 |
Базы данных |
Иванов |
5 |
Программирование |
Иванов |
5 |
Информатика |
Сидоров |
4 |
Информатика |
Иванов |
4 |
Программирование |
Сидоров |
3 |
Базы данных |
Петров |
4 |
Программирование |
Петров |
4 |
Ян ОПИ(Э) 07 5 октября, 2009 в 17:01:01
З.Ы. ошибочка вышла) не заметил что часть1 :D
Ян ОПИ(Э) 07 5 октября, 2009 в 16:53:13
Твердая четверка) быстрый переход от описания декатвоа произведения множеств к отношениям, да и про первичный ключ наверное не всем понятно будет, имхо.
Добавить комментарий