Программирование >>  Реализация баз данных 

1 ... 151 152 153 [ 154 ] 155 156 157 ... 162


456 Пйможеиив

Глава 10

Закрепление материала

1. Что такое представление? -

Представление - это виртуальная ица, содержимое которой определяется запросом. Подобно настоящей таблице, представление состоит из набора ичонованных столбцов и строк ащих данные, однако оно не хранится в базе данных. Образующие представление и строки берутся из таблиц, на которые запрос, представление. Формирование строк и столбцов представления осуществляется динамически при ссылке на него. Как представления для конкретизации, упрощения и настройки базы для пользователя. функционирует как фильтр дл лнц, лежащих в его основе. Запрос, определяющий представление, может сс1латься на одну или несколько таблиц и представлении из текущей или из других баз данных. представления определяют средствами распределенных запросов, использующих данные нз нескольких гетерогеннтх источников.

2. Какие функции позволяют выпзлнии. представления?

Представления позволяют выполнять несколько функций:

ограничивать доступную пользователю область таблицы определенными строками и/

или столбцами;

объединять столбцы из11еско.1Ьких таблиц, представляя их в ввде единой таблицы;

заменять детальные сведения агрегированными.

3. В каких используют

Существует множество способов использования представлений: конкретных данных; манипулирования данными;

настройка извлечения данных; экспорт и импорт данных;

объединение секционированнтх данных.

4. Назовите по крайней мере пять которые следует учитывать при создании представлений.

Необходимо учитывать следующие ограничения:

представление можно создавать только в текущей БД. Между тем ицы и представления, на которые ссылается создаваемое представление, могут находиться в других БД и даже на других серверах, если определяется посредством распределенного запроса;

имена представлений должны соответствовать правилам ленным для идентификаторов, и должны быть для каждого Кроме того, имя представления не должно совпадать с именем ни одной другой таблицы, которой владеет пользователь, создающий представление;

можно создавать тавленИ!! с применением других представлений и процедур, ссы-

на представления. SQL Server 2000 допускает до 32 уровней вложенности

представлений;

с представлениями связывать правила и определения DEFAULT;

к представлению разрешено привязать триггеры INSTEAD OF, но неАРГЕН;

в запросах да1Я10ши.х представление, не должно быт укиий ORDER BY,

COMPUTE, COMPUTE BY и ключевых слов INTO;

на представлениях нельзя создавать полнотекстовые индексы;

запрещено создание временных представлений, как и представлений на основе временных таблиц;



нельзя удалять таблицы или представления, задействованные представлении, созданном с конструкции пока это представление не будет удалено или танез бгть привязанным к схеме (в результате изменения). Кроме того, запрещено выполнение оператх)ра ALTER TABLE для таблицы, задействованной в представлении, привязанном к схеме;

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

5. Какие инструменты для создания представлений имеются в SQL Server?

Enterprise Manager и оператор rransact-SQL CREATE VIEW.

6. Где хранятся результирующие наборы стандартных ованных представлений? Результирующие наборы стандартных представлений создаются динамически при обращении к представлению. Результирующие наборы индексированн1х представлении хранятся в БД.

7. Какого типа индекс следует создать вым при создании индексированного представления?

Уникальный кластерный индекс.

8. Какой оператор (или операторы языка Transact-SQL мьзуется дл шения определения представления или для удаления его из БД?

Для изменения представления применяется оператор ALTER VIEW, а для удаления DROP VIEW.

9. Какие операторы языка Transact-SQL следует применять для просмотра всех данных представления AuthorNames базы данных Northwind?

USE Northwind SELECT *

FROM AuthorNames

Какой оператор (или операторы языка Transact-SQL) для

и удаления данных через представление? Для добавления - INSERT, для модификации - UPDATE, а для удаления - DELETE.

Каким условиям должно соответствовать чтобы через него можно было

модифицировать данные?

Представление должно соответх;твовать следующим требованиям:

в конструкции FROM определение в лени я содержится по крайней мере одна таблица. Представление не может быть основано только на выражении;

в списке выбора не используются агрегирующие функции (AVG, COUNT, SUM, MIN, MAX, KULIINC, STDEV, S ШEVP. VAR и VARP) и конструкции GROUP BY, UNION, DISTINCT, TOP. Однако агрегирующие функции разрешается применять в подзапросе, определенном в конструкции FROM при условии, чт аеиые ими значения не изменяются;

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

12. Какое представление считается обновляемым секционированным?

считается обновляемым секционированным, если оно определено с щью операторов SELECT, результирующие наборы которгх объединен! посредством оператора UNION ALL. Каждый оператор SELECT ссылается на одну из базовых таблиц

SQL Server. Эта таблица может быть как локальной, так и связанной. На таблицы ссылаются с помощью понеич иt.f имен, а также функций OPENROWSET или OPENDATASOURCE (но нельзя использовать функцию OPENROWSET или OPENDATASOURCE, задающую транзитный запрос).



Глава 11

Упражнение s. Использование индекса и просмотр его свойств

► Просмотр йсчм индекса в БД Northwind

3. Какой индекс отражает порядок сортировки таблицы Customers?

Индекс PK Customers - кластерный. Если таблица содержит кластерный индекс, порядок ее сортировки совпадает дком сортировки кластерного индекса.

4. Есть ли в таблице Customers составио!! индекс?

Нет, таблица Customers не содержит составного индекса - каждый ее индексный ключ построен на одном столбце.

► - Исполнение запросов тслютр плана исполнения

6, Почему оптимизатор запросов этом случае индекс City, а не Некластерный индекс City - покрывающий индекс для данного запроса. Индексным ключом этого индекса является столбец City. Листовой уровень рева некластерного индекса является индексным ключом кластерного

Упражнение 2. Создание орного индекса

► Создание некластерного индекса

7. Почему оптимизатор запросов не использовал кластерный индекс Books pk? Индекс IdStatus шающий индекс данного запроса. Ключ индекса содержит столбцы Title и Sold. Закладкой некластерного индекса является еШ, поскольку кластерный индекс Boohspk использует TitlelD.

Закрепление материала

1. Может ли кластерный индекс ил., также уникальным?

Да, уникальные еке может бгть определен как кластерный или некластерный. Если для таблицы, не имеющей кластерного индекса, задается ограничение PRIMARYKEY, SQE Server автоматически создает для лого первичного ключа кластерный уникальный индекс.

2. иие Customers ест сте;)Н,1Й индекс у столбца с первичным ключом (Ciisio-merlD) и некластерный индекс у столбца LastName, Будет ли некластерный индекс

для запроса;

SELECT stomerlD F <0М Customers Ж LastName LIKE ne]

Да, некластерный индекс столбец LastName в качестве своего индексного клю-

ча, и индексные страницы на уровне В-дерева используют кластерный индекс-

ный ключ CustomeriD. Следовательно, некластерный индекс покрывает все одержимое запроса.

3. Всегда ли составной ключ индекса входит в покрывающий индекс?

Нет, покрывающий индекс должен содержать единственный столбец. Индекс считается

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

Следовательно, запрос единственного столбца покрывается индексом, этот

столбец в качестве индексного ключа.

4. Как глобальные 11и1.--т заполнения влияет на существующие вдексы и на новые индексы, для которых не м. коэффициент заполнения?

Глобальный коэффициент заполнение яе г на индекс, при создании которого не используется конструкция FILLFACTOR, Если вы измените значение глобального коэффициента



1 ... 151 152 153 [ 154 ] 155 156 157 ... 162

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика