Учебники

9) SQL Server ПЕРВИЧНЫЙ КЛЮЧ

Что такое первичный ключ?

Первичный ключ — это поле или комбинация полей, которые однозначно идентифицируют запись. Первичный ключ — это столбец или набор столбцов, которые являются уникальными. Другими словами, каждое значение уникально для первичного ключа.

Правила для первичного ключа

  • Каждая таблица может иметь только один первичный ключ.
  • Все значения уникальны, и значение Первичного ключа может однозначно идентифицировать каждую строку.
  • Система не позволит вставить строку с первичным ключом, который уже существует в таблице.
  • Первичный ключ не может быть пустым.

Ниже на диаграмме обобщены все вышеперечисленные пункты для первичного ключа.

Как работает первичный ключ

В этом уроке вы узнаете

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

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

1. SQL Server Management Studio.

2. T-SQL: создайте основной файл при создании новой таблицы.

SQL Server Management Studio

Шаг 1) Щелкните правой кнопкой мыши по имени таблицы. Нажмите на дизайн.

Step 2) Right-click on the Column name. Click on ‘Set Primary Key’

Result: Course_Id is now a Primary Key.

T-SQL: Create a Primary key while creating a New Table.

Below is the syntax to create the table from T-SQL

Syntax:

CREATE TABLE <Table_Name>
(
Column1 datatype,
Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name)
.
);

Let’s create a Table with One Column as a PRIMARY KEY.

Query:

CREATE TABLE COURSE_TSQL_PK 
(Course_ID Int not Null,
 Course_name Varchar(20)
 CONSTRAINT PK PRIMARY KEY (Course_ID)	
)

Step 1) Run the Query by clicking on ‘Execute.’

Result: Course_Id is now a Primary Key.

Пример: давайте посмотрим, позволяет ли он вводить несколько записей с одинаковым идентификатором курса.

Шаг 1) Вставьте 4 строки с разными Course_ID

Insert into COURSE_TSQL_PK values (1,'SQL');
Insert into COURSE_TSQL_PK values (2,'Python');
Insert into COURSE_TSQL_PK values (3,'SQL');
Insert into COURSE_TSQL_PK values (4,'C');

Шаг 2) Проверьте все введенные данные, выполнив запрос Выбрать.

Примечание . Мы можем вставить повторяющиеся значения в неосновный ключ.

Шаг 3) Теперь давайте попробуем Вставить Новые записи с существующим Course_ID, который является Первичным Ключом.

Insert into COURSE_TSQL_PK values (4,'JAVA');

Результат: система не позволяет вводить новое значение, так как 4 есть столбец Course_ID, который является первичным ключом.

T-SQL: добавить первичный ключ в существующую таблицу, используя Alter Table

Вы можете использовать инструкцию ALTER для создания первичного ключа. Однако первичный ключ может быть создан только для столбцов, которые определены как NOT NULL. Вы не можете создать первичный ключ для столбца, который допускает значения NULL. Если вам нужно сделать, вы должны удалить и воссоздать таблицу.

Вот синтаксис:

ALTER TABLE tableName
ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);

Например:

ALTER TABLE students
ADD CONSTRAINT students_pk PRIMARY KEY (admission);

Мы добавили ограничение первичного ключа к уже существующей таблице. В столбец допуска добавлено ограничение, которому присвоено имя Students_pk.

Интересные факты!

  • Первичный ключ может быть комбинацией нескольких столбцов. Эта комбинация называется составным первичным ключом .
  • Первичный ключ может содержать не более 16 столбцов.

Резюме

  • Каждая таблица может иметь только один первичный ключ
  • Все значения уникальны, что может однозначно идентифицировать каждую строку.