Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kolokvium / БИЛЕТ2.DOC
Скачиваний:
31
Добавлен:
19.04.2013
Размер:
156.67 Кб
Скачать

Вторичные ключи

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

На результирующей схеме в табл. 15.1 элемент данных Е яв­ляется вторичным ключом. Вторичные ключи могут также состоять из сцепленных элементов данных (рис. 5.6). Необходимо отметить, что вторичные ключи не дают информации о структуре данных. Они обес­печивают специалиста информацией о том, как эти данные исполь­зуются.

ТРАНЗИТИВНЫЕ ЗАВИСИМОСТИ

Представление пользователя о данных, например записи, исполь­зуемые прикладными программистами, часто содержит скрытые тран­зитивные зависимости.

Процесс удаления транзитивных зависимостей по существу экви­валентен преобразованию в третью нормальную форму.

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

СЦЕПЛЕННЫЕ КЛЮЧИ

Некоторые элементы данных не могут быть идентифицированы од­ним элементом в представлении пользователя о данных. В предыду­щих примерах говорилось о том, что несколько поставщиков могут обеспечивать поставку изделия, причем каждый из них определяет на него различную цену. Ключ НОМЕР-ПОСТАВЩИКА использует­ся для идентификации информации о поставщике. Ключ НОМЕР- ИЗДЕЛИЯ используется для идентификации информации об изделии. Ни один из данных ключей не годится для идентификации элемента ЦЕНА. Этот элемент данных зависит от элементов ПОСТАВЩИК и ИЗДЕЛИЕ. Для идентификации элемента ЦЕНА мы создавали новый ключ, состоящий из НОМЕРА-ПОСТАВЩИКА и НОМЕРА- ИЗДЕЛИЯ, объединенных вместе (сцепленных).

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

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

На практике иногда необходимо объединить в сцепленный ключ больше двух элементов данных.

Отношения между ключами

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

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

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

Для решения этой проблемы в том случае, если процедура констру­ирования устанавливает связи между ключами в одном направлении, добавляются эквивалентные связи в обратном направлении, т. е. связь между ключами изображается двунаправленными стрелками. Теперь, если есть отношение типа М : М между двумя ключами А и В и путь в любом направлении предположительно может пересечься, вводится третий ключ А+В: если использовать такую процедуру, создаваемая каноническая схе­ма не будет содержать отношение типа М:М, исключение составляют те случаи, когда связь не может быть использована в одном направле­нии.

ПЕРЕСЕКАЮЩИЕСЯ АТРИБУТЫ

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

На результирующем каноническом графе пересекаю­щиеся атрибуты должны отсутствовать.

Способы преобразования пересекающихся атрибутов

Пересекающийся атрибут можно исключить одним из трех следующих способов:

1.Все связи, кроме одной, заменяются эквивалентными связями с существую­щим ключом

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

3.Пересекающийся атрибут превращается в ключ без атрибутов:

ИЗОЛИРОВАННЫЕ АТРИБУТЫ

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

1. Он может быть представлен как повторяющийся атрибут в запи­си переменной длины.

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

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

Соседние файлы в папке Kolokvium