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 допускает ввод неопределенных значений.