Оглавление Об авторе |
1 |
О техническом редакторе |
1 |
Благодарности |
3 |
Введение |
5 |
Цели этой книги |
5 |
Новые возможности SQL Server 2008, описываемые в этой книге |
6 |
Организация этой книги |
8 |
Изменения относительно предыдущей редакции |
13 |
Различия в синтаксисе SQL и Transact-SQL |
14 |
Работа с базами данных примеров |
14 |
ЧАСТЬ I. ОСНОВНЫЕ КОНЦЕПЦИИ И ИНСТАЛЛЯЦИЯ |
17 |
Глава 1. Введение в системы реляционных баз данных |
19 |
Системы баз данных |
19 |
Разнообразные пользовательские интерфейсы |
20 |
Физическая независимость данных |
21 |
Логическая независимость данных |
21 |
Оптимизация запросов |
21 |
Целостность данных |
21 |
Управление конкурентным доступом к данным |
22 |
Копирование и восстановление данных |
22 |
Безопасность базы данных |
23 |
Системы реляционных баз данных |
23 |
Работа с базой данных примеров в этой книге |
24 |
SQL — язык реляционной базы данных |
27 |
Проектирование базы данных |
28 |
Нормальные формы |
29 |
Первая нормальная форма |
29 |
Вторая нормальная форма |
30 |
Третья нормальная форма |
31 |
Модель "сущность — отношение" |
31 |
Соглашения по синтаксису |
34 |
Резюме |
35 |
Упражнения |
35 |
Глава 2. Планирование инсталляции и инсталляция SQL Server |
37 |
Планирование инсталляции |
37 |
Назначение системы SQL Server |
38 |
Требования к аппаратному обеспечению и к сети |
38 |
Требования к аппаратному обеспечению |
38 |
Требования к сети |
39 |
Редакции SQL Server |
40 |
Рекомендации по инсталляции |
41 |
Где размещать корневой каталог |
42 |
Сколько экземпляров Database Engine запускать на выполнение |
42 |
Какой выбрать вариант аутентификации |
43 |
Инсталляция SQL Server |
43 |
Перед запуском программы инсталляции |
44 |
Запуск программы установки и предварительная установка |
44 |
Установка компонентов SQL Server |
45 |
Запуск и останов экземпляра Database Engine |
53 |
Выделенное соединение с экземпляром Database Engine |
54 |
Резюме |
55 |
Глава 3. SQL Server Management Studio |
56 |
Программная группа SQL Server и Books Online |
56 |
Введение в SQL Server Management Studio |
58 |
Соединение с сервером |
59 |
Зарегистрированные серверы |
60 |
Object Explorer |
61 |
Организация панелей Management Studio и навигация по панелям |
61 |
Использование Management Studio с Database Engine |
63 |
Администрирование серверов базы данных |
63 |
Регистрация серверов |
63 |
Соединение с сервером |
63 |
Создание новой серверной группы |
64 |
Управление многими серверами |
64 |
Запуск и останов серверов |
66 |
Управление базами данных с использованием Object Explorer |
66 |
Создание баз данных без использования Transact-SQL |
66 |
Изменение баз данных без использования Transact-SQL |
69 |
Управление таблицами без использования Transact-SQL |
70 |
Авторская деятельность с использованием SQL Server Management Studio |
75 |
Query Editor |
75 |
Solution Explorer |
79 |
Резюме |
80 |
Упражнения |
81 |
ЧАСТЬ II. ЯЗЫК TRANSACT-SQL |
83 |
Глава 4. Основные элементы SQL |
85 |
Основные объекты SQL |
85 |
Значения литералов |
85 |
Разделители |
87 |
Комментарии |
87 |
Идентификаторы |
88 |
Зарезервированные ключевые слова |
88 |
Типы данных |
88 |
Числовые типы данных |
89 |
Символьные типы данных |
90 |
Типы данных даты и времени |
90 |
Смешанные типы данных |
92 |
Двоичные типы данных и BIT |
93 |
Типы данных больших объектов |
93 |
Тип данных UNIQUEIDENTIFIER |
95 |
Тип данных SQL_VARIANT |
95 |
Тип данных HIERARCHYID |
96 |
Тип данных TIMESTAMP |
96 |
Формат хранения VARDECIMAL для DECIMAL |
96 |
Функции Transact-SQL |
98 |
Агрегатные функции |
98 |
Скалярные функции |
99 |
Числовые функции |
99 |
Функции даты |
101 |
Строковые функции |
102 |
Системные функции |
104 |
Функции метаданных |
106 |
Скалярные операторы |
107 |
Глобальные переменные |
108 |
Значения NULL |
109 |
Резюме |
111 |
Упражнения |
111 |
Глава 5. Язык описания данных |
113 |
Создание объектов базы данных |
113 |
Создание базы данных |
114 |
Создание мгновенного снимка базы данных |
117 |
Соединение баз данных и их отсоединение от сервера |
118 |
CREATE TABLE: основная форма |
119 |
Оператор CREATE TABLE и ограничения декларативной целостности |
122 |
Предложение UNIQUE |
123 |
Предложение PRIMARY KEY |
124 |
Предложение CHECK |
126 |
Предложение FOREIGN KEY |
126 |
Ссылочная целостность |
128 |
Опции ON DELETE и ON UPDATE |
130 |
Создание других объектов базы данных |
132 |
Ограничения целостности и домены |
133 |
Псевдонимы типов данных |
134 |
Типы данных CLR |
136 |
Изменение объектов базы данных |
136 |
Изменение базы данных |
136 |
Добавление или удаление файлов базы данных, файлов протоколов транзакций
или файловых групп |
137 |
Изменение свойств файла или файловой группы |
137 |
Установка опций базы данных |
138 |
Изменение таблиц |
139 |
Добавление или удаление столбцов |
139 |
Изменение свойств столбца |
140 |
Добавление и удаление ограничений целостности |
140 |
Включение и отключение ограничений |
141 |
Переименование объектов базы данных |
142 |
Удаление объектов базы данных |
143 |
Резюме |
144 |
Упражнения |
144 |
Глава 6. Запросы |
148 |
Оператор SELECT: основная форма и предложение WHERE |
148 |
Предложение WHERE |
150 |
Логические операторы |
152 |
Операторы IN и BETWEEN |
156 |
Запросы, включающие пустые значения NULL |
159 |
Оператор LIKE |
160 |
Подзапросы |
164 |
Подзапросы и операторы сравнения |
164 |
Подзапросы и оператор IN |
165 |
Подзапросы и операторы ANY и ALL |
167 |
Оператор SELECT: другие предложения и функции |
168 |
Предложение GROUP BY |
168 |
Агрегатные функции |
170 |
Обычные агрегатные функции |
170 |
Статистические агрегатные функции |
175 |
Агрегатные функции, определенные пользователем |
176 |
Предложение HAVING |
176 |
Предложение ORDER BY |
177 |
Оператор SELECT и свойство IDENTITY |
179 |
Операторы над множествами |
181 |
Оператор над множествами UNION |
181 |
Операторы над множествами INTERSECT и EXCEPT |
184 |
Выражения CASE |
185 |
Предложение COMPUTE |
187 |
Временные таблицы |
189 |
Оператор JOIN |
190 |
Две синтаксические формы для реализации соединений |
191 |
Естественное соединение |
192 |
Соединение более чем двух таблиц |
196 |
Декартово произведение |
198 |
Внешнее соединение |
199 |
Другие формы операций соединения |
202 |
Тета-соединение |
202 |
Самосоединение, или соединение таблицы самой с собой |
203 |
Полусоединение |
204 |
Коррелированные подзапросы |
204 |
Подзапросы и функция EXISTS |
205 |
Должны вы использовать соединения или подзапросы? |
207 |
Преимущества подзапросов |
207 |
Преимущества соединений |
208 |
Табличные выражения |
208 |
Наследуемые таблицы |
209 |
Общие табличные выражения |
210 |
ОТВ и нерекурсивные запросы |
211 |
ОТВ и рекурсивные запросы |
212 |
Оператор APPLY |
217 |
Резюме |
217 |
Упражнения |
217 |
Глава 7. Изменение содержимого таблиц |
222 |
Оператор INSERT |
222 |
Добавление одной строки |
223 |
Добавление множества строк |
225 |
Конструкторы значений таблицы и оператор INSERT |
227 |
Оператор UPDATE |
227 |
Оператор DELETE |
230 |
Оператор TRUNCATE TABLE |
232 |
Предложение OUTPUT |
232 |
Оператор MERGE |
233 |
Резюме |
235 |
Упражнения |
235 |
Глава 8. Хранимые процедуры и функции,
определенные пользователем |
238 |
Процедурные расширения |
238 |
Блоки операторов |
239 |
Оператор IF |
239 |
Оператор WHILE |
240 |
Локальные переменные |
241 |
Смешанные процедурные операторы |
242 |
Обработка событий операторами TRY и CATCH |
243 |
Хранимые процедуры |
245 |
Создание выполняемых хранимых процедур |
246 |
Изменение структуры хранимых процедур |
250 |
Хранимые процедуры и CLR |
251 |
Функции, определенные пользователем |
256 |
Создание и выполнение функций, созданных пользователем |
257 |
Вызов функций, определенных пользователем |
259 |
Тип данных TABLE |
260 |
Табличные параметры |
261 |
Табличные функции и оператор APPLY |
262 |
Изменение структуры UDF |
263 |
Функции, определенные пользователем, и CLR |
264 |
Резюме |
265 |
Упражнения |
266 |
Глава 9. Системный каталог |
267 |
Общие сведения о системном каталоге |
267 |
Общие интерфейсы |
269 |
Представления просмотра каталога |
269 |
Запросы к представлениям просмотра каталогов |
271 |
Динамически управляемые представления и функции |
273 |
Информационная схема |
273 |
Information_schema.tables |
274 |
Information_schema.columns |
274 |
Information_schema.referential_constraints |
275 |
Собственные интерфейсы |
275 |
Системные процедуры |
276 |
Системные функции |
277 |
Функции свойств |
278 |
Резюме |
279 |
Упражнения |
279 |
Глава 10. Индексы |
281 |
Общие сведения |
281 |
Кластеризованные индексы |
284 |
Некластеризованные индексы |
285 |
Transact-SQL и индексы |
286 |
Создание индексов |
286 |
Получение информации о фрагментации индекса |
290 |
Редактирование информации индекса |
291 |
Изменение индексов |
293 |
Пересоздание индекса |
293 |
Реорганизация индексных страниц листьев |
294 |
Перевод индекса в неактивное состояние |
294 |
Удаление и переименование индексов |
295 |
Основные направления в создании и использовании индексов |
295 |
Индексы и условия в предложении WHERE |
296 |
Индексы и операция соединения |
297 |
Покрывающий индекс |
297 |
Индексы для вычисляемых столбцов |
298 |
Виртуальные вычисляемые столбцы |
298 |
Постоянные вычисляемые столбцы |
299 |
Опция PERSISTED |
300 |
Резюме |
300 |
Упражнения |
301 |
Глава 11. Представления |
303 |
Операторы DDL и представления |
303 |
Создание представления |
304 |
Изменение и удаление представлений |
308 |
Редактирование информации, связанной с представлениями |
309 |
Операторы DML и представления |
309 |
Представление поиска |
310 |
Оператор INSERT и представление |
311 |
Оператор UPDATE и представление |
313 |
Оператор DELETE и представление |
315 |
Индексированные представления |
317 |
Создание индексированного представления |
317 |
Изменение структуры индексированного представления |
320 |
Редактирование информации, связанной с индексированными
представлениями |
320 |
Преимущества индексированных представлений |
321 |
Резюме |
323 |
Упражнения |
324 |
Глава 12. Система безопасности Database Engine |
326 |
Аутентификация |
327 |
Реализация режима аутентификации |
328 |
Шифрование данных |
329 |
Симметричные ключи |
330 |
Асимметричные ключи |
331 |
Сертификаты |
331 |
Представления просмотра каталога шифрования |
333 |
Улучшения шифрования в SQL Server 2008 |
333 |
Установка системы безопасности с использованием DDL |
334 |
Управление подключениями с использованием Management Studio |
336 |
Схемы |
337 |
Разделение пользователей и схем |
337 |
Операторы DDL, связанные со схемой |
338 |
Оператор CREATE SCHEMA |
338 |
Оператор ALTER SCHEMA |
340 |
Оператор DROP SCHEMA |
340 |
Безопасность базы данных |
341 |
Установка учетных записей пользователей для базы данных |
341 |
Добавление пользователей при помощи операторов Transact-SQL |
341 |
Добавление пользователей с применением SQL Server Management Studio |
342 |
Схемы базы данных по умолчанию |
343 |
Роли |
344 |
Фиксированные серверные роли |
344 |
Учетная запись sa |
345 |
Назначение учетной записи фиксированной серверной роли |
346 |
Фиксированные роли базы данных |
346 |
Роль public |
347 |
Назначение пользователя фиксированной роли базы данных |
348 |
Роли приложений |
348 |
Создание, модификация и удаление ролей приложений |
349 |
Активация роли приложения |
349 |
Управление ролями приложений с помощью Management Studio |
350 |
Определенные пользователем роли базы данных |
350 |
Создание и удаление определенных пользователем ролей |
351 |
Роли и системные процедуры |
351 |
Управление определенными пользователем ролями с помощью Management
Studio |
352 |
Авторизация |
352 |
Оператор GRANT |
353 |
Оператор DENY |
358 |
Оператор REVOKE |
360 |
Управление полномочиями с использованием Management Studio |
360 |
Отслеживание изменений |
363 |
Безопасность данных и представления |
366 |
Резюме |
368 |
Упражнения |
368 |
Глава 13. Управление параллельной работой |
371 |
Модели конкурентного доступа |
372 |
Транзакции |
373 |
Свойства транзакций |
374 |
Операторы Transact-SQL и транзакции |
375 |
Протокол транзакций |
378 |
Блокировка |
379 |
Режимы блокировки |
380 |
Гранулярность блокировок |
382 |
Укрупнение блокировок |
383 |
Влияние блокировок |
384 |
Подсказки блокировки |
384 |
Опция LOCK_TIMEOUT |
385 |
Отображение информации блокировки |
385 |
Взаимная блокировка |
386 |
Уровни изоляции |
387 |
Проблемы конкурентного доступа |
388 |
Database Engine и уровни изоляции |
388 |
READ UNCOMMITTED |
389 |
READ COMMITTED |
389 |
REPEATABLE READ |
390 |
SERIALIZABLE |
390 |
Установка и редактирование уровней изоляции |
391 |
Контроль версий строк |
391 |
Уровень изоляции READ COMMITTED SNAPSHOT |
392 |
Уровень изоляции SNAPSHOT |
393 |
READ COMMITTED SNAPSHOT в сравнении с SNAPSHOT |
393 |
Резюме |
394 |
Упражнения |
394 |
Глава 14. Триггеры |
397 |
Общие сведения |
397 |
Создание триггера DML |
398 |
Модификация структуры триггера |
399 |
Использование таблиц удаления и добавления |
399 |
Области приложений для DML-триггеров |
400 |
Триггеры AFTER |
400 |
Создание контрольного журнала |
401 |
Реализация бизнес-правил |
402 |
Поддержание ограничений целостности |
403 |
Триггеры INSTEAD OF |
404 |
Первый и последний триггеры |
406 |
Триггеры DDL |
407 |
Триггеры уровня базы данных |
408 |
Триггеры уровня сервера |
409 |
Триггеры и CLR |
410 |
Резюме |
414 |
Упражнения |
415 |
ЧАСТЬ III. SQL SERVER: СИСТЕМНОЕ
АДМИНИСТРИРОВАНИЕ |
417 |
Глава 15. Системное окружение и сервер базы данных |
419 |
Системные базы данных |
419 |
База данных master |
419 |
База данных model |
420 |
База данных tempdb |
420 |
База данных msdb |
421 |
Хранение данных на диске |
421 |
Свойства страниц данных |
422 |
Заголовок страницы |
423 |
Зарезервированное пространство для данных |
424 |
Таблица смещений строк |
424 |
Типы страниц данных |
425 |
Страницы данных последовательных строк |
425 |
Страницы данных переполнения строк |
425 |
Параллельное выполнение задач |
427 |
Утилиты и команда DBCC |
428 |
Утилита bcp |
428 |
Утилита sqlcmd |
430 |
Команда DBCC |
432 |
Команды проверки |
433 |
Резюме |
434 |
Упражнения |
434 |
Глава 16. Управление экземплярами сервера и поддержка
баз данных |
435 |
Declarative Management Framework |
435 |
Ключевые термины |
435 |
Использование Declarative Management Framework |
436 |
Maintenance Plan Wizard |
438 |
Резюме |
441 |
Упражнения |
441 |
Глава 17. Копирование и восстановление |
442 |
Методы резервного копирования |
443 |
Полное копирование базы данных |
444 |
Дифференцированное резервное копирование |
444 |
Резервное копирование протокола транзакций |
444 |
Резервное копирование файла или файловой группы |
446 |
Выполнение резервного копирования |
447 |
Резервное копирование с помощью операторов Transact-SQL |
447 |
Типы устройств для резервного копирования |
447 |
Оператор BACKUP DATABASE |
448 |
Оператор BACKUP LOG |
450 |
Резервное копирование с помощью Management Studio |
451 |
Создание расписания резервного копирования в Management Studio |
454 |
Какие базы данных копировать? |
454 |
Резервное копирование базы данных master |
454 |
Резервное копирование производственных баз данных |
455 |
Восстановление базы данных |
456 |
Автоматическое восстановление |
456 |
Ручное восстановление |
457 |
Является ли мой набор резервной копии готовым к восстановлению? |
457 |
Восстановление баз данных и протоколов с использованием операторов
Transact-SQL |
459 |
Восстановление баз данных и протоколов с использованием Management Studio
461
Восстановление до отметки |
464 |
Восстановление базы данных master |
465 |
Восстановление других системных баз данных |
466 |
Модели восстановления |
466 |
Модель полного восстановления |
467 |
Модель восстановления с неполным протоколированием |
467 |
Простая модель восстановления |
468 |
Изменение и редактирование модели восстановления |
469 |
Высокая доступность |
470 |
Использование резервного сервера |
470 |
Использование технологии RAID |
471 |
Расслоение дисков |
472 |
Зеркальное отображение |
472 |
Контроль по четности |
473 |
Отказоустойчивая кластеризация |
474 |
Зеркальное отображение базы данных |
474 |
Улучшения зеркального отображения базы данных в SQL Server 2008 |
475 |
Пересылка протокола |
476 |
Резюме |
476 |
Упражнения |
477 |
Глава 18. Система автоматизации задач администрирования |
479 |
Запуск и конфигурирование SQL Server Agent |
480 |
Создание заданий и операторов |
481 |
Создание задания и его шагов |
481 |
Создание расписания задания |
485 |
Операторы уведомлений о состоянии задания |
486 |
Просмотр протокола истории задания |
488 |
Предупреждающие сообщения |
489 |
Сообщения об ошибках |
489 |
Протокол ошибок SQL Server Agent |
491 |
Протокол приложений Windows |
491 |
Определение предупреждающих сообщений для обработки ошибок |
492 |
Создание предупреждающих сообщений для системных ошибок |
492 |
Создание предупреждающих сообщений для группы ошибок с одинаковым
уровнем ошибки |
493 |
Создание предупреждающих сообщений для ошибок, определенных
пользователем |
495 |
Резюме |
497 |
Упражнения |
497 |
Глава 19. Репликация данных |
499 |
Распределенные данные |
499 |
Методы распределения данных |
500 |
Выбор метода распределения данных |
501 |
Общие сведения о репликации |
501 |
Издатели, распространители и подписчики |
502 |
Публикации и статьи |
503 |
Типы репликации |
504 |
Репликация транзакций |
505 |
Репликация мгновенного снимка |
505 |
Репликация слияния |
506 |
Одноранговая репликация транзакций |
508 |
Модели репликации |
510 |
Центральный издатель с распространителем |
510 |
Центральный подписчик с множеством издателей |
511 |
Множество издателей с множеством подписчиков |
511 |
Управление репликацией |
512 |
Конфигурирование распределяющего и публикующего серверов |
512 |
Настройка публикаций |
514 |
Конфигурирование серверов подписки |
515 |
Резюме |
517 |
Упражнения |
518 |
Глава 20. Оптимизатор запросов |
519 |
Фазы обработки запроса |
519 |
Как работает оптимизация запроса |
521 |
Анализ запроса |
521 |
Выбор индекса |
522 |
Селективность выражения с индексированным столбцом |
522 |
Статистические данные индекса |
524 |
Статистические данные столбца |
525 |
Выбор порядка соединения |
526 |
Техники обработки соединения |
526 |
Вложенные циклы |
526 |
Слияние соединения |
527 |
Хеширование соединения |
528 |
Инструменты для редактирования стратегии оптимизатора |
529 |
Оператор SET |
529 |
Текстовая форма планов выполнения |
529 |
Планы выполнения XML |
531 |
Другие опции оператора SET |
532 |
Management Studio и графические планы выполнения |
533 |
Примеры планов выполнения |
535 |
Представления динамического управления и оптимизатор запросов |
539 |
sys.dm_exec_query_optimizer_info |
539 |
sys.dm_exec_query_plan |
540 |
sys.dm_exec_query_stats |
541 |
sys.dm_exec_sql_text и sys.dm_exec_text_query_plan |
541 |
sys.dm_exec_procedure_stats |
541 |
Подсказки оптимизатора |
542 |
Зачем использовать подсказки оптимизатора |
542 |
Типы подсказок оптимизации |
543 |
Подсказки таблицы |
543 |
Подсказки соединения |
545 |
Подсказки запроса |
548 |
Структуры планов |
549 |
Резюме |
550 |
Глава 21. Настройка производительности |
552 |
Факторы, влияющие на производительность |
553 |
Приложения базы данных и производительность |
553 |
Эффективность кода приложения |
553 |
Физическое проектирование |
554 |
Database Engine и производительность |
556 |
Оптимизатор |
556 |
Блокировки |
556 |
Системные ресурсы и производительность |
556 |
Дисковые операции ввода/вывода |
558 |
Память |
560 |
Мониторинг производительности |
562 |
Обзор Performance Monitor |
562 |
Мониторинг процессора |
564 |
Мониторинг памяти |
566 |
Мониторинг дисковой системы |
567 |
Мониторинг сетевого интерфейса |
569 |
Выбор подходящего инструмента |
570 |
SQL Server Profiler |
571 |
Database Engine Tuning Advisor |
571 |
Предоставление информации для Database Engine Tuning Advisor |
572 |
Работа с Database Engine Tuning Advisor |
574 |
Инструменты производительности SQL Server 2008 |
579 |
Performance Data Collector |
579 |
Resource Governor |
581 |
Резюме |
583 |
Упражнения |
583 |
ЧАСТЬ IV. SQL SERVER И BUSINESS INTELLIGENCE |
585 |
Глава 22. Введение в Business Intelligence |
587 |
Online Transaction Processing в сравнении с Business Intelligence |
587 |
Online Transaction Processing |
588 |
Системы Business Intelligence |
589 |
Хранилище данных и киоск данных |
590 |
Проектирование хранилища данных с использованием пространственной
модели |
593 |
Кубы и их архитектура |
596 |
Агрегаты |
597 |
Сколько можно агрегировать? |
598 |
Физическое хранение кубов |
600 |
Доступ к данным |
601 |
Резюме |
602 |
Упражнения |
603 |
Глава 23. Microsoft Analysis Services |
604 |
Business Intelligence Development Studio |
605 |
Создание нового проекта |
605 |
Создание источника данных |
607 |
Создание представления источника данных |
608 |
Analysis Services и кубы |
610 |
Создание куба |
611 |
Проектирование агрегата хранения и обработка куба |
612 |
Просмотр куба |
615 |
Резюме |
616 |
Глава 24. Business Intelligence и Transact-SQL |
617 |
Введение в SQL/OLAP |
617 |
Конструкция окна |
618 |
Разбиение на разделы |
620 |
Упорядочение |
622 |
Расширения предложения GROUP BY |
624 |
Оператор CUBE |
624 |
Оператор ROLLUP |
627 |
Функция GROUPING |
627 |
Оператор GROUPING SETS |
628 |
Функции запросов OLAP |
629 |
Функции упорядочения |
629 |
Статистические агрегатные функции |
632 |
Нестандартные аналитические функции |
633 |
Предложение TOP |
633 |
Функция NTILE |
636 |
Операторы PIVOT и UNPIVOT |
637 |
Резюме |
639 |
Упражнения |
639 |
Глава 25. Microsoft Reporting Services |
641 |
Введение в Microsoft Reporting Services |
641 |
Report Manager |
642 |
Report Server |
642 |
Report Catalog |
643 |
Создание отчетов |
644 |
Создание отчетов при помощи мастера Report Server Project Wizard |
645 |
Выбор источника данных |
645 |
Проектирование запроса |
646 |
Выбор типа отчета |
648 |
Проектирование данных в таблице |
648 |
Задание схемы размещения данных в отчете |
650 |
Выбор стиля отчета |
650 |
Предварительный просмотр результирующего набора |
651 |
Создание параметризованных отчетов |
652 |
Обработка и управление отчетами |
654 |
Организация доступа и распространение отчетов |
655 |
Отчеты по запросам |
655 |
Подписка на отчет |
656 |
Персональные подписки |
656 |
Подписки, управляемые данными |
657 |
Резюме |
657 |
Упражнения |
658 |
Глава 26. Техники оптимизации для бизнес-аналитики |
659 |
Распределение данных по разделам |
659 |
Способы распределения ваших данных по разделам |
660 |
Шаги для создания разделенных таблиц |
661 |
Цели задания разделений |
661 |
Определение разделяющего ключа и количества разделов |
662 |
Создание файловой группы для каждого раздела |
662 |
Создание функции разделения и схемы разделения |
664 |
Создание разделенного индекса |
667 |
Совместное размещение таблиц |
667 |
SQL Server 2008 и разделение данных |
668 |
Новые операции поиска к разделенным данным |
668 |
Параллельное выполнение запросов |
669 |
Улучшения, связанные с информацией разделения |
670 |
Основные правила для разделенных таблиц и индексов |
670 |
Оптимизация запроса схемы "звезда" |
671 |
Резюме |
673 |
ЧАСТЬ V. ЗА ПРЕДЕЛАМИ РЕЛЯЦИОННЫХ ДАННЫХ |
675 |
Глава 27. Обзор XML |
677 |
Всемирная паутина |
677 |
Языки, связанные с XML |
678 |
Базовые концепции XML |
679 |
Атрибуты XML |
681 |
Пространства имен XML |
682 |
Определение типа документа DTD |
683 |
Схема XML |
685 |
Резюме |
686 |
Глава 28. SQL Server и XML |
687 |
Методы хранения документов XML в реляционных базах данных |
687 |
Хранение документов XML в SQL Server |
689 |
Хранение документов XML с использованием типа данных XML |
690 |
Индексирование столбца XML |
692 |
Типизированные в сравнении с нетипизированными XML |
694 |
Хранение документов XML с использованием декомпозиции |
696 |
Поиск сохраненных документов XML и фрагментов |
697 |
Представление реляционных данных в качестве документов XML |
698 |
Режим RAW |
698 |
Режим AUTO |
699 |
Режим EXPLICIT |
700 |
Режим PATH |
702 |
Директивы |
703 |
Директива TYPE |
703 |
Директива ELEMENTS |
704 |
Директива ROOT |
704 |
Методы XQuery в SQL Server |
705 |
SQL Server 2008 и улучшения XML |
706 |
Резюме |
707 |
Глава 29. Введение в пространственные данные |
708 |
Представление пространственных данных |
708 |
Модели геодезического пространства |
709 |
Модели плоского пространства |
709 |
Пространственные типы данных |
709 |
Тип данных GEOMETRY |
710 |
Статические геометрические методы |
710 |
Пространственное индексирование |
711 |
Запрос данных GEOMETRY |
713 |
Различия между типами данных GEOMETRY и GEOGRAPHY |
715 |
Резюме |
716 |
Предметный указатель |
717 |
XXII Оглавление
Оглавление XXI
|