Как добавить ограничение в SQL Server: простое руководство для начинающих
Чтобы добавить ограничение в SQL Server, вам необходимо использовать ключевое слово
CONSTRAINT
. Ограничение может быть добавлено при создании таблицы или позже с использованием команды ALTER TABLE
. Вот примеры:Пример 1:
Добавление ограничения при создании таблицы:
CREATE TABLE Employees
(
EmployeeID int CONSTRAINT PK_Employees PRIMARY KEY,
FirstName varchar(50),
LastName varchar(50)
);
Пример 2:Добавление ограничения с использованием команды ALTER TABLE:
ALTER TABLE Employees
ADD CONSTRAINT FK_Employees_Departments
FOREIGN KEY (DepartmentID)
REFERENCES Departments (DepartmentID);
В примере 1 мы создаем таблицу Employees
с ограничением PK_Employees
, которое делает поле EmployeeID
первичным ключом. В примере 2 мы добавляем ограничение FK_Employees_Departments
к таблице Employees
с внешним ключом, который ссылается на поле DepartmentID
в таблице Departments
.Надеюсь, это поможет вам добавить ограничение в SQL Server! Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.
Детальный ответ
Как добавить ограничение в SQL Server?
Ограничения (constraints) - это правила, которые применяются к столбцам или таблицам в базе данных SQL Server, чтобы обеспечить целостность данных и защитить их от ошибок и нежелательных изменений. Если вы хотите добавить ограничение к таблице в SQL Server, существует несколько видов ограничений, которые вы можете использовать.
Ограничение проверки (CHECK)
Ограничение проверки (CHECK) позволяет вам определить условие, которое должно быть выполнено для каждой строки данных в таблице. Если условие не выполняется, при попытке добавления или обновления данных будет возникать ошибка.
Ниже приведен пример создания ограничения проверки (CHECK) для таблицы "Employees" с ограничением на возраст сотрудников:
ALTER TABLE Employees
ADD CONSTRAINT CHK_EmployeeAge CHECK (Age >= 18);
Ограничение уникальности (UNIQUE)
Ограничение уникальности (UNIQUE) гарантирует, что значения в столбце или группе столбцов уникальны в пределах таблицы. Это значит, что вы не сможете добавить или обновить данные таким образом, чтобы создать повторяющиеся значения.
Давайте рассмотрим пример создания ограничения уникальности (UNIQUE) для столбца "Email" в таблице "Customers":
ALTER TABLE Customers
ADD CONSTRAINT UQ_CustomerEmail UNIQUE (Email);
Ограничение первичного ключа (PRIMARY KEY)
Ограничение первичного ключа (PRIMARY KEY) используется для уникальной идентификации каждой записи в таблице. Первичный ключ может быть составным ключом, который состоит из нескольких столбцов.
В следующем примере мы создаем ограничение первичного ключа (PRIMARY KEY) для столбца "EmployeeID" в таблице "Employees":
ALTER TABLE Employees
ADD CONSTRAINT PK_EmployeeID PRIMARY KEY (EmployeeID);
Ограничение внешнего ключа (FOREIGN KEY)
Ограничение внешнего ключа (FOREIGN KEY) обеспечивает связь между двумя таблицами. Внешний ключ ссылается на первичный ключ или уникальное ограничение в другой таблице. Он гарантирует целостность данных и предотвращает возможность вставки или обновления данных, которые нарушают связи между таблицами.
Допустим, у нас есть таблица "Orders" и таблица "Customers". Мы хотим создать ограничение внешнего ключа (FOREIGN KEY) для столбца "CustomerID" в таблице "Orders", который ссылается на столбец "CustomerID" в таблице "Customers". Вот как это делается:
ALTER TABLE Orders
ADD CONSTRAINT FK_OrderCustomerID
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);
Ограничение с ограничением NOT NULL
Ограничение NOT NULL гарантирует, что столбец не может содержать пустых значений (NULL). Если вы попытаетесь добавить или обновить данные без указания значения для столбца, будет возникать ошибка.
Давайте представим, что у нас есть столбец "LastName" в таблице "Employees", который не может быть пустым. Мы можем добавить ограничение NOT NULL следующим образом:
ALTER TABLE Employees
ALTER COLUMN LastName VARCHAR(50) NOT NULL;
Заключение
Теперь вы знаете, как добавить различные ограничения в SQL Server. Ограничения помогают обеспечить целостность данных и защитить базу данных от ошибок и нежелательных изменений. Вы можете использовать ограничения проверки (CHECK), уникальности (UNIQUE), первичного ключа (PRIMARY KEY), внешнего ключа (FOREIGN KEY) и ограничение NOT NULL в зависимости от ваших потребностей. Используйте эти ограничения в своих SQL-запросах и управляйте данными с легкостью.