Что такое справочники в SQL: понятие, используемые методы и примеры

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

Например, представим, что у нас есть таблица "Страны", которая содержит список всех стран мира и их коды:


CREATE TABLE Страны (
    id INT PRIMARY KEY,
    название VARCHAR(100),
    код VARCHAR(2)
);

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

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

Например, если у нас есть таблица "Пользователи", которая содержит информацию о пользователях, мы можем использовать справочник "Страны", чтобы определить страну каждого пользователя:


SELECT Пользователи.имя, Страны.название
FROM Пользователи
JOIN Страны ON Пользователи.код_страны = Страны.код
WHERE Пользователи.id = 1;

В данном запросе мы объединяем таблицу "Пользователи" с таблицей "Страны" по коду страны, чтобы получить название страны для определенного пользователя.

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

Детальный ответ

Что такое справочники в SQL?

В SQL справочники (также называемые таблицами справочных данных или таблицами-словарями) представляют собой структуры данных, которые содержат информацию о других объектах и сущностях в базе данных. Они используются для хранения информации, которая используется в рамках вашей базы данных, такой как имена столбцов, названия таблиц, список доступных значений и т.д. Справочники обеспечивают единообразие и целостность данных в базе данных.

В этой статье мы рассмотрим два основных типа справочников в SQL:

  • Справочники с фиксированными значениями
  • Справочники с динамическими значениями

Справочники с фиксированными значениями

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

Вот пример создания и использования справочника с фиксированными значениями в SQL:


    -- Создание таблицы-справочника
    CREATE TABLE statuses (
        id INT PRIMARY KEY,
        name VARCHAR(50)
    );

    -- Вставка значений в таблицу-справочник
    INSERT INTO statuses (id, name)
    VALUES
        (1, 'В обработке'),
        (2, 'Завершен'),
        (3, 'Отменен');

    -- Использование справочника в другой таблице
    CREATE TABLE orders (
        id INT PRIMARY KEY,
        status_id INT,
        FOREIGN KEY (status_id) REFERENCES statuses(id)
    );
    

В приведенном выше примере мы создали таблицу "statuses" в качестве справочника с фиксированными значениями для статуса заказа. Затем мы использовали этот справочник в таблице "orders", где поле "status_id" имеет внешний ключ, ссылающийся на столбец "id" в таблице "statuses". Это гарантирует, что только ранее определенные значения статуса заказа могут быть использованы в таблице "orders".

Справочники с динамическими значениями

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

Вот пример создания и использования справочника с динамическими значениями в SQL:


    -- Создание таблицы-справочника
    CREATE TABLE countries (
        id INT PRIMARY KEY,
        name VARCHAR(50)
    );

    -- Вставка начальных значений в таблицу-справочник
    INSERT INTO countries (id, name)
    VALUES
        (1, 'Россия'),
        (2, 'США'),
        (3, 'Германия');

    -- Добавление новой страны в справочник
    INSERT INTO countries (id, name)
    VALUES (4, 'Франция');

    -- Обновление значения в справочнике
    UPDATE countries
    SET name = 'Италия'
    WHERE id = 3;

    -- Удаление значения из справочника
    DELETE FROM countries
    WHERE id = 2;
    

В приведенном выше примере мы создали таблицу "countries" в качестве справочника с динамическими значениями для списка стран. Затем мы добавили новую страну, обновили существующую и удалили одну из стран из справочника.

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

Надеюсь, эта статья помогла вам понять, что такое справочники в SQL и как их использовать в ваших проектах!

Видео по теме

Нормализация БД SQL - дробление на справочники

Справочники в 1С 8.3 - создание и свойства на примерах

Выпуск 32. База данных - справочники и связи.

Похожие статьи:

Что такое связанные таблицы SQL и как их использовать

Что такое справочники в SQL: понятие, используемые методы и примеры

Что такое сиквенсы в SQL: подробное объяснение и использование

💸 Как определить стоимость SQL запроса: полезные советы для начинающих