РЕЛЬНОЕ ограничение в поле зрения
Во время обучения inline_constraint и out_of_line_constraint для просмотра. Я получил этот пример в документации оракула. http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_8004.htm
CREATE VIEW emp_sal (emp_id, last_name,
email UNIQUE RELY DISABLE NOVALIDATE,
CONSTRAINT id_pk PRIMARY KEY (emp_id) RELY DISABLE NOVALIDATE)
AS SELECT employee_id, last_name, email FROM employees;
У меня так много сомнений в этом утверждении:
1) что подразумевается под консистенцией - это ограничение полезно, когда запросы обычно обращаются к представлениям вместо базовых таблиц, и поэтому администратору БД необходимо определить отношения данных между представлениями, а не таблицами.
Но в этом примере это не материализованные представления, поэтому данные будут доступны только через базовую таблицу. Не могли бы вы объяснить функцию и когда использовать ограничение Rely.
2) какой смысл использовать уникальный ключ, если мы отключили его, как в этом утверждении.
1 ответ
1) что такое ограничение
Ограничения вида, поскольку они не применяются, обычно указываются с помощью параметра RELY, чтобы сделать их более полезными.
http://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm
Укажите RELY, чтобы активировать существующее ограничение в режиме NOVALIDATE для перезаписи запросов в режиме неинтенсивной перезаписи запросов.
http://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm
Это означает, что если материализованное представление создается на основе этого представления, оно может опираться на ограничение, позволяющее переписывать определенные запросы для использования материализованного представления вместо запросов к базовым таблицам.
2) какой смысл использовать уникальный ключ, если мы отключили его, как в этом заявлении
Все уникальные ограничения в представлении должны быть отключены. По сути, они могут быть полезны для перезаписи запросов.