Введение в стандарты языка баз данных SQL




Средства определения представлений - часть 2


(iv) таблица, на которую содержится ссылка в разделе FROM верхнего уровня, не должна использоваться в подзапросах, входящих в раздел FROM;

(v) табличное выражение, непосредственно содержащееся в QS, не должно включать разделы GROUPBY и HAVING;

(c) порождаемая таблица является обновляемой в том и только в том случае, когда обновляемым является выражение запроса, содержащееся в табличном подзапросе;

(d) соответствующие синтаксические правила и пояснения содержатся в разд. 3.3 (мы сознательно не говорили в этом разделе о правилах обновляемости, потому что они больше связаны с представлениями).

  • Число имен столбцов в списке столбцов представления должно совпадать со степенью таблицы, специфицированной выражением запроса.
  • Если в определении представления содержится раздел WITHCHECKOPTION, то представление должно быть обновляемым.
  • Если специфицировано WITHCHECKOPTION без задания раздела уровней (levelsclause), то по умолчанию полагается указание класса CASCADED.
  • Если в определении представления специфицирован список столбцов представления, то i-тый столбец представления имеет i-тое имя из этого списка. В противном случае имена столбцов представления совпадают с именами столбцов таблицы, специфицируемой выражением запроса.
  • Набор привилегий, которые получает создатель по отношению к определяемому представлению, определяется сравнительно громоздким набором правил и в конечном счете зависит от набора привилегий, которыми располагает создатель по отношению к базовым таблицам, лежащим в основе представления, и от того, является ли представление обновляемым.
  • В соответствии с правилами обновляемости представления, для каждой строки обновляемого представления существует и только одна строка базовой таблицы, на которой в конечном счете основывается это представление. Занесение новой строки, удаление или модификация существующей строки приводит к выполнению соответствующей операции над строками этой базовой таблицы.
  • Пусть V1 - представление. По определению V1 перекрывает (span) V1, и V1 перекрывает представление V2, если V2 используется в определении V1.
  • Под операцией обновления понимаются операция INSERT и позиционная, поисковая, динамическая позиционная и подготавливаемая динамическая позиционная операции UPDATE.
  • Если представление V1 перекрывает представление V2, в определении V2 содержался раздел WITHCHECKOPTION, и в результате выполнения операции обновления V1 возникает строка, невидимая в V2, то

      (a) если в определении V1 было указано CASCADED, то вырабатывается исключительное условие;

      (b) если в определении V1 было указано LOCAL и в результате выполнения операции обновления возникает строка, видимое в таблице, на которой непосредственно определено представление V2, то вырабатывается исключительное условие.

  • Проверка ограничения WITHCHECKOPTION выполняется в конце каждой операции обновления.



  • Содержание  Назад  Вперед