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




Пусть D1={2,4} и D2={1,3,5} два множества. Декартово произведение D1´D2 ={(x,y) ç"xÎD1,"yÎD2} множество всех пар где первый элемент из первого множества, а второй их второго. В нашем случае D1´D2={(2,1),(2,3),(2,5),(4,1),(4,3),(4,5)}

Любое подмножество этого произведения является отношением. Например, R={(2,1),(4,1)}={(x,y) çxÎD1,yÎD2, y=1} или другое отношение S={(x,y) çxÎD1,yÎD2, y=2x}. Понятие отношения можно распространить на большее количество множеств. Обратите внимание, что для определения отношений необходимо указать множества, из которых выбираются значения (домены).

Отношение в БД.

Используя указанные концепции в контексте БД мы получим следующее определение реляционной схемы (РС).

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

Например для атрибутов А1,А2,…Аn с доменами D1, D2, … Dn реляционной схемой будет множество {A1:D1; A2:D2; … An:Dn}. Отношение R, заданное схемой S, является множеством отображений имен атрибутов на соответствующие им домены. Таким образом, отношение R является множеством таких n-арных кортежей (A1:d1; A2:d2; … An:dn), где diÎDi.

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

Таким образом, в РМ отношение можно представить как произвольное подмножество декартового произведения доменов атрибутов, тогда как таблица – это лишь физическое представление такого отношения.

(Пример).

Свойства отношений.

· Отношение имеет уникальное имя.

· Каждая ячейка отношения содержит неделимое значение.

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

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

· Порядок следования не важен.

· Каждый кортеж уникален.

· Порядок следования кортежей не важен (теоретически, на практике от порядка следования зависит скорость доступа к данным).

Для иллюстрации рассмотрим отношение «Отделы».

Каждая ячейка должна содержать только одно значение, следовательно, в одной ячейке нельзя хранить 2 номера телефона одного отдела, иначе говоря отношение не должно содержать повторяющихся групп (отношение нормализовано или первая нормальная форма).

Имена столбцов – имена атрибутов. Значения атрибута например «номер отдела» берутся из домена Branch_num, не допускается размещение значений из другого домена. Столбцы можно менять местами при условии, что имена атрибутов перемещаются вместе со значениями.

В таблице не может быть двух одинаковых строк.

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

· Отношение – множество, следовательно порядок элементов (кортежей) не важен.

· В множестве нет повторяющихся элементов, следовательно нет одинаковых строк.

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

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

 

Реляционные ключи.

Необходимо иметь возможность уникальной идентификации каждого отдельного кортежа по значениям его атрибутов.

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

Потенциальный ключ – суперключ, который не содержит подмножества, также являющегося суперключом данного отношения.

Потенциальный ключ К для данного отношения R обладает двумя свойствами:

· Уникальность. В каждом кортеже отношения Rзначение ключа К единственным образом идентифицирует этот кортеж.

· Неприводимость. Никакое допустимое подмножество К не обладает свойством уникальности.

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

Пример. Отношение «Отделы».

Номер отдела, телефон, факс – потенциальные ключи.

Город не может быть потенциальным ключом, т.к. 2 отдела в Лондоне.

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

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

Первичный ключ – это потенциальный ключ, который выбран для уникальной идентификации кортежей внутри отношения.

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

Потенциальный ключ, который не выбран в качестве первичного, называется альтернативным ключом.

Внешний ключ – это атрибут или множество атрибутов внутри отношения, которое соответствует потенциальному ключу некоторого отношения.

Если некий атрибут присутствует в нескольких отношениях, то его наличие обычно отражает определенную связь между кортежами этих отношений. Например атрибут «номер отдела» включен в отношения «Отделы» и «Сотрудники» для установления связи между сведениями о сотрудниках и отделах. В отношении «Отделы» «номер отдела» является первичным ключом, а в отношение «Сотрудники» он введен чтобы установить соответствие между сведениями о сотрудниках и тех отделах где они работают. В отношении «Сотрудники» «номер отдела» является внешним ключом.

Тогда атрибут «номер отдела» ссылается на первичный ключ в базовом отношении «отделы» (базовое отношение называют еще целевым отношением).



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: