
- •1.2.2Типы представлений — до 5 мин.
- •1.2.3Создание представлений — до 25 мин.
- •1.2.4Использование представлений — до 10 мин.
- •1.2.5Изменение и удаление представлений — до 5 мин.
- •1.2.6Индексированные представления — до 5 мин.
- •2.2.2Создание хранимых процедур — до 15 мин.
- •2.2.3Использование параметров — до 15 мин.
- •2.2.4Использование локальных переменных внутри хранимой процедуры — до 15 мин.
- •2.2.5Использование return для возвращаемых значений — до 10 мин.
- •2.2.6Использование select для возвращаемых значений — до 10 мин.
- •2.2.7Управление хранимыми процедурами с помощью t-sql — до 10 мин.
- •3.2.2Когда использовать триггеры —до 10 мин.
- •3.2.3Создание триггеров — до 10 мин.
- •3.2.4Создание триггера типа delete — до 10 мин.
- •3.2.5Создание триггера типа insert — до 5 мин.
- •3.2.6Создание триггера типа update — до 10 мин.
- •3.2.7Создание триггера instead of — до 10 мин.
- •3.2.8Использование триггеров after — до 5 мин.
- •3.2.9Использование вложенных триггеров — до 10 мин.
- •3.2.10Управление триггерами с помощью операторов t-sql — до 5 мин.
- •4.2.2Уровни изолированности — до 10 мин.
- •4.2.3Поведение параллельных транзакций — до 10 мин.
- •4.2.4Режимы транзакций — до 20 мин.
- •4.2.5Вложенные транзакции — до 15 мин.
- •4.2.6Откаты транзакций — до 15 мин.
- •4.2.7Точки сохранения — до 10 мин.
- •5.2.2Уровни блокировок — до 15 мин.
- •5.2.3Режимы блокировки — до 20 мин.
- •5.2.4Блокирование и взаимоблокировки — до 20 мин.
- •5.2.5Подсказки блокировки — до 20 мин.
- •6.2.2Логическая оптимизация запросов — до 20 мин.
- •6.2.3Оптимизация плана исполнения запроса — до 15 мин.
- •6.2.4Подсказки оптимизатору запросов — до 15 мин.
- •6.2.5Оптимизация с использованием sql Server 2000 Index Tuning Wizard и sql Server 2005 Database Tuning Advisor — до 30 мин.
- •7.2.2Режимы аутентификации — до 15 мин.
- •7.2.3Учетные записи и пользователи — до 20 мин.
- •7.2.4Администрирование полномочий доступа к базам данных — до 20 мин.
- •7.2.5Администрирование ролей баз данных — до 10 мин.
- •7.2.6Делегирование учетной записи безопасности — до 15 мин.
- •8.2.2Внедрение sql кода (sql Injection) — до 20 мин.
- •8.2.3Защита sql Server в Интернет — до 20 мин.
- •8.2.4Пример организации системы безопасности приложений — до 40 мин.
- •9.2.2Журнальное протоколирование в sql Server — до 20 мин.
- •9.2.3Контрольные точки — до 15 мин.
- •9.2.4Методы резервного копирования — до 25 мин.
- •10.2.2Слежение за резервным копированием — до 10 мин.
- •10.2.3Планирование резервного копирования — до 25 мин.
1.2.4Использование представлений — до 10 мин.
Создавая представление, помните, что представление – это оператор SQL, выполняющий доступ к базовым данным, и что именно вы контролируете этот оператор SQL. Кроме того, помните следующие рекомендации, которые могут оказаться полезными для улучшения производительности, управляемости и применимости ваших баз: данных.
Используйте представления для обеспечения безопасности. Вместо повторного создания таблицы для обеспечения доступа только к определенным данным таблицы создайте представление, содержащее строки и колонки, которые вы хотите предоставить для доступа. Использование представления – это идеальный способ ограничить пользователей, предоставляя одним пользователям доступ только к определенной части данных, а другим пользователям – к другой части данных. Используя представление вместо создания таблицы, заполняемой из существующей таблицы, вы не увеличиваете количество данных и поддерживаете безопасность данных.
Используйте преимущества индексов. Помните, что используя представление, вы все же осуществляете доступ к базовым таблицам и, тем самым, к индексам по этим таблицам. Если таблица содержит индексированную колонку, проследите за тем, чтобы эта колонка была включена предложение WHERE оператора SELECT для данного представления. Индекс может использоваться для выбора данных, только если соответствующая колонка является частью представления и используется в предложении WHERE. Например, если таблица Employee содержит индекс по колонке Dept и эта колонка включена в представление, то можно использовать этот индекс.
Выполняйте секционирование ваших данных. Представления особенно полезны тем, что позволяют вам секционировать данные, снижая затраты времени, необходимые для перестроения индексов и управления виртуальной таблицей за счет уменьшения размера отдельных компонентов. Например, если перестроение индекса по одной большой таблице занимает два часа, то вы можете секционировать данные на четыре меньшие таблицы, время перестроения индекса которых намного меньше. Затем вы можете определить представление, которое прозрачным образом объединяет отдельные таблицы. Этот метод может оказаться очень полезным при использовании больших таблиц, где хранятся "исторические" данные.
1.2.5Изменение и удаление представлений — до 5 мин.
Удаление и изменение представлений выполняется с помощью Enterprise Manager или операторов T-SQL. Работать с Enterprise Manager проще, как и при выполнении других процедур SQL Server, но операторы T-SQL обеспечивают повторяемость. Для изменения представлений с помощью T-SQL используйте оператор ALTER VIEW. Оператор ALTER VIEW аналогичен оператору CREATE VIEW и имеет следующий синтаксис:
ALTER VIEW имя_представления [(колонка, колонка, ...)]
[WITH ENCRYPTION]
AS
ваш оператор SELECT
[WITH CHECK OPTION]
Единственным отличием между операторами ALTER VIEW и CREATE VIEW является то, что оператор CREATE VIEW не будет выполняться, если представление уже существует, а оператор ALTER VIEW не будет выполняться, если указанное представление не существует.
Чтобы увидеть, как действует оператор ALTER VIEW, вернемся к нашему примеру секционирования (описанному в разделе "Секционирование"). Чтобы удалить устаревшую секцию данных и добавить новую секцию, мы можем изменить представление следующим образом:
ALTER VIEW partview
AS
SELECT * FROM table_2
UNION ALL
SELECT * FROM table_3
UNION ALL
SELECT * FROM table_4
UNION ALL
SELECT * FROM table_5
Модифицированное представление будет выглядеть аналогично прежнему виду (до выполнения оператора ALTER VIEW), но теперь будет выбран другой набор данных. Представление теперь не использует таблицу table_1 и использует таблицу table_5.
Для удаления представления используйте оператор DROP VIEW. Оператор DROP VIEW имеет следующий простой синтаксис:
DROP VIEW имя_представления