Chapter 2. Database Structure

This chapter discusses the first facet of designing relational database models: the structure of the relations themselves. The primary goal of this design phase is simple: to ensure that the model is capable of answering every question that might reasonably be asked of it. The secondary goal is to minimize redundancy and the problems associated with it. We’ll examine these two issues in reverse order.

Eliminating Redundancy

Redundancy wastes resources and, more importantly, it makes life a lot harder. Take, for example, the recordset shown in Figure 2-1, representing a company’s invoices. (Assume, for the moment, that this recordset is a base table that is explicitly stored in the database, not the result of a query.) ...

Get Designing Effective Database Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.