Chapter 1. Basic Concepts
So, what is this mythical creature called a relational database? Briefly, a database is a tool for storing and manipulating information efficiently and effectively. "Efficiently and effectively" means that the data is protected from accidental loss or corruption, that it doesn't use more resources (human or computer) than necessary, and that it can be retrieved in sensible ways within acceptable performance constraints. To qualify as relational, the database must implement the relational model, which is a way of describing some aspect of the real world according to a set of rules first proposed by Dr. E. F. Codd in the late 1960s.
In theory, a relational database could be coded from scratch, but in reality you'll normally use the services of a database management system (DBMS). A DBMS is sometimes called a relational database management system (RDBMS), but technically a DBMS must meet some 300 rules to qualify as relational, and, to the best of my knowledge, no commercially available system fully qualifies. The two database management systems we'll be examining in this book are Microsoft Jet and Microsoft SQL Server.
I've said that a relational database is the physical implementation of the relational model (the data model), and it's important to keep these two concepts distinct. As we'll see in Part II, the dimensional model can also be implemented on a relational DBMS, and if you muddy the conceptual and physical, you'll get yourself hopelessly confused. (And yes, that is the voice of experience!)