Лекция 5. Базовые понятия реляционной модели данных

Скачать


Содержание лекционного занятия:

·         Простой ключ

·         Сложный или составной ключ

·         Искусственный или суррогатный ключ

·         Естественный ключ

·         Перекрывающийся ключ

Ключи отношения

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

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

если Rотношение с атрибутами А1,А2,..., Аn, то множество атрибутов К = (Аi, Аj,..., Ak) отношения R является первичным ключом этого отношения тогда и толь­ко тогда, когда удовлетворяются два независимых от времени условия:

·         уникальность; в произвольный момент времени никакие два различных корте­жа отношения R не имеют одного и того же значения для Аi, Аj,..., Ak;

·         минимальность: ни один из атрибутов Аi, Аj,..., Ak не может быть исключен из К без нарушения уникальности.

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

В зависимости от количества атрибутов, входящих в ключ, различают простые и сложные (или составные) ключи.

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

Сложный или составной ключ — ключ, состоящий из нескольких атрибутов.

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

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

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

Естественный ключ — ключ, в который включены значимые атрибуты и который, таким образом, содержит информацию.

В рассматриваемом нами примере в качестве первичного ключа отношения СТУДЕН­ТЫ можно рассматривать атрибут №_студенческого_билета. Причем данный ключ будет естественным, так как он несет вполне определенную информацию.

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

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

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

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

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

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

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

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

·         UNIQUE — ограничение уникальности, значения вторичных ключей при дан­ном ограничении не могут дублироваться;

·         NOT NULL — при данном ограничении ни один из атрибутов, входящих в со­став вторичного ключа, не может принимать значение NULL.

Перекрывающиеся ключи — сложные ключи, которые имеют один или несколько общих столбцов.

Вопросы для самоконтроля:

1.Проектирование баз данных.

2.Логическое и физическое проектирование.

Рекомендуемая литература:

1.      Дейт К.Дж. Введение в системы баз данных. - К.: Диалектика, 1998. - 784 с.

2.      Ладыженский Г.М. Базы данных: коротко о главном. - М.: Изд.-во НИИСИ РАН, 2000. - 114 с


Скачать


zharar.kz