49. Тарасов С.В. СУБД для программиста. Базы данных изнутри

Тарасов С.В. СУБД для программистаДочитал эту книгу 28.09.2020 года. Читал впервые. Понравилось. Дата первой публикации 2015 год. Страна авторов – Россия.

Об авторе:

Мало информации об авторе удалось найти. Тарасов Сергей Витальевич является автором еще одной книги — «Дефрагментация мозга. Софтостроение изнутри». Я ее не читал.

О книге:

Большое (на триста страниц) оглавление по теме баз данных. Заявленных тем было очень много (темы очень интересные, полезные и нужные темы для тех, кто базы данных изучает). Но ни одна из тем подробно не рассмотрена. Так что книгу можно использовать как введение в тему (и, кстати, как введение в тему на базе MSSQL Server, так как почти все примеры приведены для этой СУБД и их T-SQL). Позабавило использование автором нестандартных переводов для некоторых терминов. Из самых запоминающихся — «Вид» (view). На протяжении всей книги регулярно он эти «виды» использует, ни разу представлением не назвал.

Из интересного — определения нормальных форм приведено понятнее чем в теории (но без таблиц). Есть много опечаток, даже в определениях. Или — в тексте пишет про pgAdmin, а в примерах приводятся скриншоты с psql.

Ну и ощущалось, что автор хвалиться тем, что данную книгу написал. Иногда даже просил в тексте, чтобы его похвалили. Скорее всего, я эту книгу не стану рекомендовать, вместо нее более подробные книги по теме посоветую. Но, повторюсь, и в этой книге есть полезный материал.

Цитаты:

Не будем ломать голову, возьмём Oracle: он, как танк, везде пройдёт и нам уж всяко подойдёт.

«Универсальная система менее эффективна, чем специализированная».

Существует рабочее эмпирическое правило: если тест получился короче тестируемой процедуры, значит он недостаточно её тестирует.

Тарасов С.В. СУБД для программиста. Базы данных изнутри. Оглавление:

Введение ………………………………………………
Основные понятия ……………………………………….
База данных и СУБД ……………………………………..
Типы приложений: транзакционная и аналитическая обработка …..
Клиент-серверные и встроенные СУБД ……………………….
Сноска. Firebird 2.5: состояние ………………………….
Основные модели данных: иерархическая, сетевая, реляционная …
Иерархическая модель ……………………………………
Сетевая модель …………………………………………
Реляционная модель ……………………………………..
Другие подходы и модели данных …………………………..
Модель «Сущность-атрибут-значение» (EAV) ………………….
Неполно структурированные модели данных …………………..
Документ-ориентированная модель и NoSQL …………………..
Многомерные модели данных ……………………………….
О применимости NoSQL ……………………………………
Множественная и навигационная обработка, менеджеры записей ….
Объектная модель и объектно-реляционная проекция …………..
SQL как универсальный входной язык ……………………….
Проектирование …………………………………………
Терминология уровней ……………………………………
Первичные и прочие ключи ………………………………..
Внешние ключи и связи …………………………………..
Нормализация и денормализация ……………………………
1НФ …………………………………………………..
2НФ …………………………………………………..
3НФ …………………………………………………..
Деморализуем… то есть денормализуем: «звезда» и «снежинка» ..
Типовая архитектура данных аналитических приложений ………..
Переносимость между СУБД ………………………………..
Абстрагирование от СУБД …………………………………
Абстрагирование от входного языка СУБД ……………………
Использование подмножества входного языка …………………
Типовые структуры ………………………………………
4Моделирование связей разных типов ……………………….
Хронологические данные ………………………………….
Иерархические данные и деревья в SQL ……………………..
Интернационализация/локализация данных и проброс контекста ….
Метаданные …………………………………………….
Реестр объектов и аудит …………………………………
Безопасность и доступ к данным …………………………..
Проектирование физического хранения ………………………
Физическая организация памяти ……………………………
Оперативная и долговременная память ………………………
Дисковые массивы ……………………………………….
Оперативная память ……………………………………..
Индексация данных ………………………………………
Секционирование данных ………………………………….
Неполно структурированные данные и высокая нагрузка ………..
Относительность понятия высокой нагрузки ………………….
Особенности использования РСУБД и НСМД (NoSQL) …………….
Нужно ли моделировать? ………………………………….
Моделирование против ручного кодирования: пример …………..
Большие данные как состояние отрасли ……………………..
Программирование с испытаниями …………………………..
Типы соединений в SQL на примерах ………………………..
Исходники и синхронизация структур ……………………….
Некоторые особенности программирования ……………………
Параметризация запросов и SQL-инъекции ……………………
Сравнение с неопределёнными (пустыми) значениями …………..
Работа со строками ……………………………………..
Работа с датами ………………………………………..
Генерация идентификаторов записей ………………………..
Транзакции, изоляция и блокировки ………………………..
Уровни SQL-92 ………………………………………….
Блокировки …………………………………………….
Взаимные блокировки процессов (deadlock) ………………….
Версии данных ………………………………………….
Проявления эффектов изоляции …………………………….
5Толстые транзакции …………………………………….
Загрузка данных ………………………………………..
Пакетная загрузка ………………………………………
Вставка в толстой транзакции …………………………….
РСУБД и неполно структурированные данные ………………….
Поддержка XML ………………………………………….
Поддержка JSON …………………………………………
Выводы ………………………………………………..
Постраничные выборки ……………………………………
Обзор способов постраничной выборки ………………………
Тестирование способов постраничной выборки ………………..
Выводы ………………………………………………..
SQL и модульное тестирование …………………………….
Место модульного тестирования в системе испытаний ………….
Особенности разработки на процедурных расширениях SQL ………
Пример задачи для модульного теста………………………..
Создаём специализированный макроязык ……………………..
Остановиться и оглянуться ……………………………….
Производительность SQL-запросов ………………………….
Общие рекомендации ……………………………………..
Анализ плана выполнения запроса ………………………….
Поиск узких мест ……………………………………….
Основы нагрузочного тестирования …………………………
Инструменты и методы ……………………………………
Учёт степени параллелизма ……………………………….
SQL Server и MongoDB на простом тесте …………………….
Тест вставки записей ……………………………………
Запросы и хронометраж …………………………………..
Выводы ………………………………………………..
Тестовые и демонстрационные базы данных …………………..
Заключение …………………………………………….
Литература …………………………………………….

[свернуть]


Be the first to comment

Leave a Reply

Ваш Mail не будет опубликован.


*