Рефакторинг баз данных. Рецензия. Версия для печати 29/08/08

Рефакторинг Баз Данных
Название: Рефакторинг баз данных
Автор: Скотт В.Эмблер, Прамодкумар Дж. Садаладж
Издатель: Вильямс
Год: 2007
ISBN: 978-5-8459-1157-5

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

Авторы руководствуясь опытом разработки и сопровождения больших приложений уровня предприятия, систематизировали основные приемы рефакторинга БД. Основной посыл книги: разработка и изменение БД должны носить эволюционный характер! Как рефакторинг кода так и рефакторинг БД должен сопровождаться тестированием: основные принципы TDD применимы и к БД и настоятельно рекомендуется их использовать.

Принципиально отличие Базы Данных (предполагается уровень enterprise) от отдельно используемого приложения состоит в том, что время рефакторинга и последующего внедрения измениний может продолжаться некоторое время - измения схемы данных тянут за собой изменения приложений их использующих. Поэтому при рефакторинге БД, схема данных проходит три состояния:

И в каждый момент времени база должна быть доступна и не противоречива!

Авторы выделили 4 основных класса изменений баз данных:

Каждый раздел подробно описываются все возможные случаи. И эта "подробность" немного утомляет (ага! вот и ложка дегтя), но книгу следут рассматривать как справочник и обращаться к ней по мере необходимости. Книга вышла в замечательной серии "A Martin Fowler Signature Book" и авторы явно находились под влиянием блестящей книги Мартина Фаулера «Архитектура корпоративных программных приложений». Одним словом отличное пополнение коллекции одним словом :)

Книга «Рефакторинг баз данных» в интернет магазинах

| Оставить комментарий

Комментарии

  1. Ник 02/10/08 11:01 

    Круто! Очень актуальная книга – для меня как раз тема эволюции БД всегда казалась одной из самых запутанных: овладеть чёткой методикой рефакторинга после выхода первой версии – это ценный навык.

    ЗЫ прикрути в блоге OpenID-авторизацию)

  2. Ник 02/10/08 11:06 

    Кстати, порадовала примочка от Микрософт – Entity Framework, позволяет адаптировать приложение к изменениям в БД простым переписыванием конфиг-файла, без перекомпиляции.
    Правда, в книге были примеры лишь с переименованием столбцов, а вот если какую-нибудь табличку распределить по двум, или наоборот, декомпозицию сделать, то блин не факт, что эта штучка поможет :-)) Придётся предварительно все обращения к табличкам оборачивать в хранимки, которые выдают более близкие к бизнес-слою структуры данных.
    Надеюсь, что-нибудь понятно из моего путаного изложения))

  3. InvisibleMan 02/10/08 14:42 

    Собственно, книга по сути справочник того, в какой последовательности и какие шаги предпринимать для решения задач, которые ты описал.
    Только я не совсем понял что значит «первой версией». Какого продука.
    OpenID в планах стоит – обязательно за него возьмусь.

  4. Roman 05/06/09 18:36 

    Внимательно ли Вы читали данную книгу? Автор в качестве примеров использует Oracle, и в тоже время не знает, что в данной СУБД поле в таблице не может иметь тип boolean…

  5. InvisibleMan 05/06/09 22:11 

    Roman, возможно не слишком внимательно… К сожалению я сам не работал с Oracle. Спасибо за ремарку!

Оставить комментарий
Подписаться на комментарии


Последние статьи

Opml.xml

Rss

About

MeМеня зовут Денис Ларионов.
Работаю программистом. Мне есть что рассказать про: web-бизнес, маркетинг, программирование.

RSS

Я - Слушаю подкаст Radio-T