USE Дом_книги


USE Торговая_фирма

Опция PRIMARY KEY

Unique.

Check

Foreign key,

 

Эти ограничения можно создавать на уровне таблицы с помощью опции CONSTRAINT

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

Ограничение PRIMARY KEYили UNIQUE является обя­зательным требованием для обеспечения ссылочной целостности посредст­вом ограничения внешних ключей. Это означает следующее: когда вы определяете внешние ключи, ссылающиеся на другие таблицы, для внешнего ключа заранее должен быть определен первичный ключ.

Пример. Объявляется ограничение первичного ключа:

 

CREATE TABLE Клиенты

(ID_Клиента int NOT NULL

CONSTRAINTID_Клиента PRIMARY KEY,

Название фирмы nvarchar(100) NOT NULL,

Адрес nvarchar(100) NOT NULL)

Такой способ подходит для объявления первичных ключей, состоящих из одного столб­ца.

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

 

Пример. Создается составной ключ таблицы.

Пусть используется база данных Дом_книги:

 

CREATE TABLE Authors

(FirstName nvarchar(50) NOT NULL,

LastName nvarchar(50) NOT NULL,

CONSTRAINT author_pk PRIMARY KEY ( FirstName, LastName))

 

В этом примере принято допущение, что не может быть авторов с одинаковым име­нем и фамилией. В таком случае комбинация <имя, фамилия автора> может служить первичным ключом.

В сущности, указывать ключевое слово CONSTRAINTс именем внешнего ключа необязательно. Если имя внешнего ключа не указано, SQL Server присвоит его за вас.

 

У ог­раничения PRIMARY KEYсуществует альтернатива - ограничение UNIQUE.

Отличие в том, что для ограничения unique допускает ввод неопределенных значений.