Database Reference
In-Depth Information
The Relational System
Welcome to the section of the topic where we start to cover advanced features.
The relational system allows users to work more closely with phpMyAdmin,
as we will see in the following chapters. This chapter explains how to define
inter-table relations. It also explains how to install the linked-tables
infrastructure—a prerequisite for the advanced features.
Relational MySQL
When application developers use PHP and MySQL to build web interfaces or other
data manipulation applications, they usually establish relations between tables using
the underlying SQL queries. Examples of this would be: "get an invoice and all its
items" and "get all topics by an author".
In the first versions of phpMyAdmin, MySQL stored information about which table
belonged to which database. However, the relational data structure (how tables
relate to each other) was not stored into MySQL. Relations were temporarily made
by the applications to generate meaningful results. In other words, the relations were
in our head.
This was considered a shortcoming of MySQL by phpMyAdmin developers and
users. Hence, the team started to build an infrastructure to support relations for
MyISAM tables. The infrastructure evolved to support a growing array of special
features. We can describe this infrastructure as
metadata
, that is, data about data.
phpMyAdmin 2.2.0 already had the
bookmarks
feature, that is, the ability to recall
frequently used queries (described in Chapter 14), and version 2.3.0 generalized the
metadata system. Subsequent versions were built on this facility. Examples of this
would be: the 2.5.x family with its MIME-based
transformations
(as described in
Chapter 16) and the 2.10.x family with a graphical relation builder called
Designer
(
described in this chapter).
Search WWH ::
Custom Search