As soon as one freezes a design, it becomes obsolete.
This chapter overviews the fundamental concepts behind database refactoring, explaining what it is, how it fits into your development efforts, and why it is often hard to do successfully. In the following chapters, we describe in detail the actual process of refactoring your database schema.
In Refactoring, Martin Fowler (1999) describes the programming technique called refactoring, which is a disciplined way to restructure code in small steps. Refactoring enables you to evolve your code slowly over time, to take an evolutionary (iterative and incremental) approach to programming. A critical aspect of a refactoring ...