В книге изложены теоретические основы формирования запросов и программирования на языке T-SQL: однотабличные запросы, соединения, подзапросы, табличные выражения, операции над множествами, реорганизация данных и наборы группирования. Описываются различные аспекты извлечения и модификации данных, обсуждаются параллелизм и транзакции, приводится обзор программируемых объектов. Для дополнения теории практическими навыками в книгу включены упражнения, в том числе и повышенной сложности.
Название: Microsoft SQL Server 2008. Основы T-SQL Автор: Ицик Бен-Ган Издательство: БХВ-Петербург Год: 2009 Страниц: 430 Формат: PDF Размер: 250 МБ ISBN: 978-5-9775-0220-7, 978-5-7502-0388-8 Качество: Хорошее
Содержание:
Об авторе Благодарности введение Для кого эта книга О чем эта книга Сопроводительный материал Аппаратные и программные требования Поиск дополнительной интерактивной информации Сопровождение книги Вопросы и комментарии Глава 1. Основы построения запросов И ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ T-SQL Теоретические основы Язык SQL Теория множеств Логика предикатов Реляционная модель Жизненный цикл данных Архитектура SQL Server Экземпляры SQL Server Базы данных Схемы и объекты Создание таблиц и определение целостности данных Создание таблиц Определение целостности данных Резюме Глава 2. Однотабличные запросы Элементы инструкции SELECT Элементном Элемент WHERE Элемент GROUP BY Элемент HAVING Элемент SELECT Элемент ORDER BY Дополнительный элемент ГОР Элемент ОVER Предикаты и операции Выражение CASE Значение NULL Одновременно выполняемые операции Работа с символьными данными Типы данных Набор параметров символьной обработки Операции и функции Предикат LIKE Работа с датами и временем Типы данных Date и Time Константы Раздельная обработка даты и времени суток Фильтрация диапазонов дат Функции обработки дат и времени суток Запросы метаданных Представления каталогов Представления информационной схемы Системные хранимые процедуры и функции Резюме Упражнения Упражнение 2.1 Упражнение 2.2 (дополнительное, повышенной сложности) Упражнение 2.3 Упражнение 2.4 Упражнение 2.5 Упражнение 2.6 Упражнение 2.7 Упражнение 2.8 Глава 3. Соединения (Join) Перекрестные соединения Синтаксическая запись ANSI SQL-92 Синтаксическая запись ANSI SQL-89 Перекрестные самосоединения Создание таблиц чисел Внутренние соединения Синтаксическая запись ANSI SQL-92 Синтаксическая запись ANSI SQL-89 Безопасность внутреннего соединения Дополнительные примеры соединений Составные соединения Соединения при условии неравенства Многотабличные соединения Внешние соединения Основные принципы внешних соединений Дополнения к основным принципам внешних соединений Резюме Упражнения Упражнение 3.1 Упражнение 3.2 Упражнение 3.3 (дополнительное, повышенной сложности) Упражнение 3.4 Упражнение 3.5 Упражнение 3.6 Упражнение 3.7 Упражнение 3.8 (дополнительное, повышенной сложности) Упражнение 3.9 (дополнительное, повышенной сложности) Глава 4. Подзапросы Независимые подзапросы Примеры независимых скалярных подзапросов Примеры независимых подзапросов с множеством значений Связанные подзапросы Предикат EXISTS Дополнения к основным сведениям о подзапросах Возврат предшествующего или последующего значений Итоги с накоплением Запросы, которые ведут себя плохо Резюме Упражнения Упражнение 4.1 Упражнение 4.2 (дополнительное, повышенной сложности) Упражнение 4.3 Упражнение 4.4 Упражнение 4.5 Упражнение 4.6 Упражнение 4.7 (дополнительное, повышенной сложности) Упражнение 4.8 (дополнительное, повышенной сложности) Глава 5. Табличные выражения Производные таблицы Присвоение псевдонимов столбцов Применение аргументов Вложение Множественные ссылки Общие табличные выражения Назначение псевдонимов столбцов Применение аргументов Определение множественных ОТВ Множественные ссылки Рекурсивные ОТВ Представления Представления и элемент ORDER BY Необязательные параметры представления Подставляемые табличные функции Операция APPLY Резюме Упражнения Упражнение 5.1 Упражнение 5.2 Упражнение 5.3 Упражнение 5.4 Упражнение 5.5 Упражнение 5.6 Упражнение 5.7 (дополнительное, повышенной сложности) Упражнение 5.8 Упражнение 5.9 Глава 6. Операции над множествами Операция UNION Операция UNION ALL Операция UNION DISTINCT Операция INTERSECT Операция INTERSECT DISTINCT Операция INTERSECT ALL Операция EXCEPT Операция EXCEPT DISTINCT Операция EXCEPT ALL Приоритет Хитрости для выполнения неподдерживаемых логических стадий Резюме Упражнения Упражнение 6.1 Упражнение 6.2 Упражнение 6.3 Упражнение 6.4 Упражнение 6.5 (дополнительное, повышенной сложности) Глава 7. Реорганизация данных и наборы группирования Разворачивание данных Разворачивание с помощью стандартного SQL Разворачивание с помощью собственной операции T-SQL PIVOT Сворачивание данных Сворачивание данных с помощью стандартного SQL Сворачивание с помощью собственной операции T-SQL UNPIVOT Наборы группирования Вложенный элемент GROUPING SETS Вложенный элемент CUBE Вложенный элемент ROLLUP Функции GROUPING и GROUPING JD Резюме Упражнения Упражнение 7.1 Упражнение 7.2 Упражнение 7.3 Глава 8. Модификация данных Добавление данных Инструкция INSERT VALUES Инструкция INSERT SELECT Инструкция INSERT EXEC Инструкция SELECT INTO Инструкция BULK INSERT Свойство IDENTITY Удаление данных Инструкция DELETE Инструкция TRUNCATE DELETE на основе соединения Обновление данных Инструкция UPDATE UPDATE на основе соединения Присваивание в UPDATE Слияние данных Модификация данных с помощью табличных выражений Модификации с помощью элемента ТОР Элемент OUTPUT INSERT с OUTPUT DELETE с OUTPUT UPDATE с OUTPUT MERGE с OUTPUT Компонующий язык DML Резюме Упражнения Упражнение 8.1 Упражнение 8.2 Упражнение 8.3 Упражнение 8.4 Упражнение 8.5 Упражнение 8.6 Упражнение 8.7 Упражнение 8.8 Упражнение 8.9 Глава 9. Транзакции и параллелизм Транзакции Блокировки и блокирование Блокировки Поиск и обнаружение блокирования Уровни изоляции Уровень изоляции READ UNCOMMITTED Уровень изоляции READ COMMITTED Уровень изоляции REP EATABLE READ Уровень изоляции SERIALIZABLE Уровни изоляции Snapshot Сводные данные об уровнях изоляции Взаимоблокировки Резюме Упражнения Упражнение 9.1 Упражнение 9.2 Упражнение 9.3 Упражнение 9.4 Упражнение 9.5 Упражнение 9.6 Упражнение 9.7 Упражнение 9.8 Упражнение 9.9 Упражнение 9.10 Упражнение 9.11 Упражнение 9.12 Упражнение 9.13 Упражнение 9.14 Упражнение 9.15 Упражнение 9.16 Упражнение 9.17 Упражнение 9.18 Упражнение 9.19 Глава 10. Программируемые объекты Переменные Пакеты Пакет как единица синтаксического анализа Пакеты и переменные Инструкции, которые не могут комбинироваться в одном пакете Пакет как единица разрешения имен Вариант GO n Элементы, управляющие выполнением Управляющий элемент IF… ELSE Управляющий элемент WHILE Пример использования IFw WHILE Курсоры Временные таблицы Локальные временные таблицы Глобальные временные таблицы Табличные переменные Типы Table Динамический SQL Команда EXEC Хранимая процедура sp_execntesql Применение PIVOT z динамическим SQL Подпрограммы Функции, определенные пользователем Хранимые процедуры Триггеры Обработка ошибок Резюме Приложения Приложение 1. Приступая к работе Установка SQL Server Получение SQL Server Создание учетной записи пользователя Установка необходимых сопутствующих пакетов программ Установка механизма управления базы данных, документации и утилит Загрузка исходного программного кода и установка учебной базы Работа с SQL Server Management Studio Работа с SQL Server Books Online Приложение 2. Решения к упражнениям Предметный указатель