
- •Санкт-Петербург
- •Часть 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. Системы безопасности
- •Шифрование объектов
- •Список литературы
Скалярные функции
Скалярные функции возвращают единственное значение, тип которого определяется конструкцией RETURNS. При этом можно использовать все скалярные типы данных, включая bigint и sql_variant.
Тип данных timestamp, пользовательские и нескалярные типы данных (например, «таблица» или «курсор») не поддерживаются. Тело функции, определенное в блоке BEGIN ...END, содержит набор операторов Transact-SQL, которые возвращают значение функции. Функция способна возвращать значение любого типа, кроме text, ntext, image, cursor и timestamp.
Табличные функции
Табличные функции возвращают таблицы. Существуют табличные функции двух типов: подставляемые и много операторные. У подставляемых табличных функций тело отсутствует, а возвращаемая таблица представляет собой результирующий набор единственного оператора SELECT. Тело многооператорных функций, определенное в блоке BEGIN...END, состоит из операторов Transact-SQL, выполняющих формирование строк и размещение их в возвращаемой таблице.
Операторы из блока BEGIN...END не должны оказывать никаких побочных эффектов. Побочным эффектом функции называются любые постоянные изменения состояния ресурса, область действия которого находится за пределами функции (например, модификация таблицы базы данных). Операторам функций разрешено вносить изменения только в локальные объекты функции, такие, как локальные курсоры и переменные. Например, посредством функции нельзя модифицировать таблицы базы данных, выполнять операции над курсорами, которые не являются локальными для функции, рассылать электронную почту, модифицировать каталог и генерировать результирующий набор, возвращаемого непосредственно пользователю.
Детерминированность функций
В SQL Server есть как детерминированные, так и недетерминированные функции. Детерминированной считается функция, которая возвращает одинаковые результаты, если ее вызывают с одним и тем же набором входных параметров. Недетерминированной называется функция, если при вызове с одним и тем же набором входных параметров она может возвращать различные результаты.
Детерминированность функций определяет возможность их использования в индексированных вычисляемых столбцах и индексированных представлениях. При просмотре индекса всегда должен получаться согласованный результат. Таким образом, определять вычисляемые столбцы и представления, подлежащие индексированию, можно лишь посредством детерминированных функций.
Функции конфигурации, курсоров, метаданных, безопасности и системной статистики (а также другие встроенные функции) относятся к недетерминированными.
Типы данных
Тип данных — это атрибут, определяющий тип информации, которую может содержать объект. У всех столбцов, параметров, переменных, функций, возвращающих значения и хранимых процедур с кодами возврата есть определенные типы данных. В Transact-SQL имеется несколько базовых типов данных, например varchar, text и int. Все данные, хранящиеся в SQL Server, должны быть совместимыми с одним из этих базовых типов. Создаваемые пользовательские типы данных всегда определяются на основе базовых типов данных.