Сопоставьте порядок столбцов в составном внешнем ключе с порядком столбцов целевого ключа: что произойдёт, если соответствующие позиции не совпадают?
База Hintsage
Проектирование схемы и ограничения
Ключи, нормализация, ограничения целостности и моделирование реляционных данных.
Практика
Вопросы: Проектирование схемы и ограничения
После добавления внешнего ключа удаление строки родителя стало медленным. Какой элемент схемы обычно проверяют первым и почему?
Внешний ключ должен обнуляться при удалении родителя, но его столбец объявлен обязательным. Какое противоречие возникает?
У сотрудника может быть не более одного рабочего профиля. Какое ограничение на внешнем ключе не позволит создать второй профиль для того же сотрудника?
При удалении родителя внешний ключ настроен с действием ON DELETE SET DEFAULT. Какое условие должно выполняться для успешного удаления?
Чем ограничение внешнего ключа RESTRICT отличается от NO ACTION при удалении родительской строки?
В отношении комбинация из трёх атрибутов уникальна, но после удаления любого одного атрибута уникальность сохраняется. Можно ли считать эту комбинацию кандидатным ключом?
Как отложенная проверка ограничения уникальности меняет допустимое состояние данных внутри транзакции?
В каталоге товаров список тегов хранится в одном текстовом поле. Какое нарушение нормализации показывает такая схема?
CREATE TABLE product (
product_id INTEGER PRIMARY KEY,
name VARCHAR(200) NOT NULL,
tags VARCHAR(500) NOT NULL -- например: 'sql,backend,db'
);
Какое базовое правило целостности нарушает составной первичный ключ с допускающим NULL компонентом?
В каталоге категорий подкатегория должна ссылаться на другую категорию той же таблицы. Какой механизм схемы гарантирует существование такой родительской категории?
Как составной первичный ключ родителя влияет на внешние ключи и индексы дочерних таблиц?
В бронировании дата окончания не должна быть раньше даты начала. Каким ограничением схемы выразить это правило?
Чем ограничение UNIQUE отличается от уникального индекса при проектировании реляционной схемы?
Для сотрудников задана уникальность пары «отдел — рабочий email». Разрешает ли это повторить один email в разных отделах?
В системе бронирований номер помещения должен быть уникальным только среди активных бронирований, а завершённые записи могут повторять его. Какое решение на уровне схемы надёжно выразит это правило?
В заказе позиции не имеют самостоятельного номера вне заказа и не должны существовать без него. Как смоделировать ключ позиции, чтобы это правило выражалось самой схемой?
В системе заказов набор допустимых статусов должен изменяться без миграции схемы. Какое ограничение лучше использовать, чтобы база не принимала неизвестные статусы?
В PostgreSQL два столбца должны принимать только процентные значения от 0 до 100. Как спроектировать схему, чтобы это правило задавалось один раз?
CREATE TABLE product (
discount_percent NUMERIC
CHECK (discount_percent BETWEEN 0 AND 100)
);
CREATE TABLE campaign (
discount_percent NUMERIC
CHECK (discount_percent BETWEEN 0 AND 100)
);
Для иерархии категорий внешний ключ допускает, чтобы категория стала родителем самой себя. Какое ограничение добавить, чтобы запретить именно такую связь?
CREATE TABLE category (
category_id INTEGER PRIMARY KEY,
parent_id INTEGER,
name VARCHAR(100) NOT NULL,
FOREIGN KEY (parent_id)
REFERENCES category(category_id)
);
Показано 21–40 из 50