← Назад ко всем вопросам

Какие знаешь ключи в реляционных БД

1️⃣ Как кратко ответить

В реляционных базах данных ключи используются для обеспечения целостности данных и установления связей между таблицами. Основные типы ключей: первичный ключ (Primary Key), внешний ключ (Foreign Key), уникальный ключ (Unique Key) и составной ключ (Composite Key).

2️⃣ Подробное объяснение темы

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

  1. Первичный ключ (Primary Key):

    • Это уникальный идентификатор для каждой записи в таблице.
    • Не может содержать NULL значений.
    • В таблице может быть только один первичный ключ.
    • Пример: В таблице Users столбец user_id может быть первичным ключом, так как он уникально идентифицирует каждого пользователя.
    CREATE TABLE Users (
        user_id INT PRIMARY KEY,
        username VARCHAR(50),
        email VARCHAR(100)
    );
    

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

  2. Внешний ключ (Foreign Key):

    • Используется для установления связи между двумя таблицами.
    • Ссылается на первичный ключ в другой таблице.
    • Обеспечивает целостность данных, гарантируя, что значения в одной таблице соответствуют значениям в другой.
    • Пример: В таблице Orders столбец user_id может быть внешним ключом, ссылающимся на user_id в таблице Users.
    CREATE TABLE Orders (
        order_id INT PRIMARY KEY,
        order_date DATE,
        user_id INT,
        FOREIGN KEY (user_id) REFERENCES Users(user_id)
    );
    

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

  3. Уникальный ключ (Unique Key):

    • Гарантирует уникальность значений в одном или нескольких столбцах.
    • В отличие от первичного ключа, может содержать NULL значения.
    • В таблице может быть несколько уникальных ключей.
    • Пример: В таблице Users столбец email может быть уникальным ключом, чтобы гарантировать, что каждый адрес электронной почты используется только один раз.
    CREATE TABLE Users (
        user_id INT PRIMARY KEY,
        username VARCHAR(50),
        email VARCHAR(100) UNIQUE
    );
    

    В этом примере email является уникальным ключом, что предотвращает дублирование адресов электронной почты в таблице Users.

  4. Составной ключ (Composite Key):

    • Состоит из двух или более столбцов, которые вместе образуют уникальный идентификатор для записи.
    • Используется, когда один столбец не может уникально идентифицировать запись.
    • Пример: В таблице CourseRegistrations составной ключ может состоять из student_id и course_id, чтобы уникально идентифицировать каждую регистрацию.
    CREATE TABLE CourseRegistrations (
        student_id INT,
        course_id INT,
        registration_date DATE,
        PRIMARY KEY (student_id, course_id)
    );
    

    Здесь составной ключ (student_id, course_id) гарантирует, что каждая комбинация студента и курса уникальна в таблице CourseRegistrations.

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

Тема: SQL и базы данных
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки