CHAPTER 9
Users often have a good understanding of their data needs but are not sure how to express it or put it into a database. Users are concerned with running their business, while developers are concerned with creating a robust database system. In this book, we covered the steps necessary to get from user information into a database system.
Each database management system has its nuances, and while SQL itself is a general language, each vendor will likely have features unique to their product. If you are working in a single DBMS, you can apply these nonstandard vendor features and improve your design. If you need to build a system that works across different database product, make sure your basic design of tables and views use standard SQL.
It seems like a lot of work to design various models, normalize database schemas, figure out view and indexes, and so on. However, a robust database design will save time in the long run, and likely it will prevent those emergency requests, like if a product is shipped to the wrong address, or a client needs to add more children to the family record, for example.
Be sure to talk to the right people and get the conceptual model very well defined before you start the logical model. Define the logical normalized model before you create the database (physical model)—you’ll be glad you did!