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

978-2-7466-7383-0

Главная  » Научно-техническая литература » Информационные технологии. Компьютеры » Интернет, Интранет, компьютерные сети » Разработка для Интернет » СУБД для программиста. Базы данных изнутри

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


серия: Библиотека профессионала
Солон-пресс, 2015 г., 978-2-7466-7383-0


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

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

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

Книга охватывает различные этапы разработки и сопутствующие им ситуации из практики программистов приложений, работающих с системами управления базами данных. Даются рекомендации по выбору решений как в проектировании (архитектуре), так и в программировании автоматизированных информационных систем уровня предприятия. Приводятся примеры для различных СУБД и моделей: Microsoft SQL Server, PostgreSQL, Firebird, Oracle, XML, NoSQL. Для программистов, студентов и других специалистов в области информационных технологий, а также всех интересующихся темой разработки приложений баз данных.

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

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

Ключевые слова


  PostgreSQL   noSQL 


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



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

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


Об авторе


Отзывы

алгоритмы плюс структуры данных  [ 9 November 2015]
Автор данной книги, Сергей Тарасов, может быть известен Вам по книге "Дефрагментация мозга. Софтостроение изнутри", которая была посвящена подходам, тенденциям и проблемам объектно-ориентированного программирования корпоративных информационных систем. Теперь же автор обратил внимание на такую актуальную тему, как работа с базами данных, и отразил свой опыт в книге "СУБД для программиста. Базы данных изнутри", что вполне закономерно: как написано во введении этого издания, по классическому определению Никлауса Вирта «программы – это алгоритмы плюс структуры данных». Вопросам организации данных и методам работы с ними и посвящена данная книга. Она является учебным пособием, объясняющим основные концепции современных СУБД, а так же содержит примеры задач, которые могут встретиться начинающему (и не только) программисту при работе с базами данных. Рассматриваемые задачи, как и в предыдущей книге автора, так же касаются по большей части корпоративных информационных систем.
Плюсами книги является ее практическая направленность, а так же энциклопедичность: в ней уделяется внимание таким современным базам данных, как Microsoft SQL Server, Oracle, Firebird, PostgreSQL, MySQL а так же NoSQL и MongoDB. Так же рассматриваются модели организации данных с помощью широко используемой спецификации XML. Редко можно встретить книгу, где так отражена информация по различным БД, и, думаю, такой подход поможет в развитии у читателя навыков системного мышления. Книгу можно порекомендовать и как учебник для студентов специальностей в области информационных технологий - например, Тамбовский государственный технический университет предлагает ее в перечне основной рекомендуемой литературы для подготовки к государственному экзамену по модулю «Базы данных».
Затрагиваемые в книге темы довольно широки. Описываются и базовые вопросы, такие как основные архитектуры и модели данных, используемые при проектировании приложений, нормальные формы и способы денормализации («звезда»\«снежинка»), типы соединений таблиц, уровни чтения данных, блокировки. Разбираются и более продвинутые темы, такие как оптимизация запросов, организация модульного и нагрузочного тестирования приложений (unit testing\load testing), особенности использования NoSQL-СУБД, работа с XML и JSON, многомерные модели данных. Уделено внимание проектированию физического хранения данных, и организации системы хранения исходного кода. Отдельная глава посвящена объектной модели и объектно-реляционной проекции, которая часто используется при разработке Java приложений.
В книге рассматриваются решения таких типовых задач, как реализация деревьев, работа с хронологическими данными, поддержка нескольких языков в приложении, аудит объектов, загрузка больших объемов данных, использование неполно структурированных данных в реляционных СУБД, и других. В зависимости от условий решаемой задачи, даются рекомендации в выборе той или иной технологии, показываются плюсы и минусы различных реализаций. Для большинства задач приведен исходный код на том или ином диалекте SQL. Справедливости ради стоит заметить, что, все-таки, большинство приведенных задач реализовано на диалекте Transact SQL, а рассматриваемые темы обычно иллюстрируются на примере СУБД Microsoft SQL Server. Видимо, автор имеет больший опыт работы с данной СУБД, чем с другими.
Книга написана живым языком, в ней приводятся интересные исторические факты, например, история появления реляционной модели данных, откуда пришел в СУБД термин «транзакция», истоки популярного сейчас термина «большие данные» (big data), пример советской СУБД, реализующей сетевую модель данных, или описание высоконагруженной распределенной системы, использовавшейся, опять же, еще во времена СССР.
Из минусов можно выделить то, что местами книга напоминает сборник статей на различные темы, связанные с СУБД; и, как упоминалось выше, в ней уделяется больше внимания СУБД Microsoft SQL Server, почти не затрагивая особенностей таких широко используемых корпоративных СУБД, как Oracle DBMS, или IBM DB2. Например, в СУБД Oracle уже есть встроенные средства для работы с иерархическими структурами (деревьями), и удобнее использовать их вместо приведенных общих алгоритмов. Так же реализованы в СУБД Oracle и средства аудита, реестра объектов метаданных (словарь данных), безопасности и разделения доступа к данным, и т.д. В целом, следует понимать, что данная книга не заменяет документации или специализированных книг, целиком посвященной какой-то конкретной СУБД, с ее тонкостями и детальным описанием возможностей. При работе с определенной СУБД необходимо изучать литературу, посвященную именно ей.
Хотелось бы увидеть продолжение книги, где был бы сделан уклон на выбор систем для задач аналитики: организацию хранилищ данных для предприятий, описание современных поколоночных (column-oriented) баз данных (Vertica, GreenPlum, …), рассмотрение аппаратно-программных комплексов для обработки и анализа данных, таких как Teradata или Exadata. Можно более подробно коснуться технологий big data и NoSQL, рассказать о реальных задачах бизнеса, в решении которых данные технологии помогают, более подробно объяснить их основополагающие концепции, например, алгоритмы MapReduce. Можно так же уделить внимание методам интеллектуального анализа данных (Data Mining), и визуализации данных.
В заключении хочу сказать, что рад появлению еще одной книги на тему баз данных от российского автора - таких книг не много, и обычно на полках магазинов мы можем встретить переводы трудов зарубежных специалистов. Поэтому выход каждой такой книги можно считать событием.

Последние поступления в рубрике "Разработка для Интернет"



Легкий способ выучить Python 3 еще глубже Легкий способ выучить Python 3 еще глубже Шоу З.

Воплотите ваши идеи в код самого высокого качества! Зед Шоу – один из тех, кто по-настоящему разбирается в Python. Его советы помогли миллионам программистов по всему миру, помогут они и вам. От вас потребуется лишь дисциплина, желание и упорство, все......

Разработка веб-приложений с помощью Node.js, MongoDB и Angular. Исчерпывающее руководство по использованию стека MEAN Разработка веб-приложений с помощью Node.js, MongoDB и Angular. Исчерпывающее руководство по использованию стека MEAN Дейли Б.

Node.js является главной средой для программирования на стороне сервера, MongoDB — самой распространенной базой данных типа NoSQL и Angular— ведущим каркасом для разработки веб-приложений на стороне клиента по шаблону MVC. Совместно они образуют легко......

Программирование GPU при помощи Python и CUDA Программирование GPU при помощи Python и CUDA Тоуманнен Б.

Книга предлагает быстрое погружение в программирование GPU. Вы узнаете, как применять закон Амдала, использовать профилировщик для определения узких мест в коде на Python, настроить окружения для программирования GPU. По мере чтения вы будете......

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