How does the database know where all of these tables are
located? Well, behind the scenes, the database maintains
a "data dictionary" (a.k.a. catalog) which contains a list of
all the tables in the database as well as pointers to their
Essentially, the data dictionary is a table
of tables containing a list of all the tables in the database,
as well as the structure of the tables and often, special
information about the database itself.
When you use SQL to talk to the database and
provide a table name, the database looks up the table you referred
to in the data dictionary. Of course, you needn't worry about
the data dictionary; the database does all the searching itself.
As we said before, you just need to know the name of the table you want
to look at.
It is interesting to note that
because the data dictionary is a table,
in many databases, you can even query the data
dictionary itself to get information about your
environment. This can often be a very useful tool when
exploring a new database.
Okay, so how do you actually grab table
data using the data dictionary? Well, in an SQL database
you create "views". Let's examine views a bit.