15816

Microsoft Sql Server 2005. Представления

Лекция

Информатика, кибернетика и программирование

Microsoft Sql Server 2005. Представления Представления Представления – это именованные запросы на выборку данных инструкции SELECT на языке TSQL хранящиеся в базе данных. В запросах представления можно использовать так же как и таблицы независимо от сложности их инструкций SELECT.

Русский

2013-06-18

117 KB

18 чел.

Microsoft Sql Server 2005. Представления

Представления

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

 Механизм представлений может использоваться по нескольким причинам.

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

  •  Он позволяет организовать доступ пользователей к данным наиболее удобным для них образом, поэтому одни и те же данные в одно и то же время могут рассматриваться разными пользователями совершенно различными способами. (В частности переименование атрибутов).
  •  Он позволяет упрощать сложные операции с базовыми отношениями. Например, если представление будет определено на основе соединения двух отношений, то пользователь сможет выполнять над ним простые унарные операции выборки и проекции, которые будут автоматически преобразованы средствами СУБД в эквивалентные операции с выполнением соединения базовых отношений. Одной из важнейших причин использования представлений является стремление к упрощению многотабличных запросов. После определения представления с соединением нескольких таблиц можно будет использовать простейшие однотабличные запросы к этому представлению вместо сложных запросов с выполнением того же самого многотабличного соединения.

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

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

 В утилите SQL Server Management Studio представления можно создавать, редактировать, выполнять и вставлять в другие запросы. Поскольку представление является ничем иным, как сохраненной инструкцией SELECT, его создание начинается с проектирования этой инструкции. Инструкция SELECT, если она является корректной, может быть вырезана и вставлена в представление практически из любого инструмента. В утилите Management Studio представления перечислены в собственном узле в каждой базе данных.

 Команда «Создать представление» в контекстном меню позволит запустить конструктор запросов в режиме создания представлений.

 

Конструктор запросов утилиты Management Studio способен одновременно отображать множество панелей, выбранных на панели инструментов .

 Панель диаграммы (Область схемы). В запросе может участвовать множество таблиц и представлений. Для связывания их отношениями с целью формирования предложения FROM инструкции SELECT можно использовать это графическое представление.

  •  Панель сетки (Область условий). На этой панели перечисляются отображаемые, фильтруемые и сортируемые столбцы.
  •  Панель SQL. На этой панели можно в текстовом виде увидеть и отредактировать формируемую инструкцию SELECT.
  •  Панель результатов. Когда запрос выполняется с помощью действия «Выполнить код SQL» , на этой панели отображаются его результаты. Если результаты запроса остаются нетронутыми долгое время, Management Studio запрашивает у пользователя разрешение закрыть подключение к серверу.

 Фактический код SQL отображается и редактируется в панели SQL кода. Столбцы в представление можно добавлять в панелях диаграммы, сетки и SQL кода. Функция добавления таблиц доступна в контекстном меню, а также на панели инструментов. Здесь можно добавлять таблицы, другие представления, синонимы и табличные функции.

 Таблицы и другие представления могут быть добавлены посредством перетаскивания их на панель диаграммы из окна «Обозреватель объектов» или с помощью команды «Добавить таблицу» на панели инструментов или в контекстном меню.

 

Функция добавления производных таблиц способна добавить в предложение FROM представления в качестве источника данных подзапрос. Код SQL этого подзапроса можно ввести вручную на панели SQL. Кнопка «Проверить синтаксис SQL» позволяет проверить синтаксис введенных инструкций SQL. В то же время она не проверяет имена таблиц, столбцов и представлений в инструкции SELECT.

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

 После создания представления его можно редактировать в Management Studio, выделяя название и выбирая в контекстном меню команду «Проект».

 Для тестирования инструкции SELECT представления в конструкторе запросов щелкните на кнопке «Выполнить код SQL» или нажмите клавишу .

 Контекстное меню представления также содержит команды управления его полнотекстовой индексацией и его переименования. Свойства приложения содержат расширенные параметры и разрешения системы безопасности. Для удаления представления из базы данных достаточно выделить его, выбрать в контекстном меню команду «Удалить» или нажать одноименную клавишу.

 Создание представлений с помощью кода SQL

Представлениями можно управлять в редакторе запросов, выполняя сценарии SQL, которые используют команды языка DDL: CREATE, ALTER и DROP. Основной синтаксис создания представления следующий:

 CREATE VIEW имя_представления AS инструкция_SELECT

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

 CREATE VIEW [dbo]. [v_Customer]

AS SELECT dbo.Customer.IdCust, dbo.Customer.FName, dbo.Customer.LName, dbo.City.CityName

FROM dbo.Customer INNER JOIN dbo.City ON dbo.Customer.IdCity = dbo.City.IdCity

 Попытка создать представление, которое уже существует, вызовет ошибку. Когда представление создано, инструкцию SELECT можно с легкостью отредактировать с помощью команды ALTER:

 ALTER имя_представления AS измененная_инструкция_SELECT

 Если изменение представления предполагает и изменение прав доступа на него, предпочтительнее удалить его и создать заново, поскольку удаление представления также приводит и к удалению разрешений доступа, установленных ранее.
Чтобы удалить представление из базы данных, используйте команду DROP:

 DROP VIEW имя_представления

 Предложение ORDER BY и представления 

Представления служат источником данных для других запросов и не поддерживают сортировку внутри себя. Например, следующий код извлекает данные из представления v_Customer и упорядочивает их по полям LName и FName. Предложение ORDER BY не является частью представления v_Customer, а применяется к нему с помощью вызова инструкции SQL:

 SELECT IdCust, FName, LName, CityName FROM dbo.v_Customer ORDER BY LName, FName

 Выполнение представлений

Представление не может быть выполнено само по себе. Инструкция SELECT, на основе которой создано представление, может быть выполнена, однако в этой форме, с технической стороны, инструкция SQL не является представлением. Представление может быть полезно только как источник данных в запросе.
Именно поэтому контекстное меню «Открыть представление» утилиты Management Studio автоматически генерирует простой запрос, извлекая из представления все столбцы. Представление отображает только результаты. Однако включение других панелей конструктора запросов позволяет увидеть и сам запрос, извлеченный из представления.
Панель SQL отобразит представление в предложении FROM инструкции SELECT. Именно в такой форме на представление ссылаются пользователи:

 SELECT *FROM v_Customer

 Задание для самостоятельной работы: Создайте представление возвращающее список заказов с указанием имени клиента и количества товаров в каждом заказе. Таким образом, результат должен включать следующие атрибуты: IdOrd, OrdDate, IdCust, FName, LName, Количество видов товаров в заказе.


 

А также другие работы, которые могут Вас заинтересовать

44147. Разработка визуальной системы обучения основам алгоритмизации и программирования курсантов высших военных учебных заведений 2.9 MB
  Целью изучения учебной дисциплины «Информатика и программирование» является приобретение курсантами базовых знаний и практических навыков, позволяющих эффективно применять средства автоматизации управления внутренними войсками для решения служебно-боевых задач в сфере военно-профессиональной деятельности по специальности
44148. Исследование физической подготовленности легкоатлетов групп начальной подготовки 254.5 KB
  Средства и методы обучения и тренировки легкоатлетов Структура и содержание спортивной тренировки на этапе начальной подготовки Оценить динамику физической подготовленности занимающихся в секции легкой атлетики в годичном цикле тренировки. Систематичность последовательность и постепенность лежат в основе планирования спортивной тренировки в легкой атлетике и осуществляются в недельном месячном годичном тренировочных циклах предполагая систематическое последовательное но постепенное повышение тренировочных нагрузок...
44149. Направления повышения экономической безопасности предприятия ООО «Дорожно-строительное предприятие» 648.5 KB
  Теоретико-методические положения обеспечения экономической безопасности предприятия. Сущность экономических подходов к повышению уровня безопасности предприятия. Методические положения по определению уровня экономической безопасности предприятия и факторов на нее влияющих. Методы повышения экономической безопасности предприятия.
44150. Реклама вентиляционных систем стандартные и нестандартные решения (на примере компании «Формик») 1.51 MB
  Большинство современных рынков подразделяют на множество сегментов. Многие товары и услуги имеют узкую нишу и ограниченный круг потребителей, охватить который с помощью традиционной рекламы сложно и затратно. Все равно, что бить из пушки по воробьям.
44151. Аграрная политика государства в условиях рынка 695.5 KB
  В связи с этим появились суждения о том что система колхозов способствовала развалу сельского хозяйства и лишь с ликвидацией такой системы наступит всеобщее благоденствие. Поэтому налицо отчуждение работника сельского хозяйства от земли спад интереса к сельскохозяйственному труду многие деревни опустели. Трудности развития сельского хозяйства и других отраслей АПК как показывают реформы с каждым годом только увеличиваются. Учитывая данные обстоятельства решение проблемы продовольственной безопасности страны должно представлять собой...
44152. Техническое обслуживание и ремонт электропривода ЭПЦ-1000 Д12УХЛ 340.1 KB
  Предназначен для управления рабочими органами запорной арматуры технологических и магистральных трубопроводов на объектах МН: линейной части нефтепровода, НПС (ЛПДС), нефтебаз, пунктов слива-налива, резервуарных парков, морских терминалов, а также регулирующих органов в системах автоматического регулирования давления на НПС (ЛПДС) и линейной части, трубопроводной запорной арматуры систем пожаротушения, водоснабжения и канализации, водяного охлаждения, клапанов систем автоматики отопления и вентиляции
44153. РАЗРАБОТКА МАРКЕТИНГОВОГО ПЛАНА УЧАСТИЯ В ВЫСТАВКЕ (НА ПРИМЕРЕ ООО «СЦ «СЭР», Г. ЛЕНИНСК-КУЗНЕЦКИЙ) 1.2 MB
  Целью работы является разработка плана участия в выставке для совершенствования деятельности предприятия на примере ООО Сервисный Центр СибЭнергоРесурс. Четвертая глава направлена на разработку маркетингового плана участия в выставке для ООО Сервисный Центр СибЭнергоРесурс.3 Разработка маркетингового плана участия в выставке.
44154. Инфаркт миокарда. Реанимационный этап лечения 675.5 KB
  Каждая миокардиальная клетка состоит из миофибрилл, которые состоят из длинных цепей индивидуальных саркомеров — основных сократительных единиц клетки. Каждый саркомер состоит из нитевидных структур — перекрывающихся филаментов, образованных сократительными белками — актином и миозином.
44155. Исследование проблем и разработка основных направлений совершенствования системы развития логистики запасов в ООО «Новые окна» 393 KB
  Теоретико-методологические основы логистики запасов Понятие сущность и виды материальных запасов . Необходимость существования запасов Анализ уровня развития логистики запасов в ООО Новые окна.