База знаний для подготовки к ОГЭ и ЕГЭ, проверенная Российской академией наук

Ключ таблицы

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

Основные понятия

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

Виды ключей

Первичный ключ

  • Свойства первичного ключа:
 * Уникален для каждой записи.
 * Не допускает значения NULL.
 * В таблице может быть только один первичный ключ.
 * Часто используется для кластеризации данных.
  • Пример создания первичного ключа в SQL:
  CREATE TABLE Студенты (
      СтудентID INT PRIMARY KEY,
      Фамилия VARCHAR(50),
      Имя VARCHAR(50)
  );

Уникальный ключ

  • Свойства уникального ключа:
 * Обеспечивает уникальность значений в столбце или комбинации столбцов.
 * Может принимать значение NULL (в некоторых СУБД несколько NULL считаются уникальными, в других — нет).
 * В таблице может быть несколько уникальных ключей.
  • Пример добавления уникального ключа в SQL:
  ALTER TABLE Студенты
      ADD CONSTRAINT Уникальный_Email UNIQUE (Email);

Внешний ключ

  • Свойства внешнего ключа:
 * Ссылается на первичный ключ в другой таблице.
 * Обеспечивает целостность ссылок между таблицами.
 * Может допускать значения NULL, если связь необязательна.
  • Пример создания внешнего ключа в SQL:
  CREATE TABLE Записи (
      ЗаписьID INT PRIMARY KEY,
      СтудентID INT,
      FOREIGN KEY (СтудентID) REFERENCES Студенты(СтудентID)
  );

Определение ключей в SQL

  • Создание первичного ключа при создании таблицы:
  CREATE TABLE Преподаватели (
      ПреподавательID INT,
      Фамилия VARCHAR(50),
      Имя VARCHAR(50),
      PRIMARY KEY (ПреподавательID)
  );
  • Добавление уникального ключа к существующей таблице:
  ALTER TABLE Преподаватели
      ADD CONSTRAINT Уникальный_Телефон UNIQUE (Телефон);

Различия между первичным и уникальным ключом

  • Первичный ключ:
 * Не допускает значения NULL.
 * Единственный в таблице.
 * Используется для идентификации записи и организации данных.
  • Уникальный ключ:
 * Может допускать значения NULL (зависит от СУБД).
 * Может быть несколько в таблице.
 * Обеспечивает уникальность значений, но не обязательно используется для идентификации записи.

Применение ключей

  • Уникальность записей: предотвращение дублирования данных.
  • Целостность данных: обеспечение корректных связей между таблицами.
  • Оптимизация запросов: ускорение поиска и выборки данных.
  • Связи между таблицами: реализация отношений один-к-одному, один-ко-многим и многие-ко-многим.

Заключение

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