Читайте также:
|
|
Ограничения накладывают определенные условия на вводимые данные. Условием может быть уникальность значения, принадлежность к некоторому интервалу или списку значений, наличие первичного ключа, соответствующего внешнему ключу (ограничения ссылочной целостности).
SQL Server поддерживает четыре типа ограничений:
Primary key,
Foreign key,
Check
Unique.
Эти ограничения можно создавать на уровне таблицы (при создании таблиц) с помощью опции CONSTRAINT.
Рассмотрим опции для создания ограничений.
Опция PRIMARY KEY
Ограничение первичного ключа требует, чтобы содержимое столбца было уникальным. Объявление первичного ключа требует однозначную идентификацию записей таблицы.
Ограничение PRIMARY KEY или UNIQUE является обязательным требованием для обеспечения ссылочной целостности посредством ограничения внешних ключей. Это означает следующее: когда вы определяете внешние ключи, ссылающиеся на другие таблицы, для внешнего ключа заранее должен быть определен первичный ключ.
Пример. Создается таблица «Персонал» с тремя полями.
Поле ID_сотрудника объявляется первичным ключом (тем самым этому полю задается ограничение первичного ключа и, кроме того, этому ограничению (ключу) задается имя «ID_сотрудника»):
USE Торговая_фирма
CREATE TABLE Персонал
(ID_сотрудника int NOT NULL CONSTRAINT ID_сотрудника PRIMARY KEY,
Фамилия nvarchar (50) NOT NULL,
Имя nvarchar (30) NOT NULL)
Такой способ подходит для объявления первичных ключей, состоящих из одного столбца.
Если требуется объявить первичный ключ, состоящий из нескольких столбцов, этому ключу тоже можно дать имя с помощью опции CONSTRAINT.
Пример. Создается составной ключ таблицы.
Пусть используется база данных Дом_книги:
USE Дом_книги
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 допускает ввод неопределенных значений.
Дата добавления: 2014-12-15; просмотров: 111 | Поможем написать вашу работу | Нарушение авторских прав |