Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Использование фразы WITH check option




В представление помещаются только те строки, которые удовлетворяют условию WHERE в определяющем запросе. Если строка в представлении будет изменена таким образом, что она перестанет удовлетворять этому условию, то эта строка должна исчезнуть из дан- ного представления. Аналогичным образом, в представлении будут появляться новые строки всякий раз, когда вставка или обновление данных в представлении приведет к тому, что новые строки будут удовлетворять условию WHERE. Строки, которые добавляются или исключаются из представления, принято называть мигрирующими.

А теперь попробуем добавить в представление новую запись:

INSERT INTO staff prop list

'Д VALUES ('B3', 'SG5', 'PG19');

Однако и в этом случае вставка новой записи в таблицу окажется невозможной, поскольку в определении таблицы Property for Rent указано, что все ее столбцы (за исключением Area, Pcode и Sno) не могут содержать значения NULL (см. пример 13.43). Однако представление Staff Prop List не содержит никаких полей таблицы Property for Rent, за исключением номера объекта, поэтому у нас нет возможности за- дать значения всех остальных обязательных столбцов этой таблицы.

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

в его определении не используется ключевое слово DISTINCT, т.е. из резуль- татов определяющего запроса не исключаются дублирующиеся строки;

каждый элемент в списке предложения SELECT определяющего запроса представляет собой имя столбца (а не константу, выражение или обоб- щающую функцию), причем имя каждого из столбцов упоминается 'в этом списке не более одного раза;

в предложении FROM указана только одна таблица — т.е. представление должно быть создано на базе единственной таблицы, по отношению к которой пользователь должен обладать необходимыми правами доступа. Если исходная таблица сама является представлением, то это представление также должно отвечать указанным условиям. Данное требование исключает возможность обновления любых представлений, построенных на базе соединения, объединения

• (UNION), пересечения (INTERSECT) или разности (EXCEPT) таблиц;

предложение WHERE не должно включать никаких вложенных запросов типа SELECT, которые ссылаются на таблицу, указанную в предложении FROM;

определяющий запрос не должен содержать предложений GROUP BY и HAVING. Кроме того, любая строка данных, добавляемая через представление, не должна

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

Обновляемое представление Для того чтобы представление было обновляемым, СУБД долж-

на иметь возможность однозначно отобразить любую его строку или столбец на соответствующую строку или столбец его исход- ной таблицы.




Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 281; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.