В базе данных имеются две таблицы, ORDERS и ORDER_ITEMS, со следующей структурой:
ORDERS:
order_id NUMERIC(12) CONSTRAINT order_pk PRIMARY KEY,
order_date DATE NOT NULL,
order_status NUMERIC(1)
ORDER_ITEMS:
order_id NUMERIC(12) CONSTRAINT oi_order_id_fk REFERENCES orders (order_id),
position NUMERIC(3),
prod_id NUMERIC(12) NOT NULL CONSTRAINT oi_prod_id_unq UNIQUE,
prod_amount NUMERIC(2),
CONSTRAINT oi_pk PRIMARY KEY (order_id, position)
В таблице ORDERS - одна строка:
Таблица ORDER_ITEMS пуста.
Что произойдёт при выполнении команды:
INSERT INTO order_items (order_id, position, prod_id, prod_amount)
VALUES(2, 1, 1, NULL);
Будет получена ошибка, связанная с нарушением ограничения уникальности oi_prod_id_unq
Команда завершится успешно
Будет получена ошибка, связанная с нарушением ограничения внешнего ключа oi_order_id_fk
Будет получена другая ошибка
Будет получена ошибка, связанная с нарушением первичного ключа oi_pk
Другие предметы Колледж Ограничения целостности данных в реляционных базах данных управление данными базы данных SQL ограничения уникальности ошибки базы данных внешние ключи первичные ключи колледж таблицы INSERT INTO Новый
Давайте разберёмся с командой INSERT и тем, что произойдёт при её выполнении в данной ситуации.
У нас есть две таблицы: ORDERS и ORDER_ITEMS. В таблице ORDERS уже есть одна строка, а таблица ORDER_ITEMS пуста. Теперь рассмотрим команду:
INSERT INTO order_items (order_id, position, prod_id, prod_amount) VALUES(2, 1, 1, NULL);
Теперь давайте проанализируем, что происходит при выполнении этой команды:
Таким образом, единственной проблемой, которая возникнет при выполнении этой команды, будет ошибка, связанная с нарушением ограничения внешнего ключа oi_order_id_fk.
В итоге, правильный ответ: Будет получена ошибка, связанная с нарушением ограничения внешнего ключа oi_order_id_fk.