Домены некоторых атрибутов отношений Branch и Staff

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

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

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

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

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

Реляционная база данных –набор нормализованных отношений. Реляционная база данных состоит из отношений, структура которых определяется с помощью особых методов, называемых нормализацией (normalization).

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

Таблица 3

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

Отношения

Для понимания истинного смысла термина“отношение” рассмотрим несколько ма­тематических понятий. Допустим, у нас есть два множества D1и D2, где D1 = {2,4} и D2 = {1,3,5}.Декартовым произведением этих двух множеств (обозначается как D1 x D2) называется набор из всех возможных пар, в которых первым идет элемент множест­ва D1, а вторым – элемент множества D2. Альтернативный способ выражения этого произведения заключается в поиске всех комбинаций элементов, в которых первым идет элемент множества D1,а вторым – элемент множества D2. В данном примере по­лучим следующий результат:

D1 х D2= {(2,1),(2,3),(2,5),(4,1),(4,3),(4,5)}.

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

R = ((2,1),(4,1)}.

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

R = {(x,y) | x D1, y D2, у = 1}.

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

S = {(x,y) | x D1, y D2, х = 2у}.

В данном примере только одна возможная пара данного декартового произведения соответствует этому условию: S = {(2,1)}.

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

D1= {(1,3)}, D2= = {(2,4)}, D3= {(5,6)},

D1х D2x D3= {(1,2,5), (1,2,6), (1,4,5), (1,4,6), (3,2,5), (3,2,6), (3,4,5), (3,4,6)}.

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

D1x D2 x….x Dn= {(d1, d2,..., dn) | d1D1, d2D2,...,dnDn.

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

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

Используя указанные концепции в контексте базы данных, получим следую­щее определение реляционной схемы. Реляционная схема – имя отношения, за которым следует множество пар имен атрибутов и доменов. Например, для атрибутов А1, А2, ..., Аnс доменами D1, D2, ..., Dnреляционной схе­мой будет множество {A1 : D1, A2 : D2, ... , An: Dn}. Отношение R, заданное реляционной схемой S, является множеством отображений имен атрибутов на соответствующие им домены. Таким образом, отношение R является множеством таких n-арных кортежей { A1 : d1, A2 : d2, ... , An: dn}, где d1D1, d2D2,..., dnDn.

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

В примере, рассмотренном ранее, отношение Branch имеет атрибуты Bno, Street, City, Postcode, Tel_No и Fax_No с соответствующими им доменами. Отношение Branch представляет собой произвольное подмножество декартового произведения доменов или произвольное множество 6-арных кортежей, в которых первым идет элемент из домена BRANCH_NUMBER, вторым – элемент из домена STREET_NAME и т.д. Например, один из 6-арных кортежей может иметь такой вид:

{( 23, Москва, 111111, Победы, 1231112, 1231113)}.

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

{(Bno : ‘23’, City : ‘Москва’, Postcode : ‘111111’, Street : ‘Победы’, Tel_№ : ‘1231112’, Fax _№ : ‘1231113’)}

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

Наши рекомендации