Меню

Ограничение первичного ключа SQL



Первичные и внешние ключи MySQL

MySQL – это СУБД (система управления реляционными базами данных), которая принадлежит корпорации Oracle и унаследована от стандартного SQL. Это позволяет получить доступ и управлять базами данных. Тот, кто знает слово «База данных», должен знать первичный и внешний ключи. Не существует концепции реляционной базы данных без существования и идеи концепций первичных и внешних ключей. Итак, в этой статье мы узнаем о важности и правильном использовании первичных и внешних ключей в MySQL.

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

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

Давайте посмотрим на синтаксис и различные примеры для создания первичных и внешних ключей в MySQL.

Основные ключи

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

Первичный ключ при создании таблицы

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

Запрос на создание такой таблицы и создание столбца идентификатора столбца первичного ключа будет таким:

В этом синтаксисе мы можем определить ограничения в конце запроса.

В столбце ключа мы видим, что book_id установлен как первичный ключ таблицы.

Отбросить первичный ключ

Вместо добавления, если мы хотим удалить или отбросить первичный ключ, используется команда ALTER.

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

Создание первичного ключа с помощью ALTER TABLE

Чтобы определить первичный ключ, мы можем использовать ALTER TABLE.

Первичный ключ успешно добавлен. Теперь давайте лучше узнаем о внешних ключах.

Внешние ключи

Как и первичные ключи, внешние ключи могут быть определены при определении таблицы с помощью команды ALTER TABLE.

Внешний ключ при создании таблицы

В разделе первичного ключа мы создали таблицу для книг. Теперь предположим, что у нас есть еще одна таблица authors в нашей базе данных, которая включает идентификатор автора в качестве первичного ключа, имя и фамилию автора,

Читайте также:  4 Цель показания и противопоказания к выполнению очистительной клизмы

И мы хотим создать внешний ключ к идентификатору автора в таблице книг. Итак, чтобы создать внешний ключ для author_id при создании таблицы книг, мы запускаем этот запрос:

Отбросьте внешний ключ

Удаление внешнего ключа – это не то же самое, что удаление первичного ключа. Сначала мы должны получить имя ограничений, выполнив команду «SHOW CREATE TABLE books».

Затем укажите имя ограничения для команды ALTER TABLE следующим образом:

Вот как мы можем создавать и удалять внешний ключ в таблице.

Первичный ключ с помощью команды ALTER TABLE

Для создания внешнего ключа в существующей таблице с помощью команды ALTER TABLE,

Мы видим, что author_id успешно установлен в качестве внешнего ключа.

Резюме

Мы узнали о сути и концепциях первичных и внешних ключей. А также создание, добавление и удаление первичного или внешнего ключа в таблице.

Источник

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

Применимо к: SQL Server 2016 (13.x); и более поздние версии База данных SQL Azure Управляемый экземпляр SQL Azure

Определить первичный ключ в SQL Server можно с помощью среды SQL Server Management Studio или Transact-SQL. Создание первичного ключа автоматически приводит к созданию соответствующего уникального кластеризованного индекса (или некластеризованного при наличии такого указания).

Перед началом

Ограничения

В таблице возможно наличие только одного ограничения по первичному ключу.

Все столбцы с ограничением PRIMARY KEY должны иметь признак NOT NULL. Если допустимость значения NULL не указана, то для всех столбцов c ограничением PRIMARY KEY устанавливается признак NOT NULL.

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

Permissions

Создание новой таблицы с первичным ключом требует разрешения CREATE TABLE в базе данных и разрешения ALTER на схему, в которой создается таблица.

Создание первичного ключа в существующей таблице требует разрешения ALTER на таблицу.

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

Создание первичного ключа

  1. В обозревателе объектов щелкните правой кнопкой мыши таблицу, в которую необходимо добавить ограничение уникальности, и выберите Конструктор.
  2. В Конструкторе таблиц щелкните селектор строк для столбца базы данных, который необходимо определить в качестве первичного ключа. Чтобы выделить несколько столбцов, нажмите и удерживайте клавишу CTRL и щелкните селекторы строк для остальных столбцов.
  3. Щелкните правой кнопкой мыши средство выбора строк столбца и выберите команду Задать первичный ключ.
Читайте также:  1 Что такое оценка имущества и для чего она проводится

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

Ключевой столбец-источник идентифицируется символом первичного ключа в соответствующем селекторе строк.

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

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

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

Создание первичного ключа в существующей таблице

В следующем примере создается первичный ключ для столбца TransactionID в базе данных AdventureWorks.

Создание первичного ключа в новой таблице

В следующем примере создается таблица и определяется первичный ключ для столбца TransactionID в базе данных AdventureWorks.

Создание первичного ключа с кластеризованным индексом в новой таблице

В следующем примере создается таблица и определяется первичный ключ для столбца CustomerID и кластеризованного индекса для TransactionID в базе данных AdventureWorks.

Источник

SQL PRIMARY KEY Ограничение

Ограничение первичного ключа SQL

Ограничение первичного ключа однозначно идентифицирует каждую запись в таблице базы данных.

Первичные ключи должны содержать уникальные значения и не могут содержать значения NULL.

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

Первичный ключ SQL при создании таблицы

Следующий SQL создает первичный ключ в столбце «ID» при создании таблицы «персоны»:

SQL Server / Oracle / MS Access:

Чтобы разрешить именование ограничения первичного ключа, а также для определения ограничения первичного ключа для нескольких столбцов, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

Читайте также:  Постановление Правительства Самарской области от 13 мая 2020 г N 315 Об установлении величины прожиточного м

Примечание: В приведенном выше примере имеется только один первичный ключ (пк_персон). Однако значение первичного ключа состоит из двух столбцов (идентификатор + фамилия).

Первичный ключ SQL при изменении таблицы

Чтобы создать ограничение первичного ключа в столбце «ID», когда таблица уже создана, используйте следующий код SQL:

MySQL / SQL Server / Oracle / MS Access:

Чтобы разрешить именование ограничения первичного ключа, а также для определения ограничения первичного ключа для нескольких столбцов, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

Примечание: Если для добавления первичного ключа используется инструкция ALTER TABLE, то столбцы первичного ключа должны уже объявлены, чтобы не содержать значения NULL (при первом создании таблицы).

Удалить ограничение первичного ключа

Чтобы удалить ограничение первичного ключа, используйте следующий код SQL:

Источник

SQL Ключевое слово PRIMARY KEY

SQL PRIMARY KEY

Команда PRIMARY KEY ограничение однозначно идентифицирует каждую запись в таблице.

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

SQL PRIMARY KEY в CREATE TABLE

Следующий SQL создает первичный ключ в столбце «ID» при создании таблицы «Persons»:

SQL Server / Oracle / MS Access:

Чтобы разрешить именование ограничения PRIMARY KEY и определить ограничение PRIMARY KEY для нескольких столбцов, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

Примечание: В приведенном выше примере существует только один первичный ключ (PK_Person). Однако значение первичного ключа состоит из TWO COLUMNS (ID + LastName).

SQL PRIMARY KEY в ALTER TABLE

Чтобы создать ограничение первичного ключа для столбца «ID», когда таблица уже создана, используйте следующий SQL:

MySQL / SQL Server / Oracle / MS Access:

Чтобы разрешить именование ограничения первичного ключа и определить ограничение первичного ключа для нескольких столбцов, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

Примечание: Если вы используете инструкцию ALTER TABLE для добавления первичного ключа, то столбец(ы) первичного ключа уже должен быть объявлен не содержащим нулевых значений (при первом создании таблицы).

Отбросить ограничение первичного ключа

Чтобы удалить ограничение первичного ключа, используйте следующий SQL:

Источник