 |
Refactoring Databases: Evolutionary Database Design
Read an excerpt:
Chapter 1: Evolutionary Database Development
Excerpt provided courtesy of Addison-Wesley Professional. Copyright © Pearson Education, Addison-Wesley Professional. Written permission from the publisher is required for any use of this material.
|
Customer Reviews: 1 Average Customer Rating:      Write a Review and tell the world about this title! People who purchase this book frequently purchase: - Refactoring: Improving the Design of Existing Code; Martin Fowler, et al, $46.50, 22% Off!
- Introducing Microsoft LINQ; Paolo Pialorsi, et al, $21.95, 37% Off!
- Continuous Integration: Improving Software Quality and Reducing Risk; Paul Duvall, et al, $34.95, 22% Off!
- Domain-Driven Design: Tackling Complexity in the Heart of Software; Eric Evans, $46.95, 22% Off!
Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:
Refactoring has proven its value in a wide range of development projects --
helping software professionals improve system designs, maintainability, extensibility,
and performance. Now, for the first time, leading agile methodologist Scott
Ambler and renowned consultant Pramodkumar Sadalage introduce powerful refactoring
techniques specifically designed for database systems.
Ambler and Sadalage demonstrate how small changes to table structures, data,
stored procedures, and triggers can significantly enhance virtually any database
design -- without changing semantics. You'll learn how to evolve database schemas
in step with source code -- and become far more effective in projects relying
on iterative, agile methodologies.
This comprehensive guide and reference helps you overcome the practical obstacles
to refactoring real-world databases by covering every fundamental concept underlying
database refactoring. Using start-to-finish examples, the authors walk you through
refactoring simple standalone database applications as well as sophisticated
multi-application scenarios. You'll master every task involved in refactoring
database schemas, and discover best practices for deploying refactorings in
even the most complex production environments.
The second half of this book systematically covers five major categories of
database refactorings. You'll learn how to use refactoring to enhance database
structure, data quality, and referential integrity; and how to refactor both
architectures and methods. This book provides an extensive set of examples built
with Oracle and Java and easily adaptable for other languages, such as C#, C++,
or VB.NET, and other databases, such as DB2, SQL Server, MySQL, and Sybase.
Using this book's techniques and examples, you can reduce waste, rework, risk,
and cost -- and build database systems capable of evolving smoothly, far into
the future.
Table of Contents
About the Authors xv
Forewords xvii
Preface xxi
Acknowledgments xxvii
Chapter 1: Evolutionary Database
Development 1
Chapter 2: Database Refactoring 13
Chapter 3: The Process of Database
Refactoring 29
Chapter 4: Deploying into Production 49
Chapter 5: Database Refactoring
Strategies 59
Chapter 6: Structural Refactorings 69
Chapter 7: Data Quality Refactorings 151
Chapter 8: Referential Integrity
Refactorings 203
Chapter 9: Architectural Refactorings 231
Chapter 10: Method Refactorings 277
Chapter 11: Transformations 295
Appendix: The UML Data Modeling Notation 315
Glossary 321
References and Recommended Reading 327
Index 331
About the Author
Scott W. Ambler is software process improvement (SPI) consultant living just
north of Toronto. He is founder and practice leader of the Agile Modeling (AM)
www.agilemodeling.com, Agile Data (AD), Enterprise Unified Process (EUP), and
Agile Unified Process (AUP) methodologies. He helps organizations adopt and
tailor these processes to meet their exact needs as well as provides training
and mentoring in these techniques.
Scott is the (co-)author of several books, including The Enterprise Unified Process,
The Practice Guide to Enterprise Architecture, The Elements of UML 2.0 Style,
and the forthcoming Refactoring Databases. Scott is a contributing editor with
Software Development magazine (http://www.sdmagazine.com).
Scott's personal page is http://www.ambysoft.com/scottAmbler.html and his writings
are linked to at http://www.ambysoft.com/onlineWritings.html, many of which
are published in full on the web. In his spare time Scott studies the Goju Ryu
and Kobudo styles of karate. Scott has spoken and keynoted at a wide variety
of international conferences including Software Development, UML World, Object
Expo, Java Expo, and Application Development. Scott graduated from the University
of Toronto with a Master of Information Science.
Customer Reviews
Customer Reviews: 1 Average Customer Rating:      May 8, 2006     Mike Cohn from Boulder, CO Excellent refactoring reference and eye-opening book This is an excellent book that, in my opinion, serves two purposes. First, it is a compendium of well thought-out ways to evolve a database design. Each refactoring includes descriptions of why you might make this change, tradeoffs to consider before making it, how to update the schema, how to migrate the data, and how applications that access the data will need to change. Some of the refactorings are simple ones that even the most change-resistant DBAs will have used in the past (Add index). Most others (such as Merge tables or Replace LOB with Table) are ones many conventional thinking DBAs avoid, even to the detriment of the applications their databases support.
This brings me to the second purpose of this book. Many DBAs view their jobs as protectors of the data. While that is admirable, they sometimes forget that they are part of a software development team whose job is to provide value to the organization through the development of new (and enhancement of existing) applications. One of the best DBAs I ever worked with viewed himself as a Data Valet. He said his job was to make sure the data was presented to applications when and where they wanted and to protect the doors from getting dinged while under his care. Through its first five chapters and then the refactorings that follow, this book will help DBAs expand their view of their role in the organization from one of simply protecting data to one of enhancing the value of data to the organization.
This book is one that youll keep on your reference shelf for many years to come. Highly recommended.
|
 |