Before you can begin to design a database you must understand the underlying concepts and theories of why databases are used and how they are created. In this article, Steve gives us a great explanation of what a database is, the relational database model, metadata and indexes, the database management system and structured query language.
Introductory Database Theory: Systems And Design - Metadata and indexes (Page 4 of 6 )
In short, Metadata describes the database. It is a table that describes all other tables, columns and rows within the database. Metadata is especially useful to analyze the database in a logical and understandable fashion, and allows new database administrators to get a feeling of the organization of that database fairly quickly.
You can think of metadata as a libraries catalog system, describing where books are located and in which sections. It does not contain the contents of each book; only information about where the book is located and some of its characteristics. Those who are familiar with programming can relate metadata to data dictionaries.
Similarly, indexes are used to show the relationships between data in different tables. Indexes improve the performance of the data because queries can simply search the index instead of the entire database. Let's take our congressmen/law example above and make a simple index.
So, if we attempted to find out what laws that the congressmen with Con_ID 3 initiated, then instead of searching the entire database for every record with a Con_ID of 3, we can simply search the index and find one single record with the respective laws listed in the next column.