Whenever you are working with a relational database management system such as MySQL, the first step in creating and using a database is to establish its structure. Database design, aka data modeling, is crucial for successful long-term management of your information. Using a process called normalization, you carefully eliminate redundancies and other problems that will undermine the integrity of your data.
The techniques you will learn in this chapter will help to ensure the viability, performance, and reliability of your databases. The example I will usea record of business transactions such as invoices and expenseswill be referred to in later chapters, but the principles of normalization apply to any database you might create.
Database design is equal parts art and science; learning, and eventually mastering, this skill is necessary to ensure the long-run reliability of the information you store. The technique taught in this chapter will not be MySQL-specificin fact, you will not use any MySQL tools here at allbut is just as important as anything else covered in the book.