Информация о книге

978-5-9775-3492-5

Главная  » Научно-техническая литература » Информационные технологии. Компьютеры » Компьютерная графика, дизайн, анимация » Компьютерная графика и дизайн » Microsoft SQL Server 2014

Бондарь А.И., Microsoft SQL Server 2014


серия: В подлиннике
BHV, 2015 г., 978-5-9775-3492-5


Наличие в интернет-магазинах

Магазинов: 1, Цена: от 742 руб. посмотреть все

Описание книги

Книга посвящена установке, настройке, администрированию и разработке баз данных с помощью СУБД SQL Server 2014. Рассмотрено создание базы данных и основных ее объектов: таблиц, индексов, представлений, хранимых процедур и функций, триггеров и др. Показана работа средств отображения объектов и их характеристик. Описаны типы данных, включая XML, пространственные и пользовательские данные. Приведены синтаксис и семантика языка Transact-SQL в нотациях Бэкуса - Наура и при помощи R-графов. Подробно рассмотрены характеристики и взаимодействия транзакций. Уделено внимание средствам копирования и восстановления базы данных. В ходе создания учебной базы данных описаны примеры использования операторов манипулирования данными, триггеров, хранимых процедур и др. Исходные коды примеров размещены на сайте издательства.

Купить эту книгу можно в интернет-магазинах

  Лабиринт - 742 руб.
  Страница товара выбранного интернет-магазина откроется в новом табе

Скачать, но не бесплатно эту книгу можно в интернет-магазинах

  Литрес - 439 руб.

Читать онлайн


Доступен для чтения фрагмент книги

Поделиться ссылкой на книгу



Содержание книги

Введение
Содержание книги
Дополнительные материалы
Глава 1. Установка программных средств
1.1. Установка Visual Studio 2010 Express
1.2. Установка MS SQL Server 2014 Express
1.3. Установка справочной системы
Глава 2. Общие сведения о SQL Server 2014
2.1. Реляционные базы данных
2.1.1. Таблицы
2.1.1.1. Основные свойства и характеристики
таблиц
Типы данных
Порядок сортировки
Неизвестное значение NULL
Индексы
2.1.1.2. Ключи в таблицах
Первичный ключ
Уникальный ключ
Внешний ключ
Отношения между таблицами в базе данных
Ограничения таблицы
2.1.2. Представления
2.1.3. Хранимые процедуры и триггеры
2.1.4. Пользователи, привилегии и роли базы
данных
2.1.5. Задание первичных ключей таблиц
2.1.6. Транзакции
2.1.7. Двенадцать правил Кодда
2.2. Реализация отношений в реляционной модели
2.2.1. Отношение "один к одному"
2.2.2. Отношение "один ко многим"
2.2.3. Отношение "многие ко многим"
2.3. Нормализация таблиц
2.3.1. Цель нормализации таблиц
2.3.2. Первая нормальная форма
2.3.3. Вторая нормальная форма
2.3.4. Третья нормальная форма
2.3.5. Другие нормальные формы
2.3.6. Денормализация таблиц
2.4. Проектирование баз данных
2.5. Язык Transact-SQL
2.5.1. Синтаксис
2.5.1.1. Целое число
2.5.1.2. Целое со знаком
2.5.1.3. Дробное число
2.5.1.4. Число с плавающей точкой
2.5.1.5. Двоичное число
2.5.1.6. Комментарии
2.5.1.7. Строковые константы
2.5.1.8. Идентификатор
2.5.2. Основные сведения о составе языка
Transact-SQL
2.6. Что дальше?
Глава 3. Работа с базами данных
3.1. Запуск и останов экземпляра сервера
3.1.1. Запуск на выполнение экземпляра сервера
3.1.1.1. Запуск сервера из командной строки
3.1.1.2. Запуск сервера из программы Configuration
Manager
3.1.1.3. Запуск сервера с помощью программы
Management Studio
3.1.2. Останов экземпляра сервера
3.1.2.1. Останов сервера из командной строки
3.1.2.2. Останов сервера из программы
Configuration Manager
3.1.2.3. Останов сервера из программы
Management Studio
3.2. Что собой представляет база данных в SQL
Server
3.2.1. Системные базы данных
3.2.1.1. База данных master
3.2.1.2. База данных model
3.2.1.3. База данных msdb
3.2.1.4. База данных tempdb
3.2.1.5. База данных resource
3.2.2. Базы данных пользователей
3.2.3. Некоторые характеристики базы данных
3.2.3.1. Владелец базы данных
3.2.3.2. Порядок сортировки
3.2.3.3. Возможность изменения данных базы
данных
3.2.3.4. Состояние базы данных
3.2.4. Некоторые характеристики файлов базы
данных
3.2.4.1. Основные характеристики файлов базы
данных
3.2.4.2. Состояния файлов базы данных
3.3. Получение сведений о базах данных и их
файлах в текущем экземпляре сервера
3.3.1. Системное представление sys.databases
3.3.2. Системное представление sys.master_files
3.3.3. Системное представление sys.database_files
3.3.4. Системное представление sys.filegroups
3.3.5. Другие средства получения сведений об
объектах базы данных
3.3.5.1. Системные представления
3.3.5.2. Системные хранимые процедуры
3.3.5.3. Системные функции
3.4. Создание и удаление базы данных
3.4.1. Использование операторов Transact-SQL для
создания, отображения и удаления баз данных
3.4.1.1. Оператор создания базы данных
Логическое имя базы данных
Предложение CONTAINMENT
Предложение ON
Предложение LOG ON
Предложение COLLATE
Предложение WITH
Файловый поток
Другие опции предложения WITH
Спецификация файла
Предложение NAME
Предложение FILENAME
Предложение SIZE
Предложение MAXSIZE
Предложение FILEGROWTH
Файловая группа
3.4.1.2. Оператор удаления базы данных
3.4.1.3. Создание и отображение баз данных в
командной строке
3.4.1.4. Создание и отображение баз данных в
Management Studio
Замечания по использованию Management Studio
3.4.2. Создание базы данных с использованием
диалоговых средств Management Studio
3.5. Изменение базы данных
3.5.1. Изменение базы данных в языке
Transact-SQL
3.5.1.1. Изменение имени базы данных
3.5.1.2. Изменение порядка сортировки
3.5.1.3. Изменение файлов базы данных
Добавление нового файла
Удаление существующего файла
Изменение характеристик файла
3.5.1.4. Изменение файловых групп
3.5.1.5. Изменение других характеристик базы
данных
3.5.2. Изменение базы данных диалоговыми
средствами Management Studio
3.5.2.1. Изменение имени базы данных
3.5.2.2. Изменение файлов базы данных
3.5.2.3. Изменение файловых групп базы данных
3.5.2.4. Изменение других характеристик базы
данных
3.5.2.5. Отображение отчета использования
дискового пространства базы данных
3.5.3. Удаление базы данных диалоговыми
средствами Management Studio
3.6. Создание автономной базы данных
3.6.1. Установка допустимости автономных баз
данных
3.6.2. Создание автономной базы данных и
пользователя средствами языка Transact-SQL
3.6.3. Создание автономной базы данных
диалоговыми средствами Management Studio
3.6.4. Создание автономного пользователя в
Management Studio
3.6.5. Соединение с автономной базой данных в
Management Studio
3.7. Присоединение базы данных
3.7.1. Присоединение базы данных с
использованием Transact-SQL
3.7.2. Присоединение базы данных с
использованием диалоговых средств Management
Studio
3.7.3. Отсоединение базы данных
3.8. Создание мгновенных снимков базы данных
3.9. Схемы базы данных
3.9.1. Работа со схемами в Transact-SQL
3.9.1.1. Создание схемы
3.9.1.2. Изменение схемы
3.9.1.3. Удаление схемы
3.9.1.4. Пример создания схем
3.9.2. Работа со схемами в Management Studio
3.9.2.1. Отображение схем базы данных
3.9.2.2. Создание схемы
3.9.2.3. Изменение существующей схемы
3.9.2.4. Удаление схемы
3.10. Средства копирования и восстановления баз
данных
3.10.1. Использование операторов
копирования/восстановления базы данных
3.10.2. Использование диалоговых средств
Management Studio для
копирования/восстановления базы данных
3.11. Домашнее задание
3.12. Что дальше?
Глава 4. Типы данных
4.1. Классификация типов данных в SQL Server
4.2. Объявление локальных переменных
4.3. Числовые типы данных
4.3.1. Тип данных BIT
4.3.1.1. Таблицы истинности
4.3.2. Целочисленные типы данных TINYINT,
SMALLINT, INT, BIGINT
4.3.3. Дробные числа NUMERIC, DECIMAL,
SMALLMONEY, MONEY
4.3.3.1. Типы данных NUMERIC и DECIMAL
4.3.3.2. Типы данных SMALLMONEY и MONEY
4.3.3.3. Сложение и вычитание
4.3.3.4. Умножение
4.3.3.5. Деление
4.3.3.6. Остаток от деления
4.3.3.7. Преобразования в точные числа
4.3.4. Числа с плавающей точкой FLOAT, REAL
4.3.5. Функции для работы с числовыми данными
4.3.5.1. Агрегатные функции
4.3.5.2. Тригонометрические функции
4.3.5.3. Логарифмические функции, возведение в
степень, извлечение корня
4.3.5.4. Другие математические функции
4.4. Символьные данные
4.4.1. Символьные строки CHAR, VARCHAR
4.4.2. Символьные строки NCHAR, NVARCHAR
4.4.3. Типы данных VARCHAR(MAX),
NVARCHAR(MAX), VARBINARY(MAX)
4.4.4. Строковые функции
4.4.4.1. Определение размера DATALENGTH(),
LEN()
4.4.4.2. Выделение подстроки LEFT(), RIGHT(),
SUBSTRING()
4.4.4.3. Удаление пробелов LTRIM(), RTRIM()
4.4.4.4. Преобразование символов ASCII(), STR(),
CHAR(), NCHAR(), UNICODE()
4.4.4.5. Изменение регистра символов UPPER(),
LOWER()
4.4.4.6. Преобразование строки к идентификатору
QUOTENAME()
4.4.4.7. Поиск данных и изменение строки
REPLICATE(), REVERSE(), REPLACE(), CHARINDEX()
Поиск данных по шаблону PATINDEX()
4.5. Типы данных даты и времени
4.5.1. Описание типов данных даты и времени
4.5.2. Действия с датами и временем
4.5.2.1. Задание даты и времени
4.5.2.2. Функции, возвращающие значение
текущей даты, времени и смещения часового
пояса
4.5.2.3. Функции преобразования и выделения
части даты и времени
4.5.2.4. Другие функции для даты и времени
4.6. Двоичные данные
4.7. Пространственные типы данных
4.7.1. Тип данных GEOMETRY
4.7.1.1. Точка
Свойства
Методы
Отображение характеристик
Создание объекта
Дополнительные методы
4.7.1.2. Ломаная линия
4.7.1.3. Полигон
4.7.1.4. Другие геометрические объекты
4.7.2. Тип данных GEOGRAPHY
4.8. Другие типы данных
4.8.1. Тип данных SQL_VARIANT
4.8.2. Тип данных HIERARCHYID
4.8.3. Тип данных UNIQUEIDENTIFIER
4.8.4. Тип данных CURSOR
4.8.5. Тип данных TABLE
4.8.6. Тип данных XML
4.8.6.1. Нетипизированные элементы XML
4.8.6.2. Типизированные элементы XML
4.8.6.3. Отображение таблиц, содержащих
столбцы XML
4.9. Создание и удаление пользовательских типов
данных
4.9.1. Синтаксис оператора создания
пользовательского типа данных
4.9.2. Создание псевдонима средствами
Transact-SQL
4.9.3. Создание псевдонима в диалоговых
средствах Management Studio
4.9.4. Создание пользовательского табличного
типа данных средствами Transact-SQL
4.9.4.1. Определение столбца
4.9.4.2. Ограничения столбца
4.9.4.3. Вычисляемые столбцы
4.9.4.4. Ограничения таблицы
4.9.4.5. Пример создания пользовательских типов
данных
4.9.5. Создание пользовательского табличного
типа данных диалоговыми средствами Management
Studio
4.9.6. Удаление пользовательского типа данных
4.10. Что дальше?
Глава 5. Работа с таблицами
5.1. Синтаксис оператора создания таблицы
5.1.1. Общие характеристики таблицы
5.1.1.1. Идентификатор таблицы
5.1.1.2. Предложение AS FileTable
5.1.1.3. Определение столбца, вычисляемого
столбца, набора столбцов
5.1.1.4. Предложение ON
5.1.1.5. Предложение TEXTIMAGE_ON
5.1.1.6. Предложение FILESTREAM_ON
5.1.1.7. Предложение WITH
5.1.2. Определение столбца
5.1.2.1. Имя столбца
5.1.2.2. Тип данных
5.1.2.3. FILESTREAM
5.1.2.4. COLLATE
5.1.2.5. NULL | NOT NULL
5.1.2.6. DEFAULT
5.1.2.7. IDENTITY
5.1.2.8. ROWGUIDCOL
5.1.2.9. SPARSE
5.1.3. Ограничения столбца и ограничения
таблицы
5.1.3.1. Имя ограничения
5.1.3.2. Ограничения первичного и уникального
ключей
Создаваемые индексы
5.1.3.3. Ограничение внешнего ключа
Предложение ON DELETE
Предложение ON UPDATE
5.1.3.4. Ограничение CHECK
5.1.4. Вычисляемые столбцы
5.1.5. Набор столбцов
5.2. Простые примеры таблиц
5.3. Создание секционированных таблиц
5.3.1. Синтаксические конструкции
5.3.2. Пример создания секционированной
таблицы
5.3.3. Отображение результатов создания
таблицы
5.3.4. Изменение характеристик
секционированной таблицы
5.4. Создание таблиц диалоговыми средствами
5.4.1. Создание таблицы секционирования
5.4.2. Создание таблицы секционирования, схемы
секционирования и функции секционирования
5.5. Отображение состояния секционированных
таблиц
5.6. Файловые потоки
5.7. Удаление таблиц
5.7.1. Определение зависимостей таблицы
5.7.2. Удаление таблицы оператором DROP TABLE
5.7.3. Удаление таблицы диалоговыми средствами
Management Studio
5.8. Изменение характеристик таблиц
5.8.1. Изменение таблиц при использовании
оператора Transact-SQL
5.8.1.1. Имя таблицы
5.8.1.2. Изменение столбца
5.8.1.3. Изменение типа данных
5.8.1.4. Изменение порядка сортировки
5.8.1.5. Добавление нового столбца (обычного или
вычисляемого)
5.8.1.6. Добавление ограничения
5.8.1.7. Удаление столбца
5.8.1.8. Удаление ограничения
5.8.2. Изменение таблиц средствами Management
Studio
5.8.2.1. Изменение имени таблицы
5.8.2.2. Изменение столбца
5.8.2.3. Изменение типа данных
5.8.2.4. Изменение порядка сортировки
5.8.2.5. Изменение формулы для вычисляемого
столбца
5.8.2.6. Добавление нового столбца
5.8.2.7. Добавление и изменение ограничений
Добавление и изменение ограничения первичного
ключа
Первичный ключ состоит из нескольких столбцов
таблицы
Добавление и изменение ограничения уникального
ключа
Добавление и изменение ограничения внешнего
ключа
Изменение ограничения CHECK
Добавление ограничения CHECK
5.8.2.8. Удаление столбца
5.8.2.9. Удаление ограничений
Удаление ограничения CHECK
Удаление ограничения первичного ключа
Удаление ограничения уникального ключа
Удаление ограничения внешнего ключа
5.8.3. Построение диаграммы базы данных
5.9. Файловые таблицы
5.10. Что дальше?
Глава 6. Индексы
6.1. Отображение индексов
6.2. Работа с индексами средствами Transact-SQL
6.2.1. Создание обычного (реляционного) индекса
6.2.1.1. Имя объекта, для которого создается
индекс
6.2.1.2. Имя индекса
6.2.1.3. Задание уникального индекса
6.2.1.4. Кластерный и некластерный индексы
6.2.1.5. Структура индекса
6.2.1.6. Предложение INCLUDE
6.2.1.7. Предложение WHERE
6.2.1.8. Предложение ON
6.2.1.9. Предложение FILESTREAM_ON
6.2.1.10. Задание параметров индекса
6.2.2. Создание индекса для представлений
6.2.3. Создание индекса columnstore
6.2.4. Создание индекса для столбца XML
6.2.4.1. Имя объекта, для которого создается
индекс
6.2.4.2. Имя индекса
6.2.4.3. Первичный индекс
6.2.4.4. Вторичные индексы
6.2.4.5. Задание параметров индекса
6.2.5. Создание пространственного индекса
6.2.6. Удаление индекса
6.2.7. Изменение индекса
6.3. Работа с индексами в диалоговых средствах
Management Studio
6.3.1. Создание индекса в Management Studio
6.3.2. Удаление индекса в Management Studio
6.3.3. Изменение индекса в Management Studio
6.4. Что дальше?
Глава 7. Добавление, изменение и удаление
данных
7.1. Обобщенное табличное выражение
7.2. Добавление данных. Оператор INSERT
7.3. Изменение данных. Оператор UPDATE
7.4. Удаление данных. Оператор DELETE
7.5. Удаление строк таблицы. Оператор
TRUNCATE TABLE
7.6. Добавление, изменение или удаление строк
таблицы. Оператор MERGE
7.7. Что дальше?
Глава 8. Выборка данных
8.1. Оператор SELECT
8.2. Оператор UNION
8.3. Операторы EXCEPT, INTERSECT
8.4. Примеры выборки данных
8.4.1. Список выбора
8.4.2. Упорядочение результата (ORDER BY)
8.4.3. Условие выборки данных (WHERE)
8.4.3.1. Использование операторов сравнения
8.4.3.2. Использование варианта LIKE
8.4.3.3. Использование варианта BETWEEN
8.4.3.4. Использование варианта IN
8.4.3.5. Использование функций ALL, SOME, ANY,
EXISTS
Функция ALL
Функции ANY и SOME
Функция EXISTS
8.4.4. Соединение таблиц
8.4.4.1. Левое внешнее соединение
8.4.4.2. Правое внешнее соединение
8.4.4.3. Полное внешнее соединение
8.4.4.4. Двойное соединение
8.4.4.5. Рефлексивное соединение, или
самосоединение
8.4.4.6. Внутреннее соединение
8.4.5. Группировка результатов выборки (GROUP
BY, HAVING)
8.5. Использование операторов UNION, EXCEPT,
INTERSECT
8.6. Что дальше?
Глава 9. Представления
9.1. Синтаксис операторов для представлений
9.1.1. Создание представления
9.1.2. Изменение представления
9.1.3. Удаление представления
9.2. Создание представлений в Transact-SQL
9.3. Создание представлений диалоговыми
средствами Management Studio
9.4. Что дальше?
Глава 10. Транзакции
10.1. Понятие и характеристики транзакций
10.2. Операторы работы с транзакциями
10.3. Уровни изоляции транзакции
10.4. Что дальше?
Глава 11. Хранимые процедуры, функции,
определенные пользователем, триггеры
11.1. Язык хранимых процедур и триггеров
11.1.1. Блок операторов BEGIN / END
11.1.2. Комментарии
11.1.3. Локальные переменные
11.1.4. Ветвление в программе. Операторы IF и
CASE
11.1.5. Организация циклов. Оператор WHILE
11.1.6. Оператор GOTO
11.1.7. Оператор RETURN
11.1.8. Конструкция TRY / CATCH
11.1.9. Оператор THROW
11.2. Хранимые процедуры
11.2.1. Создание хранимой процедуры
11.2.2. Изменение хранимой процедуры
11.2.3. Удаление хранимой процедуры
11.2.4. Использование хранимых процедур
11.3. Функции, определенные пользователем
11.3.1. Создание функции
11.3.2. Изменение функций
11.3.3. Удаление функций
11.3.4. Использование функций
11.4. Триггеры
11.4.1. Создание триггеров
11.4.2. Изменение триггеров
11.4.3. Удаление триггеров
11.4.4. Использование триггеров
Приложения
Приложение 1. Двенадцать правил Кодда
Приложение 2. Зарезервированные слова
Transact-SQL
Приложение 3. Утилита командной строки sqlcmd
Приложение 4. Характеристики базы данных
П4.1. Параметры Auto
П4.2. Параметры доступности базы данных
П4.3. Параметры автономной базы данных
П4.4. Параметры курсора
П4.5. Параметры восстановления
П4.6. Общие параметры SQL
П4.7. Параметры компонента Service Broker
Приложение 5. Языки, представленные в SQL
Server
Приложение 6. Описание электронного архива
Предметный указатель


Об авторе


Отзывы

Никифоров Игорь  [ 2 November 2016]
Короткая версия отзыва. Читать этот учебник для изучения баз данных я бы не советовал. Длинная версия отзыва. Встала передо мной задача изучить базы данных и SQL вообще, и диалект Transact SQL от Microsoft в частности. Один хороший знакомый посоветовал выбрать для изучения именно эту книгу, хотя о её существовании, как и о её авторе, я до этого не слышал. Рекомендация опытного человека, почти 600 страниц текста, смелая надпись \"наиболее полное руководство\" и русский язык сделали своё дело, и я решил попытать счастья именно с ней. Тем более что в книге рассматривается наиболее свежая, на момент моей покупки, 2014-я версия SQL Server`а. Всегда приятно учиться современным и актуальным технологиям. \"Спираченной\" версии в сети не нашлось, но, к счастью на сайте издательства продавалась в том числе электронная версия книги в PDF и, будучи порядочным человеком, я выложил 549 рублей за, я надеялся, хороший учебник. Однако в процессе прочтения у меня возникла гамма эмоций и смешанных впечатлений, которыми я бы и хотел поделиться в этом отзыве. Для удобства разобью свои впечатления на список коротких абзацев. Ну и, пожалуй, начнём. Не вполне понятно, на какого читателя рассчитана эта книга. Она никак не может подходить полному новичку, т.к. в ней затрагиваются понятия из теории графов, термины и некоторые принципы и концепции из программирования, а также понятия из сферы реляционных баз данных. Многие из этих вещей начинающий читатель может просто не знать, что сильно затрудняет усвоение материала. Не подойдёт эта книга и для профессионала в области баз данных просто потому, что она рассматривает их возможности лишь поверхностно. Сами термины и понятия вводятся в книге в большом количестве и часто без полноценного определения или пояснения того, что это и зачем это нужно. Если в случае с другими дисциплинами (вроде графов и языков программирования) можно предположить, что автор надеется на достаточный уровень подготовки читателя перед прочтением книги, то в случаях с терминами, которые непосредственно относятся к сфере баз данных и конкретно SQL, его мотивации не совсем понятна. Если читатель хорошо понимает, о чём идёт речь, зачем ему вообще читать этот учебник? Те же термины, описание которым даётся, очень часто поясняются десятки, а то и сотни страниц после их первого упоминания. Например, к 275-й странице можно насчитать множество упоминаний автором терминов \"хранимая процедура\", \"функция\", \"триггер\", \"пакеты\", \"сценарии\", которые до этого момента в книге рассмотрены не были. Всё это говорит о плохой организации книги и непродуманном повествовании. В книге уделено большое внимание файлам данных и файлам журналов транзакций, и подробно описано, как создать несколько файлов данных и несколько файлов журналов транзакций для одной базы данных, но ни одной строчки не написано о том, зачем вообще создавать несколько файлов данных для одной базы данных. И, т.к. механизм работы базы с этими файлами, и что именно там хранится, в книге не описан, понять целесообразность создания нескольких файлов данных и нескольких журналов транзакций для одной базы данных совершенно не очевидно. В целом, это важный недостаток книги, в ней описывается множество действий, но не описывается, зачем эти действия нужны, и когда их следует применять, а когда нет. В книге присутствуют опечатки в запросах и несоответствие текста запросов скриншотам, на которые эти запросы ссылаются. Их совсем немного, но всё же неприятно. В главе 5.1 упоминается новый тип таблиц в SQL Server 2014, который содержит только первичные ключи и не содержит связи с другими таблицами, но в самой книге такие таблицы не рассматриваются, и нет никаких ссылок на источники, в которых можно узнать об этих типах. Также не даётся оригинальное название такого типа таблиц (на английском или на русском), что сильно затрудняет поиск информации по данной теме. Как результат, лично мне информации по этим таблицам найти так и не удалось. Я бы сказал, что это классическая ошибка многих авторов: после сложного листинга предполагать, что читателю \"всё понятно\", и можно избежать подробного объяснения того, что происходит. По воле рока часто оказывается, что именно непояснённый листинг вызывает сложности в понимании. Помимо этого, широко известно, что повторение - крёстный отец учения. Считается, что человеку нужно семь раз услышать слово, чтобы его запомнить, а автор предполагает, что читатель запомнит не слово, а сложные термины и понятия с одного-двух. В книге многократно упоминается мистическое место в интернете, которое автор называет Books Online, куда многократно по мере книги советуется обращаться для более детального изучения того или иного вопроса. Мало того, что ссылки на этот ресурс автор не предоставил, так ещё и найти это загадочное место по вышеописанному названию практически невозможно. Прошло изрядное количество времени, прежде чем я сообразил, что под Books Online автор понимает не что иное, как официальную документацию по SQL Server на сайте Microsoft Developer Network (MSDN), подразделения Майкрософт, ответственного за взаимодействие фирмы с разработчиками. Почему автор решил использовать именно это название, не встречающееся больше нигде, и почему не предоставил ссылки на ресурс, остаётся загадкой. Однако если уж ссылаться на какой-то источник, особенно большого объёма, возможно, имело бы смысл давать полные ссылки на разделы или статьи, или хотя бы названия разделов, в которых описана информация, на которую ссылается автор. Потому как в противном случае такая ссылка на другой источник звучит не иначе как \"поищите где-нибудь ещё\". В учебнике описывается работа со схемами XML, но не объясняется, зачем они вообще нужны, когда могут пригодиться и как их лучше использовать. Автор приводит описание нормальных форм как бы нехотя, утверждая, что о них и так все знают, и нет смысла заострять на них внимание. При этом далее по тексту автор упоминает важность корректного проектирования баз данных, используя эти самые формы. Снова непонятно, на кого рассчитана данная книга, т.к. если читатель начал изучение баз данных с этой книги, он вообще не имеет представления о том, что такое нормальные формы. Ещё одна, на мой взгляд, классическая ошибка очень многих авторов учебников: постоянные ссылки на другие разделы и параграфы. Хороший учебник должен читаться от начала и до конца с редким чтением дополнительных материалов в интернете по темам, которые читателю особо интересны. Если же в учебнике постоянно присутствуют строки \"см. в таком-то параграфе\", \"было рассмотрено там-то\", \"будет рассмотрено там-то\", то чтение превращается в постоянные перелистывания туда-сюда, что значительно снижает уровень комфорта чтения и степень понимания материала. Ещё один важный недостаток книги - это практики. С одной стороны, в книге наблюдается недостаток рекомендаций по применению тех знаний, что в ней описываются. С другой стороны, даже когда такие рекомендации даются, они носят характер личных: \"В своей работе я использую такой-то подход\". Компетентность автора в вопросах практик может быть высока, но, во-первых, читатель об этом может не знать, а во-вторых, в современном мире те или иные вопросы могло изучать большое количество других людей, которые могли прийти к лучшим результатам в тех же исследованиях. Поэтому вышеописанный подход личных рекомендаций невольно вызывает сомнения. Субъективно, куда более правильным подходом был бы такой: \"на основе опыта и исследований множества людей, статьи которых на данную тему вы можете почитать по таким-то ссылкам, лучшей практикой в данной области считается такой-то подход\". Про секционирование. Как вручную распределить данные по файлам данных, понятно. Как работают функции и схемы секционирования - нет. Зачем разделять информацию о чём-то одном на несколько мест? На 380-й странице автор упоминает в замечании, что у него возникает некая ошибка в некой ситуации. Но, так как ни описания сценария воспроизведения этой ошибки, ни номера ошибки, ни информации о том, как её избежать, автор не приводит, целесообразность этого замечания не очевидна. В разделе 6.2.1.6 (и в некоторых местах до этого) автор упоминает взаимосвязь индексов и листьев древовидной структуры данных. Опуская тот факт, что читатель может вообще не знать о структурах данных, хотелось бы отметить, что автор не объясняет, как именно хранятся индексы в этой некоей структуре. В разделе 6.2.5 упоминается термин \"тесселяция\", определение которому в книге не даётся. Вне всякого сомнения, любой термин в современном мире можно \"прогуглить\", однако \"плавность\" усвоения материала и своего рода комфорт при чтении учебной литературы тем выше, чем меньше раз читателю приходится обращаться к сторонним источникам в процессе (не по завершению, а именно в процессе) чтения. Также очень важно, что в книге очень поверхностно рассмотрено составление сложных запросов, отсутствует детальный анализ различных, встречающихся в реальной жизни задач с примерами их решения. Крайне мало внимания уделено оптимизации запросов, для повышения эффективности работы, что требуется практически в 100% случаев при работе с базами данных. Человек, прочитавший книгу, используя её или другой источник, конечно, сможет решить несколько рядовых задач по проектированию простых баз данных и выборки данных из них, но не более. Очень-очень важным недостатком является полное отсутствие в книге огромного набора задач для самостоятельного решения для закрепления полученных знаний. Хороший пример нехватки повторения пройденного. Цитата со страницы 476: \"В предложении OPTION можно задать подсказки запроса, изменяющие процедуру выборки данных, чего, как помните, я вам не советую делать\". Подсказки, изменяющие процедуру выборки? Не совсем понятно, о чём идёт речь. Возможно, и даже скорее всего, можно найти пояснение написанного в более ранних главах учебника, но всё же часто читатель может забыть или не до конца понять, какие-то особенности новой для него сферы и, субъективно, эффективней формулировать предложения в более простой или повторно поясняющей форме, чем отсылать читателя к предыдущим главам. В R-графе, описывающем оператор SELECT в восьмой главе, есть небольшая неточность, которая, впрочем, отсутствует в описании синтаксиса этого оператора. При использовании оператора SELECT можно как использовать ключевые слова ALL и DISTINCT, так и не использовать ключевые слова этой условной группы совсем. В восьмой главе при описании оператора SELECT в текстовой форме описана возможность присвоения псевдонимов таблицам и представлениям, тем более, что такой синтаксис использовался ранее и далее по ходу книги. И хотя далее в книге описывается принцип использования псевдонимов, информация о них отсутствует в описании синтаксиса и соответствующем R-графе. Хорошее понимание JOIN`ов, субъективно, является важной частью изучения SQL. При этом многие люди лучше воспринимают информацию через картинки и визуальные образы. Учитывая это, объяснение видов JOIN`ов было бы эффективней, если бы автор применял классические круги Эйлера для описания пересечений множеств. В таблицу 8.1, скорее всего, закралась ошибка. NOT TRUE должно равняться FALSE. В таблице же указан ноль, что было бы корректно в случае, когда под единицей понимается истина, а под нулём ложь. Однако использование в одной таблице и полноценного слова FALSE и нуля выглядит скорей как ошибка, нежели как авторский ход. Цитата со страницы 491: \"Функция ROLLUP() позволяет создавать иерархические итоговые данные по уровням элементов, указанных в параметрах функции\". Даже после многократного прочтения этого предложения его смысл понять весьма затруднительно. В целом, функции ROLLUP() и CUBE() в учебнике описаны совершенно непонятно. Без дополнительной информации из интернета выполняемые функциями действия не очевидны даже после многократного прочтения их описания и приведённых примеров. Для многих запросов в книге, к сожалению, не приводится результатов выполнения запроса. Разумно предположить, что читающий лучше усвоит материал, выполнив запрос на своём компьютере. Однако, учебную литературу, как и художественную, часто читают в пути, и возможности посмотреть результат, выполнив запрос, попросту нет. Субъективно, читателю легче было бы усваивать материал, если бы результаты выполнения запроса приводились к каждому запросу. На странице 530, видимо, закралась опечатка в предложении: \"Во всех операторах, связанных с транзакциями, имена транзакций и точек сохранении можно задавать и при помощи ссылки на строковые локальные переменные\". Возможно, имелось в виду \"имена точек сохранениЯ\". В главе 11.2.4 описывается использование хранимой процедуры, вычисляющей максимальное значение определённой колонки для задания первичного или уникального ключа в другой колонке. Зачем использовать такой подход к заданию первичного ключа, не вполне понятно. Этот метод вряд ли мог бы прийти в голову рядовому читателю. Возникает вопрос: зачем нужны какие-то альтернативные способы присвоения первичного ключа при наличии классического автоинкрементного подхода. Чем он плох и не универсален? Крайне мало внимания уделено хранимым процедурам. После прочтения не остаётся чёткого понимания, зачем они нужны, и как и когда лучше их использовать. Безусловно, помимо вышеописанных минусов, в книге есть и плюсы. Например, представление процессов в виде графов - это хорошая идея, и хотя понять, как они работают, получается не с первого момента их внедрения, как только приходит понимание, графы становятся очень наглядным инструментом для визуализации синтаксиса. Второй способ представления, называемый нотацией Бэкуса-Наура тоже довольно неплох и полезен для изучения смежных наук. Помимо этого, хоть и поверхностно, но книга всё же даёт представление о том, что такое базы данных, помогает разобраться в установке и настройке, помогает разобраться в не всегда интуитивно понятном интерфейсе Management Studio и охватывает значительную часть фундаментальных понятий о базах данных и языке SQL. И хотя пока что я не читал других учебников по SQL, я вряд ли смогу посоветовать кому-либо начинать изучение баз данных с учебника Александра Бондаря. Он весьма сложен для восприятия, и, к сожалению, текст книги не создаёт впечатления, что автор является профессионалом в области практического применения баз данных в реальных бизнес-задачах.
Антон  [ 7 July 2016]
Для совсем новичков в теории РСУБД, может, и хорошо пойдет. Для людей с опытом будет очень много воды, ненужных скриншотов и повторений уже не раз сказанного ранее. В целом, подойдет в качестве общего обзорного материала.

Последние поступления в рубрике "Компьютерная графика и дизайн"



Инженерная 3D-компьютерная графика в 2-х томах. Том 2. Учебник и практикум для СПО Инженерная 3D-компьютерная графика в 2-х томах. Том 2. Учебник и практикум для СПО Хейфец А.Л.

В учебнике освещено новое компьютерное наполнение традиционных заданий курса инженерной графики на основе 3D-технологий проектирования и построения чертежей на базе пакета AutoCAD. Приведены методические разработки авторов, составляющие основу......

Инженерная 3D-компьютерная графика в 2-х томах. Том 1. Учебник и практикум для СПО Инженерная 3D-компьютерная графика в 2-х томах. Том 1. Учебник и практикум для СПО Хейфец А.Л.

В учебнике освещено новое компьютерное наполнение традиционных заданий курса инженерной графики на основе 3D-технологий проектирования и построения чертежей на базе пакета AutoCAD. Приведены методические разработки авторов, составляющие основу......

Photoshop. Полное руководство. Официальная русская версия Photoshop. Полное руководство. Официальная русская версия Прокди Р.Г., Финков М.В., Фуллер Д.

Если вы хотите освоить и научиться эффективно пользоваться Photoshop для решения своих творческих задач, то эта книга как ничто поможет вам в этом. В ней вы найдете грамотное, доступное и структурированное описание всевозможных инструментов и методик использования Photoshop в сочетании с большим количеством характерных примеров....

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Бондарь А.И., Microsoft SQL Server 2014 в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.