В чем разница между ограничениями первичного, уникального и внешнего ключей и индексами?
Я работаю над Oracle 10g и SQL Server 2008
В чем разница между ограничениями первичного, уникального и внешнего ключей и индексами?
Я работаю над Oracle 10g и SQL Server 2008
Первичный ключ и уникальный ключ - ограничения целостности объекта
Первичный ключ позволяет однозначно идентифицировать каждую строку в таблице и гарантирует, что не существует повторяющихся строк и не вводится нулевое значение.
Единственное ограничение ключа используется для предотвращения дублирования значений ключей в строках таблицы и допускает нулевые значения. (В oracle один null не равен другому null).
см. Различия между INDEX, PRIMARY, UNIQUE, FULLTEXT в MySQL?
Основной ключ: однозначно идентифицировать каждую строку он не может быть нулевым. это не может быть дубликат.
Внешний ключ: создать связь между двумя таблицами. может быть нулевым. может быть дубликатом
Вот вам несколько ссылок:
Ограничение первичного и внешнего ключей.
Первичный ключ: первичный ключ - это поле или комбинацию полей, которые однозначно идентифицировать запись в таблице, чтобы может быть установлена отдельная запись без путаницы.
Внешний ключ: внешний ключ (иногда называемый ссылочным ключом) является ключом используется для соединения двух таблиц вместе. Обычно вы берете первичный ключ поле из одной таблицы и вставить его в другую таблицу, где она становится внешний ключ (он остается основным ключ в исходной таблице).
Index, с другой стороны, является атрибутом, который можно применить к некоторым столбцам, чтобы поиск данных, сделанный на этих столбцы могут ускоряться.
1) A primary key
представляет собой набор из одного или нескольких атрибутов, который однозначно идентифицирует кортеж внутри отношения.
2) A foreign key
представляет собой набор атрибутов из схемы отношений, которая может однозначно идентифицировать кортежи из другой схемы отношений.
Ключ/индекс: ключ является аспектом проектирования базы данных LOGICAL, индекс является аспектом проектирования базы данных PHYSICAL. Ключ соответствует ограничению целостности, индекс - это метод физической регистрации значений, который может быть полезен при применении этих ограничений.
Первичный/внешний: ключ "primary" - это набор атрибутов, значения которых должны составлять уникальную комбинацию во всей таблице. Может быть более одного такого набора ( > 1 ключ), а слово "primary" - это остаток от предыдущих дней, когда разработчик был вынужден выбрать один из этих нескольких ключей как "самый важный/релевантный", Причина этого заключалась прежде всего в сочетании с внешними ключами:
Как и "первичный" ключ, "чужой" ключ также является набором атрибутов. Значения этих атрибутов должны формировать комбинацию, которая представляет собой существующее значение первичного ключа в таблице, на которую делается ссылка. Я не знаю точно, насколько строго это правило применяется в SQL сегодня. Терминология все равно осталась.
Уникальное: ключевое слово, используемое для указания того, что индекс не может принимать повторяющиеся записи. Уникальные индексы, очевидно, являются отличным средством для принудительного использования первичных ключей. В той степени, в которой слово "уникальный" используется в контексте логического дизайна, оно излишне, неаккуратно, ненужно и запутывает. Клавиши (первичные ключи, то есть) уникальны по определению.
Основной ключ главным образом предотвращает дублирование и показывает уникальность столбцов Внешний ключ в основном показывает отношения на двух таблицах.