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

Оглавление⌄
Введение ........................ ............. .................... ......................................... 7 Основные понятия ........ ................................. ............................................. 9 База данных и СУБД .............. ........ ............ ........ ....................................... 9 Типы приложений: транзакционная и аналитическая обработка ...................... 11 Клиент-серверные и встроенные СУБД ....................................... ................. 14 Сноска. Firebird 2.5: состояние ............. ............................. ......................... 19 Основные модели данных: иерархическая, сетевая, реляционная ................... 22 Иерархическая модель ........................... ............................. ....... .............. 22 Сетевая модель ...... ............. .................... .................................................. 28 Реляционная модель ........... ........ ............ .................................................. 33 Другие подходы и модели данных ............ ........ .......................................... 37 Модель «Сущность-атрибут-значение» (EAV) ... ............................................ 37 Неполно структурированные модели данных ............................................... .46 Документ-ориентированная модель и NoSQL ................................................ 48 Многомерные модели данных .............. .................................... .................. 53 О применимости NoSQL ........................................................... .................. 56 Множественная и навигационная обработка, менеджеры записей .................. 61 Объектная модель и объектно-реляционная проекция ........ ......................... 65 SQL как универсальный входной язык ........................................ ................ 75 Проектирование ............ ................................. ......................................... 78 Терминология уровней ...................................... ....................................... 78 Первичные и прочие ключи .. .................................................................... 83 Внешние ключи и связи ................. ............ ............................................. 87 Нормализация и денормализация ............. ............................. .................. 89 1НФ .......................................................... .............................................. 90 2НФ ...................................... ................................................................. 91 3НФ .............................................. ............ ........................................... 92 Деморализуем ... то есть денормализуем: «звезда» и «снежинка» .............. 93 Типовая архитектура данных аналитических приложений .......................... 98 Переносимость между СУБД ........ ............................................................ 100 Абстрагирование от СУБД ........ ............ .................................... ............ 101 Абстрагирование от входного языка СУБД ................................................ 102 Использование подмножества входного языка .......................................... 104 Типовые структуры ... ..................... ............ ........ ................................. 104 Моделирование связей разных типов ....................................................... 105 Хронологические данные .. .................... ................................................ 109 Иерархические данные и деревья в SQL ..... ............................................. 115 Интернационализация/локализация данных и проброс контекста ............... 130 Метаданные ........................................................ .................................. 138 Реестр объектов и аудит ................. .................... ......................................143Безопасность и доступ к данным .. .......................................................... 145 Проектирование физического хранения .................................................. 151 Физическая организация памяти ............................................................. 152 Оперативная и долговременная память ............................ ...................... 155 Дисковые массивы ..................... ........................................................... 157 Оперативная память ............................... ........ ...................................... 160 Индексация данных ....................................... ........................................ 161 Секционирование данных ......... ............................................................ 163 Неполно структурированные данные и высокая нагрузка .......................... 165 Относительность понятия высокой нагрузки ............................................ 165 Особенности использования РСУБД и НСМД (NoSQL) ................................ 168 Нужно ли моделировать? ........................................................................ 172 Моделирование против ручного кодирования: пример ... .......................... 174 Большие данные как состояние отрасли .................................................. 181 Программирование с испытаниями .......................................................... 187 Типы соединений в SQL на примерах ..........................................................187Исходники и синхронизация структур ............. ........................................ 190 Некоторые особенности программирования .............................................. 200 Параметризация запросов и SQL-инъекции ............................................... 200 Сравнение с неопределёнными (пустыми) значениями ............................... 203 Работа со строками .................... .................... ............................................204Работа с датами ...................................................................................... 207 Генерация идентификаторов записей ................................ ...................... 209 Транзакции, изоляция и блокировки ........................................................ 214 Уровни SQL-92 ............................................................ ........................... 215 Блокировки ................................. ............................................................ 219 Взаимные блокировки процессов (deadlock) ............................................... 222 Версии данных ........................... .................... ........................................ 225 Проявления эффектов изоляции ............................................................... 227 Толстые транзакции ................................................................................. 232 Загрузка данных ......................................... ............................................ 233 Пакетная загрузка ....................... ............................................................ 234 Вставка в толстой транзакции .. .................................................... .......... 240 РСУБД и неполно структурированные данные ............................................ 241 Поддержка ХМL ......................... .................... ........................................ 242 Поддержка JSON .................................... ........ ........................................ 250 Выводы .................................................................................................... 253 Постраничные выборки ..... ........................................................................ 254 Обзор способов постраничной выборки ........................................................ 256 Тестирование способов постраничной выборки ............................................ 260 Выводы ........................................ ............................................................ 271 SQL и модульное тестирование .... .................... ........................................ 271 Место модульного тестирования в системе испытаний .. .......................... 271 Особенности разработки на процедурных расширениях SQL .................... 273 Пример задачи для модульного теста ... ........ ........................................ 273 Создаём специализированный макроязык .............................................. 276 Остановиться и оглянуться ................................................................... 283 Производительность SQL-запросов .................................... ................... 284 Общие рекомендации ...................................................................... ..... 284 Анализ плана выполнения запроса ................................... ..................... 286 Поиск узких мест ........................... ....................................................... 291 Основы нагрузочного тестирования ......................................................... 297 Инструменты и методы ......................... ............................................. ... 297 Учёт степени параллелизма ...... ......................................... ................... 301 SQL Server и MongoDB на простом тесте .................................................. 304 Тест вставки записей ................. ............................................................ 304 Запросы и хронометраж ............ ............................................................ 308 Выводы ........................................ .................... ................................... 315 Тестовые и демонстрационные базы данных .. ......................................... 315 Заключение ......................................... .................... ............................ 317 Литература .......................................... .....................................................318
Описание
Ниже — практический обзор по теме «разработки».
Даются рекомендации по выбору решений как в проектировании (архитектуре), так и в программировании автоматизированных информационных систем уровня предприятия. Книга охватывает различные этапы разработки и сопутствующие им ситуации из практики программистов приложений, работающих с системами управления базами данных. Приводятся примеры для различных СУБД и моделей: Microsoft SQL Server, PostgreSQL, Firebird, Oracle, XML, NoSQL.Для программистов, студентов и других специалистов в области информационных технологий, а также всех интересующихся темой разработки приложений баз данных.
На этом основные моменты по теме закрыты.
Поделиться
Частые вопросы
Можно ли скачать «СУБД для программиста. Базы данных изнутри» бесплатно?
Да, «СУБД для программиста. Базы данных изнутри» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF, размер файла 34,6 МБ.
Кто автор и когда вышла книга?
автор — Тарасов Сергей Витальевич, издательство Солон-пресс, год выпуска 2024, 320 страниц.
О чём книга «СУБД для программиста. Базы данных изнутри»?
Книга охватывает различные этапы разработки и сопутствующие им ситуации из практики программистов приложений, работающих с системами управления базами данных.