|
Программирование >> Реализация баз данных
Занятие 1 Основные сведение ааяениях 301 Через представления удается запрашивать и данные, причем запрос формируется без всяких отраничении, а для модификации существует ряд отраничении. Кроме того, представление может ссылаться на другое представление. позволяют выполнять несколько функций: ограничивать доступную пользователю область таблицы определенными строками и/или столбцами; объединять столбцы из нескольких таблиц, представляя их в виде единой таблицы; нять детальные сведения агрегированными. Представления позволяют секционировать данные и распределять их между несколькими БД или экземплярами SQL Server 2000. шью секционированных представлений распределяют нагрузку по обработке данных между несколькими состав-одну группу. SQL Server 2000 также поддерживает индексирование представлений- Это позволяет значительно повысить производительность сложных представлений, которые часто используются в хранилищах данных и других системах поддержки принятия решений. Результирующий набор стандартного представления, описанный логикой определяющего его оператора, не хранится в базе данных, а динамически создается в период выполнения. Однако существуют (например, в системах поддержки принятия решений) сложные запросы, которые ссылаются на большое число строк базовых таблиц и агрегируют значительное количество данных, получая довольно сжатые сводные результаты (например, суммы средних (пачений). Для реализации подобных запросов SQL Server 2000 подлержи-вает создание кластерных индексов на представлениях. При исполнении оператора CREA-ТЕ INDEX результирующий набор представления, определенното оператором SELECT, сохраняется в БД и становится постоянным. После этого операторы, ссылающиеся на представление, выполняются значительно быстрее. Модификации данных базовых таблиц автоматически отражаются представлением. Сценарии использования представлений Существует множество способов использования представлений для извлечения данных. Извлечение конкретных данных Представления помогают пользователям отобрать нужные данные. Избыточные данные можно оставить за пределами представления. Кроме того, представления позволяют повысить защиту самих данных, поскольку пользователям видны лишь данные представления, но не самой лежащей в его основе. Упрощение манипулирования данными Представления позволяют упростить манипулирование данными. Определив часто используемые соединения, а также UNION- и в виде пользователи избавляются от необходимости заново задавать все условия и параметры при каждой операции данными. Например, сложный запрос для составления отчета, который с помощью внешних соединений и агрегирования извлекает данные из груп- пы разрешается определить в качестве представления. Представление доступ к данным, поскольку при генерации каждого отчета не приходится заново вводить определяющий представление запрос и отправлять его на сервер. Вместо этого выполняется запрос к самому представлению. Также можно создавать встроенные пользовательские функции, действующие как представления с параметрами (то как представления, у которых в поиска конструкции WHERE заданы параметры). Настройка извлечения данных Представления позволяют разным пользователям по-разному отображать одни и те же данные, даже при одновременном представлений особенно ощутимо, когда к базе данных обращается множество пользователей, имеющих различные интересы и опыт работы. Например, для менеджера можно создать представление. которое извлекает сведения лишь о гех с которыми он имеет дело. Представле- ние определяет, какие данные извлечь, на основе учетной записи менеджера. Экспорт и импорт данных Представления позволяют экспортировать данные в другие приложения. Например, можно проанализировать в Microsoft Excel сведения о продажах, которые хранятся в таблицах Stores и Sales в базе данных Pubs. Для этого достаточно создать представление на основе таблиц Stores и Sales и с помощью утилиты экспортировать данные представления. Утилите: / и оператор BULK INSERT предназначены и для импорта данных из файлов в представления. оператора INSERT можно добавлять строки в представление. Объединение секционированных данных Представления можно создавать i;m объединения результатов двух и более запросов к различным таблицам в единый результирующий набор с помощью оператора Transact-SQL UNION, Пользователь воспринимает полученный результат как единую таблицу (которая называется в этом случае секционированные влениел1). Допустим, что в одной таблице содержатся данные о продажах ггоне, а во второй - данные по Калифорнии. Оператор UNION позволяет создать на основе этих таблиц представление, отражающее объемы продаж в обоих регионах. Чтобы создать представление, следует создать идентич- ных таблиц и задать определяющее диапазон данных в каждое них. Затем на основе созданных базовых таблиц формируется представление. При выполнении запроса к такому представлению SQL Server автоматически определяет таблицы, на которые влияет запрос, и ссылается только них. Например, если запрос требует извлечь данные по продажам только в Ващинттоне, SQL Server читает только таблицу с данными по Вашингтону, не обращаясь к другим таблицам. Секционированные представления создаются не только на основе таблиц локальной БД, но и многочисленных гетерогенных источников (таких, как удаленные серверы). На-чтобы объединить данные различных удаленных серверов (каждый из которых хранит информацию об одном создают распределенные запросы, извлекающие данные из каждого источника. на основе этих формируется представле- ние. При исполнении любых запросов происходят только к тем удаленным серверам, где находятся таблицы с запрошенными данными. Обращение к другим серверам, на которые ссылается запрос, не выполняется. Запросы, обращенные только к части секционированных данных, распределенных между несколькими или серверами, выполняются быстрее, поскольку прихо- дится просматривать меньший объем данных. Если таблицы расположены на разных серверах или на мнотопроцессорной машине, то все задействованные в запросе таблицы просматриваются параллельно, чт же повышает производительность запроса. Кроме Занятие 1 Ост&иыь сведения о аапет х 303 того, быстрее выполняются задачи по обслуживанию БД (восстановление индексов, создание резервных копий таблиц). Пользователь воспринимает данные секционированного представления как единую таблицу, к которой можно делать запросы. При этом не нужно задавать необходимую базовую таблицу вручную. Секционированные представления разрешено обновлять, если выполняются следую-условия: в представлении определен INSTEAD OF-триггер, поддерживающий операторы INSERT, UPDATE и DELETE; ставление и операторы INSERT, UPDATE и DELETE соответствуют правилам, определенным для обновляемых секционированных представлений. Резюме В общем случае представления используются для конкретизации, и настройки вида базы данных для пользователя. Представление работает как фильтр таблицы, лежащей в его основе. Оно напоминает виртуальную таблицу или хранимый запрос. Нет никаких ограничений при запросе данных через представление, но при модификации через представление некоторые ограничения имеются. Представления позволяют отобрать конкретные данные, упростить работу настраивать их извлечение, выполнять импорт и экспорт, а также объединять распределенные данные.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |