Создание первичных ключейCreate Primary Keys

Создание первичных ключей Create Primary Keys

В этой статье

ОБЛАСТЬ ПРИМЕНЕНИЯ ЭТОЙ СТАТЬИ: SQL Server (начиная с 2016) База данных SQL Azure Хранилище данных SQL Azure Parallel Data Warehouse THIS TOPIC APPLIES TO: SQL Server (starting with 2016) Azure SQL Database Azure SQL Data Warehouse Parallel Data Warehouse

Материалы по предыдущим версиям SQL Server см. в разделе Создание первичных ключей. For content related to previous versions of SQL Server, see Create Primary Keys.

Определить первичный ключ в SQL Server SQL Server можно с помощью среды Среда SQL Server Management Studio SQL Server Management Studio или Transact-SQL Transact-SQL . You can define a primary key in SQL Server SQL Server by using Среда SQL Server Management Studio SQL Server Management Studio or Transact-SQL Transact-SQL . Создание первичного ключа автоматически приводит к созданию соответствующего уникального кластеризованного индекса (или некластеризованного при наличии такого указания). Creating a primary key automatically creates a corresponding unique clustered index, or a nonclustered index if specified as such.

Перед началом Before You Begin

Ограничения Limitations and Restrictions

В таблице возможно наличие только одного ограничения по первичному ключу. A table can contain only one PRIMARY KEY constraint.

Все столбцы с ограничением PRIMARY KEY должны иметь признак NOT NULL. All columns defined within a PRIMARY KEY constraint must be defined as NOT NULL. Если допустимость значения NULL не указана, то для всех столбцов c ограничением PRIMARY KEY устанавливается признак NOT NULL. If nullability is not specified, all columns participating in a PRIMARY KEY constraint have their nullability set to NOT NULL.

безопасность Security

Permissions Permissions

Создание новой таблицы с первичным ключом требует разрешения CREATE TABLE в базе данных и разрешения ALTER на схему, в которой создается таблица. Creating a new table with a primary key requires CREATE TABLE permission in the database and ALTER permission on the schema in which the table is being created.

Создание первичного ключа в существующей таблице требует разрешения ALTER на таблицу. Creating a primary key in an existing table requires ALTER permission on the table.

Использование среды SQL Server Management Studio Using SQL Server Management Studio

Создание первичного ключа To create a primary key

В обозревателе объектов щелкните правой кнопкой мыши таблицу, в которую необходимо добавить ограничение уникальности, и выберите Конструктор. In Object Explorer, right-click the table to which you want to add a unique constraint, and click Design.

В Конструкторе таблицщелкните селектор строк для столбца базы данных, который необходимо определить в качестве первичного ключа. In Table Designer, click the row selector for the database column you want to define as the primary key. Чтобы выделить несколько столбцов, нажмите и удерживайте клавишу CTRL и щелкните селекторы строк для остальных столбцов. If you want to select multiple columns, hold down the CTRL key while you click the row selectors for the other columns.

Щелкните правой кнопкой мыши средство выбора строк столбца и выберите команду Задать первичный ключ. Right-click the row selector for the column and select Set Primary Key.

Чтобы переопределить первичный ключ, необходимо удалить все связи с существующим первичным ключом и только после этого создавать новый первичный ключ. If you want to redefine the primary key, any relationships to the existing primary key must be deleted before the new primary key can be created. Появится сообщение, предупреждающее об автоматическом удалении в ходе процесса всех существующих связей. A message will warn you that existing relationships will be automatically deleted as part of this process.

Ключевой столбец-источник идентифицируется символом первичного ключа в соответствующем селекторе строк. A primary key column is identified by a primary key symbol in its row selector.

Если первичный ключ состоит более чем из одного столбца, то в одном столбце могут встречаться дублирующиеся значения, но все сочетания значений изо всех столбцов первичного ключа должны быть уникальными. If a primary key consists of more than one column, duplicate values are allowed in one column, but each combination of values from all the columns in the primary key must be unique.

При определении составного ключа порядок столбцов в первичном ключе совпадает с порядком столбцов, показанным в таблице. If you define a compound key, the order of columns in the primary key matches the order of columns as shown in the table. Однако после создания первичного ключа порядок столбцов можно изменить. However, you can change the order of columns after the primary key is created. Дополнительные сведения см. в разделе Изменение первичных ключей. For more information, see Modify Primary Keys.

Использование Transact-SQL Using Transact-SQL

Создание первичного ключа в существующей таблице To create a primary key in an existing table

В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine Database Engine . In Object Explorer, connect to an instance of Компонент Database Engine Database Engine .

На стандартной панели выберите пункт Создать запрос. On the Standard bar, click New Query.

Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. Copy and paste the following example into the query window and click Execute. В этом примере создается первичный ключ в столбце TransactionID . The example creates a primary key on the column TransactionID .

Создание первичного ключа в новой таблице To create a primary key in a new table

В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine Database Engine . In Object Explorer, connect to an instance of Компонент Database Engine Database Engine .

На стандартной панели выберите пункт Создать запрос. On the Standard bar, click New Query.

Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. Copy and paste the following example into the query window and click Execute. В этом примере создается таблица и определяется первичный ключ для столбца TransactionID . The example creates a table and defines a primary key on the column TransactionID .

Создание первичного ключа с некластеризованным индексом в новой таблице To create a primary key with nonclustered index in a new table

В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine Database Engine . In Object Explorer, connect to an instance of Компонент Database Engine Database Engine .

На стандартной панели выберите пункт Создать запрос. On the Standard bar, click New Query.

Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. Copy and paste the following example into the query window and click Execute. В этом примере создается таблица и определяется первичный ключ для столбца CustomerID и кластеризованный индекс для TransactionID . The example creates a table and defines a primary key on the column CustomerID and a clustered index on TransactionID .

*Предлагаемые к заключению договоры или финансовые инструменты являются высокорискованными и могут привести к потере внесенных денежных средств в полном объеме. До совершения сделок следует ознакомиться с рисками, с которыми они связаны.

Ссылка на основную публикацию