Задача:
Впишите в приведенный ниже скрипт создания схемы таблицы базы данных в месте пропусков определение первичного ключа из столбца id таблицы (два слова):
CREATE TABLE test (id int NOT NULL [ПРОПУСК] , name varchar (10))
Решение:
Для определения первичного ключа в SQL используется ключевое слово PRIMARY KEY.
Таким образом, пропущенные слова — PRIMARY KEY.
Полный скрипт будет выглядеть так:
CREATE TABLE test (id int NOT NULL PRIMARY KEY, name varchar (10))
Пояснение:
Первичный ключ (PRIMARY KEY) — это одно или несколько полей (столбцов) в таблице, которые однозначно идентифицируют каждую запись (строку) в этой таблице. Он играет критически важную роль в реляционных базах данных.
Основные свойства первичного ключа:
- Уникальность: Значения в столбце (или комбинации столбцов) первичного ключа должны быть уникальными для каждой строки. Это гарантирует, что каждая запись может быть однозначно идентифицирована.
- Недопустимость NULL: Столбец (или столбцы) первичного ключа не может содержать значения
NULL. Каждая запись должна иметь определенное значение для своего первичного ключа. Именно поэтому в скрипте уже указаноNOT NULLдля столбцаid. - Индексирование: Первичный ключ автоматически создает кластерный индекс (в большинстве СУБД, таких как SQL Server), что значительно ускоряет поиск и сортировку данных по этому ключу.
- Один на таблицу: В каждой таблице может быть только один первичный ключ.
Способы определения первичного ключа:
Первичный ключ можно определить двумя способами:
- На уровне столбца (как в задаче):
CREATE TABLE table_name ( column1 datatype PRIMARY KEY, column2 datatype, ... );В этом случае
PRIMARY KEYуказывается непосредственно после определения столбца, который должен стать первичным ключом. - На уровне таблицы:
CREATE TABLE table_name ( column1 datatype, column2 datatype, ..., PRIMARY KEY (column1, column2) );Этот способ используется, когда первичный ключ состоит из нескольких столбцов (составной первичный ключ) или когда вы хотите дать имя ограничению первичного ключа (например,
CONSTRAINT PK_TableName PRIMARY KEY (column1)).
В данной задаче, поскольку id уже определен как NOT NULL и требуется однословное добавление, PRIMARY KEY является правильным решением для определения первичного ключа на уровне столбца.
