Назад к вопросам
Junior
198
questionbank

Какие существуют типы ключей в таблицах базы данных?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Существует несколько основных типов ключей:

  • PRIMARY KEY: Уникально идентифицирует каждое поле в таблице. В таблице может быть только один первичный ключ.
  • FOREIGN KEY: Устанавливает связь между двумя таблицами, ссылаясь на первичный ключ в другой таблице. Поддерживает целостность данных.
  • UNIQUE KEY: Гарантирует уникальность значений в столбце или группе столбцов, но, в отличие от первичного ключа, может содержать NULL (если это разрешено определением столбца).
  • CANDIDATE KEY: Любой столбец или набор столбцов, которые могут однозначно идентифицировать строку в таблице. Первичный ключ является одним из кандидатских ключей.
  • SUPER KEY: Набор одного или нескольких столбцов, которые однозначно идентифицируют строку в таблице. Включает в себя кандидатские ключи, но может содержать и дополнительные столбцы, которые не требуются для уникальности.
  • COMPOSITE KEY: Ключ, состоящий из двух или более столбцов, взятых вместе для уникальной идентификации строки. Это может быть первичный, внешний или уникальный ключ.
-- Пример таблицы с различными типами ключей
CREATE TABLE Users (
    user_id INT PRIMARY KEY, -- Первичный ключ
    username VARCHAR(50) UNIQUE, -- Уникальный ключ
    email VARCHAR(100),
    city_id INT,
    -- Внешний ключ, ссылающийся на таблицу Cities
    FOREIGN KEY (city_id) REFERENCES Cities (city_id)
);

CREATE TABLE Cities (
    city_id INT PRIMARY KEY,
    city_name VARCHAR(50)
);