
- •Санкт-Петербург
- •Часть I. Общие сведения о субд Microsoft sql Server 2000 5
- •Часть II. Администрирование sql Server 2000 116
- •Введение
- •Часть I. Общие сведения о субд Microsoft sql server 2000
- •1.1. Возможности sql server 2000
- •1.2. Компоненты sql server 2000
- •Утилита Server Network
- •Встроенные мастера sql Server 2000
- •1.3. Архитектур бдв среде sql Server 2000
- •Логические компоненты базы данных
- •Режимы сопоставления
- •Идентификаторы пользователей, учетные имена, роли и группы
- •Физическая структура базы данных Страницы и экстенты
- •Файлы и группы файлов баз данных
- •Протокол tds
- •Архитектура обработчика запросов
- •Архитектура памяти
- •Архитектура ввода-вывода
- •Архитектура полнотекстовых запросов
- •Организация транзакций
- •Хранилища данных и оперативная аналитическая обработка (olap)
- •Oltp-системы
- •Olap-системы
- •Архитектура разработки приложений
- •Язык баз данных
- •1.4. Инструменты программирования sql server
- •Окно Query
- •Панель Results
- •Вкладка Grids
- •Окно Object Browser
- •Окно отладчика Transact-sql
- •Окно Object Search
- •Утилита командной строки isql
- •Утилита командной строки osql
- •1.5.Язык transact - sql
- •Операторы Transact-sql
- •Язык определения данных
- •Язык управления данными
- •Язык манипулирования данными
- •Идентификаторы
- •Переменные
- •Функции
- •Встроенные функции
- •Функции получения набора строк
- •Агрегатные функции
- •Скалярные функции
- •Скалярные функции
- •Табличные функции
- •Детерминированность функций
- •Типы данных
- •Выражения
- •Использование операторов в выражениях
- •Элементы языка управления ходом выполнения
- •Обработка оператора select
- •Обработка других операторов
- •Команда go
- •Обработка пакета
- •Хранимые процедуры и триггеры
- •Исполнение хранимых процедур и триггеров
- •Сценарии Transact-sql
- •Часть II. Администрирование sql server 2000
- •2.1. Создание и управление бд sql server 2000
- •Методы создания баз данных sql Server
- •Оператор create database
- •Управление базой данных sql Server
- •Просмотр сведений о базе данных
- •Модификация базы данных
- •Настройка параметров базы данных
- •Удаление базы данных sql Server
- •2.2. Импорт и экспорт данных
- •Использование утилиты Ьср и оператора bulk insert
- •Использование различных форматов данных
- •Использование dts
- •Инструменты dts
- •Задачи dts
- •Соединения dts
- •2.3. Копирование в среде sql server 2000
- •Терминология резервного копирования
- •Резервное копирование с использованием Transact-sql
- •Полное резервное копирование базы данных
- •Резервное копирование файла или группы файлов
- •Репликация
- •2.4. Восстановление в среде sql server 2000 Определение последовательности восстановления данных
- •2.5. Репликация Процесс репликации
- •Репликация моментальных снимков
- •2.6. Проверка подлинности в sql server 2000
- •Проверка подлинности средствами Windows
- •Проверка подлинности средствами sql Server 2000
- •Сравнение типов проверки подлинности
- •Клиентские сетевые библиотеки и проверка подлинности.
- •Выбор режима проверки подлинности для sql Server 2000
- •Проверка подлинности Windows
- •Смешанный режим проверки подлинности
- •Делегирование учетной записи пользователя
- •2.7.Разрешение уровня сервера
- •Фиксированные роли базы данных
- •2.8.1. Оптимизация работы sql server 2000
- •2.8.1. Конфигурация сети
- •2.8.2. Индексы
- •Назначение и структура индексов
- •Кластерные индексы
- •Не кластерные индексы
- •Свойства индекса
- •Уникальный индекс.
- •Составной индекс
- •Коэффициент заполнения и разреженность индекса
- •Порядок сортировки
- •2.8.3. Триггеры
- •Исполнение триггеров
- •2.8.4. Хранимые процедуры
- •Производительность
- •Временные хранимые процедуры
- •Расширенные хранимые процедуры
- •Удаленные хранимые процедуры
- •2.8.5. Представления
- •2.8.6. Мониторинг
- •Утилита System Monitor
- •Утилита Task Manager
- •Утилита sql Profiler
- •Утилита sql Query Analyzer
- •Использование Transact-sql
- •Системные хранимые процедуры
- •Команды dbcc
- •Встроенные функции
- •Флаги трассировки
- •Использование snmp
- •2.9. Системы безопасности
- •Шифрование объектов
- •Список литературы
Свойства индекса
Помимо типа (кластерный или не кластерный), индекс имеет ряд других свойств. Его можно определить как:
уникальный — в нем не допускается дублирование записей;
составной — ключ такого индекса состоит из нескольких столбцов;
с коэффициентом заполнения, допускающим увеличение страниц индекса при необходимости;
с разреженным индексом (pad index) для изменения объема памяти, выделенного для размещения промежуточных уровней В-дерева;
с упорядочением ключей индекса (по возрастанию или по убыванию).
У индекса могут быть дополнительные свойства, например группа файлов, хранящая индекс. За более подробной информацией обратитесь к разделу SQL Server Books Online, посвященному оператору CREATE INDEX,.
Индексы разрешается строить для одного или нескольких столбцов таблицы или представления. Кроме того, индексы можно задавать и для вычисляемых столбцов, но с некоторыми ограничениями.
Уникальный индекс.
У уникального индекса ключи и соответствующие им значения столбцов должны быть уникальны. Уникальный индекс разрешается создать для любого столбца, если все его значения уникальны. Такой индекс также можно построить для группы (комбинации) столбцов. Уникальный составной индекс должен быть однозначным. Например, столбцы с фамилией и номером страховки, для которых создан уникальный индекс, не должны содержать пустых значений. Более того, комбинации фамилии и номера страховки должны быть уникальными.
SQL Server автоматически создает уникальный индекс для столбцов с ограничениями primary key или unique. Поэтому лучше обеспечивать однозначность данных посредством ограничений, избегая непосредственного использования свойства unique. SQL Server не позволит создать уникальный индекс для столбца с дублирующимися значениями.
Составной индекс
Составным называется любой индекс, ключ которого образован несколькими столбцами таблицы. Составные индексы позволяют повысить производительность запросов, уменьшая число операций ввода-вывода, поскольку запрос к комбинации столбцов индекса не выходит за пределы индекса. Если результат запроса можно получить из индекса, без обращения к лежащей в его основе таблице, то такой запрос считается покрытым, а индекс — покрывающим. Запрос к единственному столбцу, например к столбцу с ограничением primary key, покрывается индексом, автоматически созданным для такого столбца. При исполнении покрытого запроса к набору столбцов покрывающим является составной индекс. Предположим, исполнен такой запрос:
SELECT empjd, Iname, job_lvl
FROM employeeOI
WHERE hire_date < (GETDATEQ - 30)
AND job_lvl >= 100 ORDER BY job_lvl
Если для столбца Emp_ID существует кластерный индекс, а для столбцов LName, Job_Lvl и Hire_Date — некластерный индекс INco, то покрывающим индексом будет INco. Помните, что у некластерного индекса, созданного для таблицы с кластерным индексом, закладкой является ключ кластерного индекса. Поэтому индекс INco содержит все столбцы, описанные в запросе (этот индекс является покрывающим, а запрос — покрытым).