Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Ограничение внешнего ключа

Ограничение уникальности

Ограничения первичного ключа

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

 

 

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

 

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

 

 

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

 

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

 

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

 

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

<== предыдущая лекция | следующая лекция ==>
Принципы поддержки целостности в реляционной модели данных. Целостность базы данных | Ограничение значения по умолчанию
Поделиться с друзьями:


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


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



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




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