- Shopping Bag ( 0 items )
Foreword by Douglas K. Barry.
About the Author.
Part One: Setting the Foundation.
Chapter 1: The Agile Data Method.
Chapter 2: From Use Cases to Databases — Real-World UML.
Chapter 3: Data Modeling 101.
Chapter 4: Data Normalization.
Chapter 5: Class Normalization.
Chapter 6: Relational Database Technology, Like It or Not.
Chapter 7: The Object-Relational Impedance Mismatch.
Chapter 8: Legacy Databases — Everything You Need to Know But Are Afraid to Deal With.
Part Two: Evolutionary Database Development.
Chapter 9: Vive L’ Évolution.
Chapter 10: Agile Model-Driven Development (AMDD).
Chapter 11: Test-Driven Development (TDD).
Chapter 12: Database Refactoring.
Chapter 13: Database Encapsulation Strategies.
Chapter 14: Mapping Objects to Relational Databases.
Chapter 15: Performance Tuning.
Chapter 16: Tools for Evolutionary Database Development.
Part Three: Practical Data-Oriented Development Techniques.
Chapter 17: Implementing Concurrency Control.
Chapter 18: Finding Objects in Relational Databases.
Chapter 19: Implementing Referential Integrity and Shared Business Logic.
Chapter 20: Implementing Security Access Control.
Chapter 21: Implementing Reports.
Chapter 22: Realistic XML.
Part Four: Adopting Agile Database Techniques.
Chapter 23: How You Can Become Agile.
Chapter 24: Bringing Agility into Your Organization.
Appendix: Database Refactoring Catalog.
References and Suggested Reading.
Posted March 20, 2004
If you have some interest in the Agile Software development methodologies then you should know Scott W. Ambler already and probably have read his another excellent book: Agile Modeling: Effective Practices for Extreme Programming and the Unified Process. When I was reading ¿Effective Practices ¿¿ I started highlighting sentences which I would like to say myself and then stopped because I quickly realized that I am about to highlight the entire book. Even I did not try highlighting entire ¿Agile Database Techniques¿ book; I still have bookmarked many pages and wrote many notes on pages. It is very interesting book not only because it describes technical aspects of agile approach to database techniques but also because it describes certain political and psychological aspects of software development. For example there is a chapter about ¿Bringing Agility into Your Organization¿ and about ¿Blocking NonAgile Coworkers¿. Also the book fills that ¿artificial¿ gap between Object Oriented and RDBMS worlds. By some reasons OO world has alienated itself from RDBMS by marking all that as ¿Legacy¿ with shadow of negative meaning, and this book makes great job of explaining why it should not be like that. I am wholeheartedly agree with Scott that ¿every developer should know basics of data modeling¿ and I think that the book is a very suitable introduction to the word of Data Modeling and RDBMS specific. So, if you are not very comfortable with Data Modeling I suggest you looking straight into chapter that tells about common signs of bad design and make sure that you cannot recognize them in your database schema design. There is an interesting chapter named ¿Why Data Schemas Should Not Drive Object Schemas¿ which will talk about the topic but then says: ¿ Actually, it is not such a bad idea, as long as you are tacking an iterative and incremental approach; the real problem is the big design up front (BDUF) approach that many data professionals seem to prefer .¿ It was a great relief for me personally to read those Scott's words because I am a long believer in the fact that proper DB schema may and should drive class model and artificial differences do more harm then good even when it is necessary to sacrifice purity of OO design for the sake of smooth DB mapping. Seasoned data modelers and novices alike might find chapters about ¿Data Normalization¿ to be very useful: one will find clear and compressed explanation of database normalization process and others may use the chapters as references when communicating with less experienced colleagues. Scott does great job by taking a denormalized Lotus Notes style table and explaining step-by-step how to normalize it and why it is beneficial. DB specialists: please do not rush defending denormalization and RDBMS performance improvement tricks! Scott W. Ambler talks a lot about benefits of denormalization as well, and he always suggests balanced approach to the modeling with careful consideration of all aspects. Proponents of raw database access and users of persistence framework alike can be benefited from reading Chapter #14: Mapping Objects to Relational Databases . Fellow Agile Developers find in the book wise advices of the experiences consultant regarding dealing with database refactoring and surrounding issues. I have read it twice and would recommend it to any developer who wants to grow and eventually become a ¿ Generalizing Specialist ¿.Was this review helpful? Yes NoThank you for your feedback. Report this reviewThank you, this review has been flagged.
Posted June 10, 2010
No text was provided for this review.