Как создать составной первичный ключ в SQL Server?

Опубликовано: 1 Сентября, 2022

В этой статье мы узнаем, что такое составной первичный ключ и как создать составной первичный ключ. Как мы знаем, первичный ключ — это ключ-кандидат, который выбирается для уникальной идентификации строки в таблице. А Первичный ключ не допускает значения NULL.

Составной первичный ключ

Когда два или более столбца находятся вместе. Определите уникальную строку в таблице, известную как составной первичный ключ. Составной ключ — это ключ, представляющий собой комбинацию нескольких атрибутов или столбцов данной таблицы. Это может быть ключ-кандидат или первичный ключ.

Мы будем реализовывать с помощью примера для лучшего понимания, прежде всего, мы создадим базу данных. Имя базы данных будет Sample. и внутри базы данных мы создадим Compo.

Шаг 1: Создание базы данных

Для создания базы данных есть запрос, который мы будем использовать в платформе SQL.

Запрос:

Create database sample

Шаг 2: Используйте базу данных

Для использования базы данных мы будем использовать другой запрос в платформе SQL, например Mysql.

Запрос:

Use Sample 

Шаг 3: Создание таблицы с составным первичным

Мы будем использовать приведенный ниже запрос для создания составного ключа.

Запрос:

CREATE TABLE COMPO
(
EMP_ID INT,
DEPT_ID INT,
EMPNAME VARCHAR(25),
GENDER VARCHAR(6),
SALARY INT -->              
//This statement will create a
//composite Primary Key from
  PRIMARY KEY (EMP_ID,DEPT_ID)
  with the help of Column EMP_ID and DEPT_ID
);

Шаг 4: После создания таблицы мы можем обосновать представление и метаданные таблицы с помощью приведенного ниже запроса. Он вернет схему, столбец, тип данных, размер и ограничения.

Запрос:

EXEC sp_help COMPO;

Выход:

Шаг 5: ВСТАВКА ДАННЫХ В ТАБЛИЦУ.

Мы будем использовать приведенный ниже SQL-запрос для вставки данных в созданную таблицу.

Запрос:

INSERT INTO COMPO
VALUES (101,001,"RAHUL","MALE",22000),
(102,002,"RAJ","MALE",25000),
(103,003,"PRIYANKA","FEMALE",25500),
(102,003,"VIJAY","MALE",25000),
(101,004,"SHWETA","FEMALE",22000),
(104,003,"SATYA","MALE",23000),
(105,005,"VIVEK","MALE",28000); 

Шаг 6: Проверка вставленных данных

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

Запрос:

SELECT * FROM  COMPO

Выход:

Шаг 7: Как мы знаем, первичный ключ имеет уникальное значение, но в приведенной выше таблице EMP_ID имеет повторяющееся значение. Потому что он один (EMP_ID) не является первичным ключом, поэтому он может содержать повторяющиеся значения. Точно так же DEPT_ID также имеет повторяющееся значение, поскольку он также не является первичным ключом. Но в приведенной выше записи EMP_ID и DEPT_ID не дублируются. Потому что это составной первичный ключ. Здесь (EMP_ID + DEPT_ID) однозначно идентифицирует строку в приведенной выше таблице.

Для поиска уникального значения из COMPO мы выполним, как показано ниже.

Запрос:

SELECT EMPNAME,SALARY FROM COMPO WHERE EMP_ID= 102 AND DEPT_ID =6; 

Выход: