MS SQL Server

В СУБД MS SQL Server индекс на основе одного столбца можно создать, указав атрибут PRIMARY KEY или UNIQUE в описании столбца. Атрибут PRIMARY KEY используется для создания первичного ключа, атрибут UNIQUE для создания уникального индекса.

CREATE TABLE <tbl_name>
<сol_name> <col_type> [NOT NULL | NULL] [DEFAULT <default_value>][PRIMARY KEY |UNIQUE]

В следующем примере создается таблица cust_sample с указанием поля cust_id в качестве первичного ключа

CREATE TABLE cust_sample (
cust_id int PRIMARY KEY,
cust_name char(50),
cust_address char(50))

Индекс состоящий из нескольких столбцов, то его необходимо описать в разделе ограничений таблицы, после ключевого слова CONSTRAINT.

<column_constraint> ::=
[ CONSTRAINT <index_name> { PRIMARY KEY | UNIQUE }
ON (<index_col_name>,... )]

Представьте таблицу, в которую записываются все события, происходящие в заводском компьютере. Предположим, что события нескольких типов могут происходить одновременно, однако в одно и то же время не может произойти двух событий одного типа. Этого можно достичь, если включить в первичный ключ таблицы, состоящий из двух столбцов, столбца event_type и столбца event_time, как показано в следующем примере

CREATE TABLE factory_process
(event_type int,
event_time datetime,
event_site char(50),
event_desc char(1024))
CONSTRAINT event_key PRIMARY KEY (event_type, event_time) )