Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Представления
Представление (View) – это виртуальная таблица, созданная на основе запроса к обычным таблицам. Представление реализуется как запрос, хранящийся на сервере и выполняющийся всякий раз, когда происходит обращение к представлению. Представления дают возможность создавать уровни организации данных, позволяющие отделить реализацию хранения данных от их вида. Например, можно создать представление, которое выбирает данные из нескольких таблиц. Если клиенты используют это представление, а не напрямую обращаются к лежащим в его основе таблицам, то у разработчика БД появляется возможность менять запрос (например, с целью оптимизации), что не будет замечать клиент – для него это будет все то же представление. Представления позволяют организовать данные в более удобном и простом виде. Такая проблема может возникнуть, когда число таблиц в базе данных достаточно большое, а взаимосвязи между ними сложные. Представление в этом случае позволяет исключить часть данных, не нужных конкретному клиенту базы данных. Для создания и удаления представлений существуют команды DDL. Чтобы создать представление необходимо использовать предложение: CREATE VIEW viewname [(view_column [, view_column . . .])] AS <SELECT> [WITH CHECK_OPTION]; Здесь viewname – имя представления, которое должно быть уникальным в пределах базы данных. За ним идет группа не всегда обязательных наименований полей. Обязательно необходимо определить предложение <SELECT>, которое выбирает данные, включаемые в представление. Необязательный параметр WITH CHECK_OPTION позволяет проверять каждую строку данных модифицируемого представления на условие "попадания" в представление. Пример: CREATE VIEW MyView AS SELECT NAME, PRICE FROM Table_example; Число записей в представлении MyView будет равно числу записей в таблице Table_example.
Рассмотрим пример:
На рисунке 39 представлена реляционная диаграмма для вышеприведенного примера 0,N 1,1 Рис. 39 Реляционная диаграмма Тогда соответствующее данной реляционной диаграмме представление имеет вид: CREATE VIEW WiseBookCount (WISEMEN, HOW_WISEBOOKS) AS SELECT M.WISEMEN_NAME, COUNT(B.BOOK) FROM WISEMEN M, WISEBOOK B WHERE (M.ID_WISEMEN=B.ID_WISEMEN) GROUP BY M.WISEMEN_NAME В представлениях нельзя использовать ORDER BY, а также наборы данных, получаемые в результате выполнения хранимых процедур. Для извлечения данных из представления используются предложения SELECT. SELECT * FROM WiseBookCount ORDER BY HOW_WISEBOOKS Установление того, какое поле, возвращаемое запросом (в представлении) соответствует какому полю представления, осуществляется по порядковому номеру – первое поле запроса отобразится в первое поле представления, второе – во второе и т. д. Для вывода списка мудрецов, чье имя начинается с буквы "К" можно использовать следующее представление: CREATE VIEW WiseMen (WISEMEN) AS SELECT M.WISEMEN_NAME FROM WISEMEN M WHERE M.WISEMEN_NAME LIKE 'K%'; В представлениях необходимо использовать явное именование полей (с указанием таблицы).
Дата добавления: 2014-02-28; просмотров: 301; Нарушение авторских прав Мы поможем в написании ваших работ! |