Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Первичные ключи более чем одного поля

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

CREATE TABLE Namefield ( firstname char (10) NOT NULL, lastname char (10) NOT NULL city char (10), PRIMARY KEY ( firstname, lastname ));

Одна проблема в этом подходе та, что мы можем вынудить появление уникальности - например, введя Mary Smith и M. Smith. Это может ввести в заблуждение, потому что ваши служащие могут не знать кто из них кто. Обычно более надежный способ чтобы определять числовое поле которое могло бы отличать одну строку от другой, это иметь первичный ключ, и применять ограничение UNIQUE для двух имен полей.