Разработка приложений баз данных для СУБД Sybase SQL Anywhere


Создание представлений


Представления (view) - это одно из мощных средств языка SQL, предназначенное для реализации механизм подсхем пользователей базы данных. Представления позволяют скрыть от пользователей схему базы данных. Они представляют собой хранимые в базе данных запросы, выраженные операторами SELECT. На базе одних представлений могут быть созданы новые представления, которые наследуют все свойства базовых представлений. Формировать представления могут пользователи с привилегиями SELECT для используемых в представлениях таблиц (базовых таблиц).

Для пользователя представления предстают как объекты очень похожие на таблицы данных. Это выражается тем, что:

  • обращение к представлениям осуществляется также как и к таблицам;
  • ко всем представлениям применим оператор SELECT;
  • для некоторых представлений могут применяться операторы INSERT, UPDATE и DELETE.

Однако в соответствие со стандартом ANSI SQL/89 в SYBASE SQL Anywhere таблицы данных и представления имеют некоторые различия:

  • запрос, именованный через представление выполняется только в момент обращения к представлению;
  • для представления невозможно определить ограничения целостности и первичный ключ;
  • в операторе SELECT, на базе которого создается представление, нельзя устанавливать сортировку его результатов;
  • не ко всем представлениям могут применяться операторы INSERT, UPDATE и DELETE.

Представление может быть модифицировано (т.е. по отношении к нему можно использовать операторы INSERT, UPDATE и DELETE) в том, и только в том случае, если для оператора SELECT, на базе которого создано представление, выполняются каждое из следующих специфических условий:

  • не используется служебное слово DISTINCT;
  • при выполнении запроса данные извлекаются только из таблицы;
  • в списка полей этого оператора отсутствуют арифметические выражения. Элементами списка могут быть только поля базовой таблицы или базового представления. В свою очередь на поля этого представления накладывается такое же ограничение;
  • в запросе не применяются подзапросы;
  • для результирующих данных не определено группирование.




- Начало -  - Назад -  - Вперед -



Книжный магазин