Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Внутренние и внешние ключи

Ключи

 

Как уже отмечалось выше, каждый экземпляр сущности должен быть уникален, и каждое значение атрибутов должно отличаться одно от другого. Для идентификации каждого экземпляра сущности используется первичный ключ – PK (Primary Key).

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

уникально идентифицировать значение сущности;

не должны включать значение NULL;

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

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

Связи между сущностями реализуются с помощью внешних ключей – FK (Foreign Key), которые образуются из PK путем их миграции из родительской сущности в дочернюю сущность. Сущности и их связи, ключи PK и FK – это основные элементы модели данных. Кроме ключей PK и FK – при построении модели данных, используются альтернативные и инверсные ключи – AK (Alternate Key) и IK (Inversion Key). Альтернативные ключи, так же как и PK, обеспечивают уникальный доступ к значениям сущности, но по другим наборам атрибутов, а инверсные ключи, обеспечивают доступ к некоторому набору значений сущности, имеющего общие характеристики.

 

 

 

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

Естественный ключ – это атрибут или набор атрибутов, которые однозначно идентифицируют значение сущности (записи таблицы) и имеют некий физический смысл вне БД (номер вагона, номер станции, номер контейнера и т.д.).

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

Суррогатный ключ – автоматически сгенерированное значение, никак не связанное с информационным содержанием записи, имеющий некий физический смысл только внутри БД; обычно в роли суррогатного ключа могут использоваться данные типа integer или datestamp.

В данном методе построения модели БД суррогатная идентификация значений сущностей позволяет решить проблему идентификации за счет введения внутреннего ID – сущности и выработки внутреннего суррогатного ключа (PK) для каждого значения в БД. Такой подход предполагает, что для каждой сущности существует набор определенных характеристик, которые в процессе жизни могут меняться или уточняться. Поэтому в БД каждой сущности на предприятии присваивается своя внутренняя идентификация, уникальная на всей протяжении жизни сущности и все характеристики (текущие или измененные) уникально идентифицируются для каждой сущности (создается уникальный внутренний суррогатный ID – сущности). Данный уникальный идентификатор каждого значения в БД является первичным ключом записи (PK) в сущностях (таблицах), содержащих значения характеристик сущностей. На примере рис. 5.3. приведена таблица для выработки и хранения суррогатного ID сущности, на основе которого создаются суррогатные PK ключи значений сущностей (таблиц).

 

 

Рис. 5.3. Пример суррогатного ID сущности

 

 

<== предыдущая лекция | следующая лекция ==>
Мощность связей | Ссылочная целостность
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 4103; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.