Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Модифицируемые и не модифицируемые представления





К представлениям, как и к базовым таблицам, в общем случае применимы инструкции манипулирования данными. Однако если из базовых таблиц можно удалять и обновлять любые строки и вводить в такие таблицы новые строки, то этого нельзя сказать о представлениях. Если команды модификации могут выполняться в представлении, представление называется модифицируемым; в противном случае оно предназначено только для чтения при запросе. В теории бах данных определены критерии, по которым определяют, является ли представление модифицируемым или нет. Считается, что представление является модифицируемым, если оно:

· относиться к одной и только одной базовой таблице;

· содержит первичный ключ этой таблицы;

· не имеет никаких полей, которые бы являлись агрегатными функциями;

· не содержит DISTINCT, GROUP BY или HAVING в своем определении;

· не использует подзапросы;

· может быть использовано в другом представлении, но это представление также модифицируемо;

· не использует константы, строки, или выражения среди выбранных полей вывода;

· содержит любые поля основной таблицы, которые имеют ограничение NOT NULL, если другое ограничение по умолчанию не определено.

На практике ответ на вопрос о модифицируемости представлений оказывается неоднозначным, и теоретически модифицируемое представление может оказаться не модифицируемым или наоборот. Безусловно, модифицируемыми являются представления, полученные из единственной базовой таблицы простым исключением некоторых ее строк и/или столбцов, обычно называемые «представление-подмножество строк и столбцов».

Различия между модифицируемыми и не модифицируемыми представлениями очевидны. Модифицируемые представления используются в основном точно так же, как и базовые таблицы. Фактически, пользователи не могут даже осознать, является ли объект, который они запрашивают, базовой таблицей или представлением. Это – превосходный механизм защиты конфиденциальной информации или тех частей таблицы, которые не относятся к потребностям данного пользователя. Пользователям предоставляют только интересующие их данные в наиболее удобной для них форме (окно в таблицу или в любое соединение любых таблиц).

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

В PostgreSQL все создаваемые представления по умолчанию являются не модифицируемыми. Чтобы сделать представление модифицируемым (если это возможно!), необходимо создать правило (RULE), которое обеспечивает выполнение требуемых действий над другими таблицами. Вообще, с помощью правил можно исполнять дополнительные действия при выполнении тех или иных команд над любыми таблицами или представления. Создать правило можно с помощью инструкции:

CREATE [ OR REPLACE ] RULE { таблица | представление } AS
ON { SELECT | INSERT | UPDATE | DELETE.}

TO таблица [ WHERE условие ]

DO [ [ALSO] | INSTEAD ] { NOTHING | команда | (команда; команда [;... ]) }

команда::= SELECT | INSERT | UPDATE | DELETE | NOTIFY

где ALSO - указывает на то, что команды, содержащиеся в правиле, будут выполняться как дополнение к исходной команде, INSTEAD - вместо исходной команды, NOTHING - ничего не будет выполняться.

Примеры:

/* создаем не модифицируемое представление */

CREATE VIEW "Просроченные _доставки_1" (“Заказ”, “Получатель”) AS

SELECT "Заказ", "Заказчик", "Дата_время"
FROM "Доставка" INNER JOIN “Заказы”
ON "Доставка”."Заказ" = “Заказы”.”Код_заказа”

WHERE NOT("Доставка".”Доставлен”)

ORDER BY 3;

SELECT * FROM "Просроченная доставка ";

/* создаем модифицируемое представление */

CREATE OR REPLACE VIEW "Просроченные_ доставки_2" AS

SELECT "Заказ", "Дата_время"

FROM "Доставка"

WHERE NOT(”Доставлен”);







Дата добавления: 2015-09-15; просмотров: 3764. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

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

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Studopedia.info - Студопедия - 2014-2026 год . (0.012 сек.) русская версия | украинская версия