РЕЛЬНОЕ ограничение в поле зрения

Во время обучения 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) какой смысл использовать уникальный ключ, если мы отключили его, как в этом заявлении

Все уникальные ограничения в представлении должны быть отключены. По сути, они могут быть полезны для перезаписи запросов.

Другие вопросы по тегам