Основы реляционной алгебры

Реляционная модель основана на математическом понятииотношения, физическим представлением которого являетсятаблица. Дело в том, что Кодд, будучи опытным ма­тематиком, широко использовал математическую терминологию, особенно из теории множеств и логики предикатов.

Отношение– это плоская таблица, состоящая из столбцов и строк.

В любой реляционной СУБД предполагается, что пользователь воспринимает базу данных как набор таблиц. Однако следует подчеркнуть, что это восприятие относит­ся только к логической структуре базы данных, т.е. ко внешнему и концептуальному уровням. Подобное восприятие не относится к физической структуре базы данных, которая может быть реализована с помощью различных структур.

Атрибут - это поименованный столбец отношения.

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

Домен – это набор допустимых значений для одного или нескольких атрибутов.

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

Понятие домена имеет большое значение, поскольку благодаря ему пользователь может централизованно определять смысл и источник значений, которые могут полу­чать атрибуты. В результате при выполнении реляционной операции системе доступно больше информации, что позволяет ей избежать семантически некорректных операций. Например, бессмысленно сравнивать название улицы с номером телефона, даже если для обоих этих атрибутов определениями доменов являются символьные строки. Но, например, помесячная арендная плата объекта недвижимости и количество месяцев, в течение которых он сдавался в аренду, принадлежат разным доменам (первый атри­бут имеет денежный тип, а второй – целочисленный). Однако умножение значений из этих доменов является допустимой операцией. Как следует из этих двух примеров, обеспечить полную реализацию понятия домена совсем непросто, а потому во многих РСУБД они поддерживаются не полностью, а лишь частично.

Элементами отношения являются кортежи, или строки, таблицы. Кортеж – это строка отношения. Кортежи могут располагаться в любом порядке, при этом отношение будет оставать­ся тем же самым, а значит, и иметь тот же смысл.

Описание структуры отношения вместе со спецификацией доменов и любыми другими ограничениями возможных значений атрибутов иногда называют егозаго­ловком (илисодержанием (intension)). Обычно оно является фиксированным, до тех пор пока смысл отношения не изменяется за счет добавления в него дополнительных атрибутов. Кортежи называются расширением (extension), состоянием (state) или те­лом отношения, которое постоянно меняется.

Степень отношения определяется количеством атрибутов, кото­рое оно содержит.

Отношение только с одним атрибутом имеет степень 1 и называетсяунарным (unary) отношением (или 1-арным кортежем). Отношение с двумя атрибутами называетсябинарным (binary), отноше­ние с тремя атрибутами –тернарным (ternary), а для отношений с большим количеством атрибутов используется терминn-арный (n-ary). Определение степени отношения является частью заголовка отношения.

Количество содержащихся в отношении кортежей называетсякардинальностью отношения. Эта характеристика меняется при каждом добавлении или удалении кортежей. Кардинальность является свойством тела отношения и определяется те­кущим состоянием отношения в произвольно взятый момент.

Альтернативная терминология.Терминология, используемая в реляционной модели, порой может привести к пу­танице, поскольку помимо предложенных терминов существует еще один. Отношение в нем называется таблицей, кортежи – записями (records), а атрибуты – полями (fields). Эта терминология основана на том факте, что физически СУБД может хранить каждое отношение в отдельном файле. В табл. 6.1. показаны соответствия, существующие между упомянутыми выше группами терминов.

Таблица 6.1. Альтернативные варианты терминов в реляционной модели

Вариант1 Вариант2
Отношение Таблица
Кортеж Запись
Атрибут Поле

Далее в пособии могут использоваться термины из обоих вариантов.

Фундаментальные свойства отношений (таблиц)

Отношение обладает следующими характеристиками:

· оно имеет имя, которое отличается от имен всех других отношений;

· каждая ячейка отношения содержит только атомарное (неделимое) значение;

· каждый атрибут имеет уникальное имя;

· значения атрибута берутся из одного и того же домена;

· порядок следования атрибутов не имеет никакого значения;

· каждый кортеж является уникальным, т.е. дубликатов кортежей быть не может;

· теоретически порядок следования кортежей в отношении не имеет никако­го значения. (Однако практически этот порядок может существенно по­влиять на эффективность доступа к ним.)

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

· Поскольку отношение является множеством, то порядок элементов не имеет значения. Следовательно, порядок кортежей в отношении несущественен.

· В множестве нет повторяющихся элементов. Аналогично, отношение не может содержать кортежей-дубликатов.

· Как и при вычислении декартового произведения множеств с простыми одно­значными элементами (например, целочисленными значениями), каждый элемент в каждом кортеже должен иметь единственное значение. Однако матема­тическое отношение не нуждается в нормализации. Кодд предложил запре­тить наличие повторяющихся групп с целью упрощения реляционной мо­дели данных.

· В математическом отношении порядок следования элементов в кортеже имеет значение. Например, допустимая пара значений (1, 2) совершенно отлична от допустимой пары (2, 1). Это утверждение неверно для отношений в реляционной мо­дели, где специально оговаривается, что порядок атрибутов несущественен. Дело в том, что заголовки столбцов однозначно определяют, к какому именно атрибуту от­носится данное значение. Следствием этого факта является положение о том, что по­рядок следования заголовков столбцов в заголовке отношения несущественен. Одна­ко, если структура отношения уже определена, то порядок элементов в кортежах те­ла отношения должен соответствовать порядку имен атрибутов.