Сегодня мы расскажем о новой переводной книге по проектированию баз данных от автора Рода Стивенса «Основы проектирования баз данных. — 2-е изд» (Database Design Solutions, Second Edition). Это практическое руководство почти на 800 страниц по проектированию реляционных и нереляционных баз данных на разных аппаратных платформах и в кросс-платформенных окружениях. И да, речь в книге идет о формировании правильной структуры данных в БД под ваши задачи и проект, а не о разработке программной оболочки (СУБД).

Книга Основы проектирования баз данных. — 2-е изд довольно дорогая, поэтому напомним, что на все книги по компьютерным технологиям от издательств «БХВ Петербург»,» Alist» и «Фолиант» доступен промокод SSPSOFT на скидку 25% как подарок читателям Хабра от нашего блога.

Кстати, интересная библиографическая особенность — в выходных данных книги стоит 2025 год. Мы обратились в издательство за разъяснением и узнали, что книги, выходящие с сентября, маркируются уже следующим годом, и такая практика лет 20 как во всех издательствах.

Для каких IT-специальностей полезна книга?

— А нужна ли мне эта книга? Этот естественный вопрос задаст себе каждый читатель. У нас нет никакой коммерческой заинтересованности, чтобы вы эту книгу купили, но кое-какие рекомендации на основании оценки содержания книги дадим.

Начнем с общей фразы, затем конкретизируем. «Основы проектирования баз данных» будут полезны для довольно широкого круга ИТ‑специалистов благодаря энциклопедическому подходу автора к теме. Плюс книги в том, что в ней реально много упражнений к главам. Таким образом, автор дает читателям возможность получить как теоретическую, так и практическую подготовку.

Кто же эти потенциальные читатели? Конечно, в первую очередь это слушатели многочисленных ИТ-курсов и студенты технических ВУЗов:

1. Студенты учебных программ по базам данных и информационным системам.  

Для студентов, которые изучают базы данных, их наставники могут порекомендовать эту книгу как одно из must have учебных пособий. Тут все логично — автор объясняет процесс создания баз данных с нуля, от сбора требований от заказчика (бизнес-пользователей и технических отделов) до финального внедрения и поддержки. Опять таки, упражнения и практические примеры помогут закрепить прочитанное.

2. Слушатели ИТ-курсов по разработке ПО.

Если вы изучаете программирование, то знания и навыки проектирования баз данных необходимы для любой серьезной разработки ПО, и книга поможет понять, как интегрировать базы данных в backend вашего приложения.

3. Студенты, изучающие DevOps и системную инженерию.  

Для студентов, занимающихся системной архитектурой и DevOps, книга содержит полезные разделы по работе с базами данных в контексте развертывания и управления инфраструктурой. Это позволит лучше понимать, как проектировать базы данных для масштабируемых систем и как интегрировать их в облачные решения.

Теперь про пользу книги для профессиональных разработчиков, системных аналитиков, админов и инженеров DevOps уровня джун и мидл. Если помните время обучения в ВУЗе, то при изучении предметов базовой подготовки, таких как высшая математика и физика, преподаватели рекомендовали иметь при себе «Справочник по физике» или «Справочник по математике» как референтные издания, куда всегда можно заглянуть при необходимости в поисках нужной формулы или теоремы. Причем пользоваться ими не только при подготовке к экзаменам, а на протяжении всей профессиональной карьеры, и даже после (например, при занятиях с детьми-школьниками, когда надо освежить свои знания).

Аналогично, профессиональные ИТ-специалисты могут рассматривать книгу «Основы проектирования баз данных» как референтное издание, куда также можно заглянуть при необходимости, получить теоретические знания и посмотреть на практические примеры реализации структуры и других параметров БД. 

На ум приходят вот такие специальности в ИТ, для которых “Основы проектирования баз данных” будет наверняка полезны:

1. Разработчики баз данных (Database Developers)  

Для разработчиков баз данных эта книга —  источник знаний уровня “Справочник по физике” (или по математике). Начиная от основ реляционных и NoSQL систем до нормализации и интеграции бизнес-правил, разработчики найдут в книге пошаговые инструкции по созданию структур баз данных.

2. Администраторы баз данных (Database Administrators, DBA)  

Админы смогут использовать эту книгу для углубления своего понимания архитектуры баз данных, повышения навыков по таким темам как безопасность, производительность и резервное копирование БД. 

3. Программисты backend-разработки (Backend Developers)

Разработчикам серверной части приложений эта книга также пригодится. Современные приложения в массе своей опираются на базы данных для хранения и обработки информации, поэтому знание того, как правильно их проектировать, повысит качество кода. В книге рассматриваются примеры программ на Python и C#, т.е. вы получите справку по практическому применению сведений из книги для своих реальных проектов.

4. DevOps-инженеры  

DevOps-специалисты, которые работают с CI/CD системами и развертыванием баз данных, могут использовать книгу для лучшего понимания структуры баз данных и оптимизации процессов управления. Главы по темам производительности и безопасности помогут DevOps-инженерам при настройке баз данных в облачной инфраструктуре.

5. Аналитики данных и дата-сайентисты  (Analysts, Data Scientists)

Понимание проектирования баз данных критично для специалистов по данным, которые разрабатывают хранилища данных или системы для обработки Big Data.  

6. Системные архитекторы (System Architects)

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

Вот таким образом, набралось уже с десяток категорий читателей, кому книга «Основы проектирования баз данных» будет полезна. Это слушатели ИТ-курсов и студенты вузов, также и ИТ-специалисты разных специальностей и грейда (в основном джуны и мидлы), работающие с базами данных или архитектурой приложений.

Что интересного в главах

Теперь подробно рассмотрим книгу «Основы проектирования баз данных».
С оглавлением русского издания можно познакомиться здесь.

Ниже мы подготовили аннотации к 29 главам книги, — а чтобы не утруждать вас долгим чтением, часть глав идут «куском» в одной аннотации. Как и ранее в наших постах, для лучшего восприятия — отдельным предложением в каждой аннотации добавлен «сухой остаток» о пользе данной главы: 

Глава 1. Цели проектирования баз данных
Глава посвящена основам проектирования баз данных, определяя его ключевые цели. Описаны основные параметры, которые нужно учитывать при создании базы данных, включая скорость работы, согласованность данных, их безопасность и резервное копирование. Концепции ACID и BASE являются фундаментальными для понимания транзакций в базах данных. Эта глава поможет читателю оценить вклад того, как правильный подход к проектированию влияет на стабильность и производительность системы.

Глава 2. Обзор реляционных баз данных
Во второй главе представлен обзор реляционных баз данных, включая ключевые понятия — таблицы, строки, столбцы, ключи и индексы. Рассматриваются популярные реляционные базы данных и принципы их функционирования. Главным результатом прочтения станет понимание того, как функционируют реляционные базы данных и почему они остаются стандартом в мире хранения информации.

Глава 3. Обзор NoSQL
Глава посвящена базам данных NoSQL, которые набирают популярность в условиях роста объемов данных. Читатель узнает о различных типах NoSQL, включая документные, графовые, ключ-значение и столбцово-ориентированные базы данных. Также подробно рассматриваются XML и JSON, их применение для хранения данных. Глава позволит понять, в каких ситуациях NoSQL базы данных могут быть предпочтительнее реляционных, а также какие преимущества они предлагают для работы с Big Data.

Глава 4. Понимание потребностей пользователей
Здесь про то, как правильно собирать и анализировать потребности пользователей перед началом проектирования базы данных. Основное внимание уделяется работе с клиентами, расстановке приоритетов, составлению плана и пониманию требований к функциональности и безопасности системы. Как эффективно взаимодействовать с заказчиками, чтобы получить ясное представление о том, что требуется от системы. Глава поможет избежать распространенных ошибок в коммуникации с заказчиками в начальных стадиях проекта.

Глава 5. Перевод потребностей пользователей в модели данных
В пятой главе описывается процесс создания моделей данных на основе собранных требований пользователей. Читатель узнает о семантических объектных моделях и ER-диаграммах, а также научится строить модели данных, отражающие реальные потребности бизнеса. Пошаговые инструкции по созданию моделей интерфейсов и объектов,делают этот раздел полезным для тех, кто только начинает проектировать сложные структуры данных.

Глава 6. Извлечение бизнес-правил

Здесь про извлечение и описание бизнес-правил, которые необходимо учесть при проектировании баз данных. Вы узнаете, что такое бизнес-правила и как их правильно идентифицировать в рамках системы. Рассматриваются методы поиска ключевых бизнес-правил и их интеграции в структуру базы данных. Корректное понимание бизнес-логики имеет решающее значение для успешной реализации проекта.

Глава 7. Нормализация данных
Седьмая глава подробно раскрывает концепцию нормализации данных — процесса организации структуры базы данных таким образом, чтобы минимизировать дублирование и обеспечить целостность. Читатель узнает о различных нормальных формах, их преимуществах и как их использовать на практике. Это знание полезно для создания масштабируемых баз данных.

Глава 8. Проектирование баз данных для поддержки программного обеспечения
В этой главе обсуждается, как проектировать базы данных с учетом требований к поддержке ПО. Глава помогает избежать распространенных ошибок при интеграции базы данных в программные решения.

Глава 9. Использование общих шаблонов проектирования
Девятая глава посвящена использованию шаблонов проектирования баз данных, таких как ассоциации «многие ко многим», иерархические и сетевые структуры данных. Читатель узнает, как работать с много-объектными ассоциациями, рефлексивными ассоциациями и как проектировать базы данных для работы с иерархиями и временными данными. Материал главы полезен для тех, кто сталкивается со сложными структурами данных и хочет выполнить оптимизацию работы базы данных.

Глава 10. Предотвращение распространенных ошибок проектирования
Эта глава акцентирует внимание на типичных ошибках, которые допускают разработчики при проектировании баз данных. Полезно учитывать факторы недостаточной нормализации, неправильной документации, ошибок в именовании и других аспектах, которые могут привести к проблемам в дальнейшем.  

Глава 11. Определение потребностей пользователей
В одиннадцатой главе продолжается тема взаимодействия с пользователями и сбора требований для проектирования базы данных. Как правильно определять, какие данные нужны для пользовательского интерфейса и как выявлять источники данных. Глава помогает получить навыки в том, как перевести ожидания пользователей в форму четкого технического задания для разработки.

Глава 12. Построение модели данных
В этой главе подробно разбирается процесс построения модели данных на основе ранее собранных требований. Читатель научится создавать семантические объектные модели, ER-диаграммы и реляционные модели. Глава фокусируется на практических методах создания и улучшения моделей данных с большим количеством взаимосвязей.

Глава 13. Извлечение бизнес-правил
Эта глава вновь обращается к теме бизнес-правил, но в контексте построения новых реляционных моделей данных. Это про построение таблиц на основе бизнес-правил, чтобы обеспечить целостность данных и соответствие бизнес-логике. 

Глава 14. Нормализация и уточнение
14-я глава посвящена практическому применению нормализации для улучшения гибкости базы данных. Как проводить нормализацию на различных этапах проектирования, начиная с первой и заканчивая третьей нормальной формой. Глава поможет разработчикам улучшить структуру баз данных, обеспечив их соответствие стандартам.

Вот с этого места мы, пожалуй, ускоримся с аннотациями, а то вы, наверно, уже как минимум заскучали ?.

Главы 15–25. Примеры программ и углубленное изучение баз данных

Эти главы представляют собой набор практических примеров, иллюстрирующих, как использовать базы данных MariaDB, PostgreSQL, Neo4j, MongoDB и Apache Ignite на языках программирования Python и C#. Читатель узнает, как проектировать базы данных для реальных приложений, интегрировать их с различными системами и выполнять запросы к базам данных. Главы полезны для разработчиков, которые хотят получить практические навыки работы с современными СУБД и освоить их интеграцию в проекты.

Главы 26–29. Расширенные темы и обслуживание баз данных

Заключительные главы книги раскрывают темы, связанные с обслуживанием, безопасностью и оптимизацией производительности баз данных. Здесь о том, как правильно организовать резервное копирование, повысить производительность базы данных и защитить её от взлома. Предлагаются конкретные шаги для внедрения стандартов безопасности и улучшения надежности работы базы данных, что критично для разработки масштабируемых и защищенных систем.

В книге также есть очень полезные Приложения с огромным набором упражнений. Кто их все проработает — будет большой молодец ?.  

Заключение

Основы проектирования баз данных. — 2-е изд” — это книга уровня энциклопедии по проектированию баз данных, которая охватывает широкий спектр тем, включая нормализацию, проектирование реляционных баз данных, работу с диаграммами сущность-связь (ERD), а также оптимизацию баз данных.

Издание будет полезным как для новичков, так и для более опытных разработчиков, которым нужно освежить знания или получить практические рекомендации по проектированию БД. Примеры и упражнения дополняют теорию получением практических навыков.

Добавим каплю рекламы от нашего блога.
У нас хорошая новость — открылся офис для разработчиков в самом центре Москвы. Но и удаленка тоже в приоритете. SSP SOFT приглашает на позиции инженеров QA и DevOps, системного аналитика, аналитика данных, разработчиков на Java, JS, React и Python, 1С — см. страницу на hh.ru. Если вашей специальности нет в текущих вакансиях, все равно присылайте резюме, т.к. новые позиции в командах открываются еженедельно (пишите в Telegram или на почту job@ssp-soft.com).

Успехов в изучении книги и практическом применении знаний при создании баз данных!

Комментарии (1)


  1. fpinger
    27.10.2024 21:17

    Нет электронной версии ((