База Hintsage

Проектирование схемы и ограничения

Ключи, нормализация, ограничения целостности и моделирование реляционных данных.

Практика

Вопросы: Проектирование схемы и ограничения

В системе переводов исходный счёт у операции может отсутствовать, но если он указан, должны быть заданы обе части его составного ключа. Что именно гарантирует MATCH FULL в этой схеме?

CREATE TABLE account (
    country_code CHAR(2) NOT NULL,
    account_no VARCHAR(20) NOT NULL,
    owner_name VARCHAR(100) NOT NULL,
    PRIMARY KEY (country_code, account_no)
);

CREATE TABLE transfer (
    transfer_id INTEGER PRIMARY KEY,
    src_country CHAR(2),
    src_account VARCHAR(20),
    FOREIGN KEY (src_country, src_account)
        REFERENCES account (country_code, account_no)
        MATCH FULL
);

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

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

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

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

Программирование SQLПроектирование схемы и ограниченияПроектировщик реляционных баз данных

Показано 1–20 из 50