Microsoft SQL Server 2012

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Author(s): Бондарь А.Г.
Series: В подлиннике
Publisher: БХВ-Петербург
Year: 2013

Language: Russian
Pages: 609

Оглавление......Page 4
Введение......Page 12
Организация книги......Page 14
Благодарности......Page 17
Дополнительные материалы......Page 18
Глава 1. Инсталляция MS SQL Server 2012......Page 20
2.1. Реляционные базы данных......Page 38
Типы данных......Page 39
Порядок сортировки......Page 40
Неизвестное значение NULL......Page 41
Первичный ключ......Page 42
Внешний ключ......Page 43
2.1.2. Представления......Page 44
2.1.3. Хранимые процедуры и триггеры......Page 45
2.1.5. Задание первичных ключей таблиц......Page 46
2.1.7. 12 правил Кодда......Page 48
2.2.1. Отношение "один к одному"......Page 49
2.2.2. Отношение "один ко многим"......Page 50
2.2.3. Отношение "многие ко многим"......Page 51
2.3.2. Первая нормальная форма......Page 52
2.3.4. Третья нормальная форма......Page 54
2.3.5. Другие нормальные формы......Page 55
2.4. Проектирование баз данных......Page 56
2.5. Язык Transact-SQL......Page 57
2.5.1. Синтаксис......Page 58
Целое число......Page 60
Число с плавающей точкой......Page 61
Строковые константы......Page 62
Идентификатор......Page 63
2.5.2. Основные сведения о составе языка Transact-SQL......Page 67
Что будет дальше?......Page 68
Глава 3. Работа с базами данных......Page 70
3.1.1. Запуск на выполнение экземпляра сервера......Page 71
Запуск сервера из программы Configuration Manager......Page 72
Запуск сервера с помощью программы Management Studio......Page 73
3.2. Что собой представляет база данных в SQL Server......Page 76
База данных msdb......Page 78
База данных resource......Page 79
3.2.2. Базы данных пользователей......Page 80
3.2.3.2. Порядок сортировки (collation)......Page 81
3.2.3.4. Состояние базы данных (Database State)......Page 82
3.2.4.2. Состояния файлов базы данных......Page 83
3.3.1. Системное представление sys.databases......Page 84
3.3.2. Системное представление sys.master_files......Page 85
3.3.3. Системное представление sys.database_files......Page 86
3.3.5. Другие средства получения сведений об объектах базы данных......Page 88
3.3.5.1. Системные представления......Page 89
3.3.5.3. Системные функции......Page 90
3.4.1.1. Оператор создания базы данных......Page 91
Предложение ON......Page 94
Предложение WITH......Page 95
Спецификация файла......Page 97
Предложение FILENAME......Page 98
Предложение SIZE......Page 99
Предложение FILEGROWTH......Page 100
3.4.1.2. Оператор удаления базы данных......Page 101
3.4.1.3. Создание и отображение баз данных в командной строке......Page 102
3.4.1.4. Создание и отображение баз данных в Management Studio......Page 124
Замечания по использованию Management Studio......Page 133
3.4.2. Создание базы данных с использованием диалоговых средств Management Studio......Page 134
3.5. Изменение базы данных......Page 138
3.5.1.1. Изменение имени базы данных......Page 139
3.5.1.2. Изменение порядка сортировки......Page 140
Добавление нового файла......Page 143
Изменение характеристик файла......Page 144
3.5.1.4. Изменение файловых групп......Page 148
3.5.1.5. Изменение других характеристик базы данных......Page 150
3.5.2.2. Изменение файлов базы данных......Page 152
3.5.2.3. Изменение файловых групп базы данных......Page 156
3.5.2.4. Изменение других характеристик базы данных......Page 158
3.5.2.5. Отображение отчета использования дискового пространства базы данных......Page 160
3.6.1. Установка допустимости автономных баз данных......Page 161
3.6.2. Создание автономной базы данных и пользователя средствами языка Transact-SQL......Page 163
3.6.4. Создание автономного пользователя в Management Studio......Page 164
3.6.5. Соединение с автономной базой данных в Management Studio......Page 166
3.7.1. Присоединение базы данных с использованием Transact-SQL......Page 167
3.7.2. Присоединение базы данных с использованием диалоговых средств Management Studio......Page 170
3.7.3. Отсоединение базы данных......Page 172
3.8. Создание мгновенных снимков базы данных......Page 173
3.9.1. Работа со схемами в Transact-SQL......Page 175
Создание схемы......Page 176
Пример создания схем......Page 177
Изменение существующей схемы......Page 179
3.10. Средства копирования и восстановления баз данных......Page 181
3.10.1. Использование операторов копирования/восстановления базы данных......Page 182
3.10.2. Использование диалоговых средств Management Studio для копирования/восстановления базы данных......Page 183
Что будет дальше?......Page 187
Глава 4. Типы данных......Page 188
4.1. Классификация типов данных в SQL Server......Page 189
4.2. Объявление локальных переменных......Page 191
4.3. Числовые типы данных......Page 192
4.3.1. Тип данных BIT......Page 194
Таблицы истинности......Page 195
4.3.2. Целочисленные типы данных TINYINT, SMALLINT, INT, BIGINT......Page 197
Типы данных NUMERIC и DECIMAL......Page 199
Типы данных SMALLMONEY и MONEY......Page 200
Умножение......Page 201
Преобразования в точные числа......Page 202
4.3.5. Функции для работы с числовыми данными......Page 203
Тригонометрические функции......Page 204
Логарифмические функции, возведение в степень, извлечение корня......Page 206
Другие математические функции......Page 207
4.4. Символьные данные......Page 208
4.4.1. Символьные строки CHAR, VARCHAR......Page 209
4.4.2. Символьные строки NCHAR, NVARCHAR......Page 210
Функции определения размера DATALENGTH(), LEN()......Page 211
Функции выделения подстроки LEFT(), RIGHT(), SUBSTRING()......Page 213
Фунции удаления пробелов LTRIM(), RTRIM()......Page 214
Функции преобразования символов ASCII(), STR(), CHAR(), NCHAR(), UNICODE()......Page 215
Функция преобразования строки к идентификатору QUOTENAME()......Page 218
Функции поиска данных и изменения строки REPLICATE(), REVERSE(), REPLACE(), CHARINDEX()......Page 219
Функция поиска данных по шаблону PATINDEX()......Page 221
4.5.1. Описание типов данных даты и времени......Page 223
Задание даты и времени......Page 224
Функции, возвращающие значение текущей даты, времени и смещения часового пояса......Page 228
Функции преобразования и выделения части даты и времени......Page 229
Другие функции для даты и времени......Page 234
4.6. Двоичные данные......Page 235
4.7. Пространственные типы данных......Page 236
4.7.1.1. Точка......Page 237
Создание объекта......Page 238
Дополнительные методы......Page 241
4.7.1.2. Ломаная линия......Page 242
4.7.1.3. Полигон......Page 246
4.7.1.4. Другие геометрические объекты......Page 248
4.7.2. Тип данных GEOGRAPHY......Page 249
4.8.1. Тип данных SQL_VARIANT......Page 254
4.8.2. Тип данных HIERARCHYID......Page 258
4.8.3. Тип данных UNIQUEIDENTIFIER......Page 263
4.8.4. Тип данных CURSOR......Page 265
4.8.5. Тип данных TABLE......Page 272
4.8.6. Тип данных XML......Page 273
Нетипизированные элементы XML......Page 277
Типизированные элементы XML......Page 280
Отображение таблиц, содержащих столбцы XML......Page 286
4.9.1. Синтаксис оператора создания пользовательского типа данных......Page 287
4.9.3. Создание псевдонима в диалоговых средствах Management Studio......Page 291
Определение столбца......Page 292
Ограничения столбца......Page 293
Ограничения таблицы......Page 294
Пример создания пользовательских типов данных......Page 295
4.9.5. Создание пользовательского табличного типа данных диалоговыми средствами Management Studio......Page 296
4.9.6. Удаление пользовательского типа данных......Page 297
Что будет дальше?......Page 299
Глава 5. Работа с таблицами......Page 300
5.1. Синтаксис оператора создания таблицы......Page 301
5.1.1.1. Идентификатор таблицы......Page 302
5.1.1.4. Предложение ON......Page 303
5.1.1.7. Предложение WITH......Page 304
5.1.2. Определение столбца......Page 306
5.1.2.6. Предложение DEFAULT......Page 307
5.1.2.7. Ключевое слово IDENTITY......Page 308
5.1.3. Ограничения столбца и ограничения таблицы......Page 309
5.1.3.2. Ограничения первичного и уникального ключа......Page 310
5.1.3.3. Ограничение внешнего ключа......Page 313
Предложение ON UPDATE......Page 316
5.1.3.4. Ограничение CHECK......Page 317
5.1.4. Вычисляемые столбцы......Page 318
5.1.5. Набор столбцов......Page 320
5.2. Простые примеры таблиц......Page 321
5.3. Создание секционированных таблиц......Page 333
5.3.1. Синтаксические конструкции......Page 334
5.3.2. Пример создания секционированной таблицы......Page 338
5.3.3. Отображение результатов создания таблицы......Page 347
5.3.4. Изменение характеристик секционированной таблицы......Page 351
5.4.1. Создание таблицы секционирования......Page 353
5.4.2. Создание таблицы секционирования, схемы секционирования и функции секционирования......Page 363
5.6. Файловые потоки......Page 369
5.7.1. Определение зависимостей таблицы......Page 375
5.7.3. Удаление таблицы диалоговыми средствами Management Studio......Page 379
5.8.1. Изменение таблиц при использовании оператора Transact-SQL......Page 382
5.8.1.2. Изменение столбца......Page 385
5.8.1.3. Изменение типа данных......Page 386
5.8.1.7. Удаление столбца......Page 388
5.8.2.2. Изменение столбца......Page 389
5.8.2.3. Изменение типа данных......Page 391
5.8.2.4. Изменение порядка сортировки......Page 395
Добавление и изменение ограничения первичного ключа......Page 396
Добавление составного первичного ключа......Page 398
Добавление и изменение ограничения уникального ключа......Page 401
Добавление и изменение ограничения внешнего ключа......Page 403
Изменение ограничения CHECK......Page 407
Добавление ограничения CHECK......Page 408
5.8.2.8. Удаление столбца......Page 410
Удаление ограничения первичного ключа......Page 413
Удаление ограничения внешнего ключа......Page 415
5.9. Файловые таблицы......Page 416
Что будет дальше?......Page 419
Глава 6. Индексы......Page 420
6.1. Отображение индексов......Page 421
6.2.1. Создание обычного (реляционного) индекса......Page 422
Имя индекса......Page 424
Структура индекса......Page 425
Предложение WHERE......Page 426
Задание параметров индекса......Page 427
6.2.3. Создание индекса columnstore......Page 431
6.2.4. Создание индекса для столбца XML......Page 433
Вторичные индексы......Page 435
Задание параметров индекса......Page 436
6.2.5. Создание пространственного индекса......Page 439
6.2.6. Удаление индекса......Page 444
6.2.7. Изменение индекса......Page 446
6.3.1. Создание индекса в Management Studio......Page 449
Что будет дальше?......Page 454
7.1. Обобщенное табличное выражение......Page 456
7.2. Добавление данных (оператор INSERT)......Page 457
7.3. Изменение данных (оператор UPDATE)......Page 464
7.4. Удаление данных (оператор DELETE)......Page 468
7.5. Удаление строк таблицы (оператор TRUNCATE TABLE)......Page 470
7.6. Добавление, изменение или удаление строк таблицы (оператор MERGE)......Page 471
Что будет дальше?......Page 478
8.1. Оператор SELECT......Page 480
8.2. Оператор UNION......Page 491
8.4.1. Список выбора......Page 492
8.4.2. Упорядочение результата (ORDER BY)......Page 495
8.4.3.1. Использование операторов сравнения......Page 496
8.4.3.2. Использование варианта LIKE......Page 499
8.4.3.4. Использование варианта IN......Page 500
Функция ALL......Page 502
Функции ANY и SOME......Page 503
Левое внешнее соединение......Page 504
Полное внешнее соединение......Page 507
Двойное соединение......Page 508
Рефлексивное соединение, или самосоединение......Page 509
8.4.5. Группировка результатов выборки (GROUP BY, HAVING)......Page 511
8.5. Использование операторов UNION, EXCEPT, INTERSECT......Page 516
Что будет дальше?......Page 518
Глава 9. Представления......Page 520
9.1.1. Создание представления......Page 521
9.1.2. Изменение представления......Page 522
9.2. Создание представлений в Transact-SQL......Page 523
9.3. Создание представлений диалоговыми средствами Management Studio......Page 526
Что будет дальше?......Page 527
10.1. Понятие и характеристики транзакций......Page 528
10.2. Операторы работы с транзакциями......Page 529
10.3. Уровни изоляции транзакции......Page 531
Что будет дальше?......Page 533
Глава 11. Хранимые процедуры, функции, определенные пользователем, триггеры......Page 534
Локальные переменные......Page 535
Организация циклов. Оператор WHILE......Page 536
Конструкция TRY/CATCH......Page 537
11.2.1. Создание хранимой процедуры......Page 539
11.2.2. Изменение хранимой процедуры......Page 541
11.2.3. Удаление хранимой процедуры......Page 542
11.2.4. Использование хранимых процедур......Page 543
11.3. Функции, определенные пользователем......Page 548
11.3.1. Создание функции......Page 549
11.3.2. Изменение функций......Page 550
11.3.4. Использование функций......Page 551
11.4. Триггеры......Page 552
11.4.1. Создание триггеров......Page 553
11.4.2. Изменение триггеров......Page 556
11.4.4. Использование триггеров......Page 558
Правило 3 — обработка неопределенных значений (NULL)......Page 562
Правило 8 — физическая независимость от данных......Page 563
Правило 12 — запрет обходных путей......Page 564
Приложение 2. Зарезервированные слова Transact-SQL......Page 566
Приложение 3. Утилита командной строки sqlcmd......Page 572
Приложение 4. Характеристики базы данных......Page 576
П4.1. Параметры Auto (в Management Studio — группа Automatic)......Page 579
П4.2. Параметры доступности базы данных (Availability)......Page 580
П4.3. Параметры автономной базы данных (Containment)......Page 582
П4.5. Параметры восстановления (Recovery, Recovery model)......Page 583
П4.6. Общие параметры SQL (Miscellaneous)......Page 584
П4.7. Параметры внешнего доступа (External Access)......Page 588
П4.9. Параметры изоляции транзакций для мгновенных снимков (Snapshot)......Page 589
Приложение 5. Языки, представленные в SQL Server......Page 592
Приложение 6. Описание электронного архива......Page 600
Предметный указатель......Page 602