Daniel Mendes has a Bachelors degree in Computer Science and ten years of experience in software development. He has worked in several countries and various industries, from Fashion to Molding. He has applied his skills to many technologies, from web and graphical design to database programming, and for the past two years has focused on developing J2ME applications. He is currently working on his masters degree in computer science and is involved in 3D mobile development.
| Author(s) | Clare Churcher |
|---|---|
| Publisher | Apress |
| PubDate | Jan 2007, 1st Edition |
| Reviewer | Daniel Mendes |
![]() |
Purchase and help Javalobby |
|
This book is intended to novice database designers, and SOHO users of Access and other consumer oriented database products. Still most of the material can still be of use to the professional database designer that uses Enterprise level databases like Oracle, MSSQL and other such advanced system. The book focus on good design methodologies in a trial and error aproach that is illustrative of the way most of us would create a database if we had not had any training or previous courses on the topic, like is so many times the case in academic and non IT curricula, like professors, CPAs, and other professionals that have not had any training on the topic of Database Design.
All that one needs to create a database to be used by a single user or a small group of people. The book uses Real Life examples and experiences that the author shares throughout the whole book. A comprehensive subset of database design, uml modeling and a large dose of common sense is what this book has to offer. The reader will not become a professional database designer, but will acquire a solid foundation to approach with confidence more advance database topics.
CHAPTER 1 (What could go wrong) - Serves as motivation for the rest of the book, explains the common pitfalls associated with developing databases for the immediate needs, instead of developing use cases and a proper data model.
CHAPTER 2 (Guided Tour of the Development Process) - Clare uses the 4 step development model - The software process (based on Zelkowitz et al., 19791) - as the foundation of the thought process necessary to create a database (Initial Problem Statement; Analysis and Simple Data Model; Design; Implementation) . Introduction of UML to develop use cases and database architecture via class diagrams, Relations are covered in a high-level, and so are Forms and Reports. The whole chapter is an overview of the solution process.
CHAPTER 3 (Initial Requirements and Use Cases) - knowing how and what questions to ask is the focus of this chapter. Collect the data from the real world (oral or paper forms) and implement it in the abstract world where a database lives. Getting into the head of the users, define scope, create input use cases and a simple data model.
CHAPTER 4 (Learning from the Data Model)- consist of a series of examples about relationships between entities. Optionality, cardinality and many to many are topics of discussion, illustrated by several real world examples.
CHAPTER 5 (Developing a Data Model)- goes into the data model creation and modification, with the most common recurring problems, and solutions in mind, "It is never possible to say that a given data model is the correct one. We can only say that it meets the requirements of a problem within a given scope...", providing the reader some gunpowder to solve tricky situations.
CHAPTER 6 (Generalization and Specialization)- are two techniques essential to master and this chapter again uses real world examples, to solve issues in the domain of OOD (object Oriented Design), inheritance as a way to model/solve problems. Clare's explanations are clear and easy to follow.
CHAPTER 7 (From Data Model to Relational Schema)- we start to get an idea of the implementation of the data model in a relational database, SQL code is provided to create the proper tables and relations, and a few examples using Access and phpMyAdmin (Mysql), are provided, in the summary there is a recipe to follow. A small introduction on how to runs SQL statements in these products would have been good use of a couple of pages, as is, the reader is left out to figure it out for himself.
CHAPTER 8 (Normalization)- the other path, and the one usually followed by DB people is to use the Normalization Forms to do Table creation. "we have arrived at the same solution via two routes: thinking about the classes and their relationships or considering the functional dependencies and normalization.". What Claire is saying here is that if you master Normalization you can become a DB guru, but if you understand how to model data, you not only can apply that to database, but also to programming.
CHAPTER 9 (More on Keys and Constraints)- picking the right fields as keys and constraining data entries to your database is essential in keeping it pristine and useful (without errors or duplicate records). This chapter is a must read, one of the most valuable in the book.
CHAPTER 10 (Queries)- this chapter deals with getting information out of our tables, by querying the database, how to count, do averages, order, join, etc. on more than one table. Indexing is also covered with some detail, as is creating views. The commands to do this are mostly SQL statements/code. All in all it is a good primer on about 80% of the most common tasks anyone does in a database.
CHAPTER 11 (User Interface)- covers Forms and Report creation using mainly the Access DB product. How to handle grouping and summarization, unfortunately it does not go into much detail on how to customize and do more advanced formatting.
CHAPTER 12 (Other Implementations)- this chapter is a bit ambitious, it tries to summarize the whole book and apply the skills to use in a OO environment (a generic environment) that can then be translates into a OO language like Java or C# or a OO database, overall it is a good exercise but it does not add much to the pragmatic programmer. The second part of the chapter offers a nice primer, on how to use Excel to maintain your data instead of a full fledge database (there's also a book from Apress dedicated to this topic Excel as your Database ).
*Conclusion - a bit unusual, we have a conclusion at the end of the book, that gives us an overview of the whole book, and what we learned. It is a nice touch.
This book is at times brilliant and valuable. Very well researched with great references, it lacks mostly in practical content, it would have been preferable to use a database like MySQL or Access in all examples, instead of trying to be too generic. For the novice in database creation, this book offers some great ideas and techniques on WHY to build a database (data model) but not HOW to do it. for the HOW you need to look up your database product manual or try a different book.
| Relevance | |
|---|---|
| Readability | |
| Overall | |
http://apress.com/book/bookDisplay.html?bID=10227 - Apress oficial book site.