We have endeavored to ensure that this book didn't get lost in theory, buried in formalism, or trivialized by unrealistic, contrived examples. Thus, at times we may run contrary to the purists. That's OK. The approach we take is to introduce the use of UML for database design in a stepwise fashion, for each phase of the system development life cycle. We move from business modeling at the beginning of the life cycle to database design at the end. We show how the UML applies to the process and the value it provides to the database designer in each phase. A robust, realistic case study (described in Chapter 2) helps demonstrate how to use the UML and how to handle challenges that you may encounter during your real-world projects.