×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

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

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

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

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

Вспомните о weather и cities таблицах из Глава 1.2. Рассмотрим следующую задачу: необходимо гарантировать, что никто не сможет вставить в таблицу weather строки, для которых отсутствует соответствующая запись в таблице cities table. Этот механизм называется обеспечением ссылочная целостность ссылочной целостности ваших данных. В упрощенных системах баз данных это реализуется (если вообще реализуется) путем предварительного обращения к таблице cities для проверки наличия соответствующей записи, после чего выполняется вставка или отклонение новых weather записей. Данный подход имеет ряд недостатков и крайне неудобен, поэтому Digital Q.DataBase может выполнить эту операцию за вас.

Новое определение таблиц будет выглядеть следующим образом:

CREATE TABLE cities (
        name     varchar(80) primary key,
        location point
);

CREATE TABLE weather (
        city      varchar(80) references cities(name),
        temp_lo   int,
        temp_hi   int,
        prcp      real,
        date      date
);

Теперь попробуйте вставить некорректную запись:

INSERT INTO weather VALUES ('Berkeley', 45, 53, 0.0, '1994-11-28');

ОШИБКА:  вставка или обновление в таблице "weather" нарушает ограничение внешнего ключа "weather_city_fkey"
ПОДРОБНОСТИ:  Ключ (city)=(Berkeley) отсутствует в таблице "cities".

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

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению