Joins and the Relational Model

The join operation is the hallmark of the relational model of database management. More than any other feature, the join distinguishes relational database management systems from other types.

In structured database management systems (often known as network or hierarchical systems), relationships between data are predefined. Once a database has been set up, it is difficult to make queries about unanticipated relationships among the data.

On the other hand, in a relational database management system, relationships among data are left unstated in the definition of a database. They become explicit when the data is manipulated ¾ when you query the database, not when you create it. You can ask any question that comes to mind about the data stored in the database, regardless of what was intended when the database was set up.

According to the rules of good database design (called normalization rules), each table should describe one type of entity ¾ a person, place, event, or thing. When you want to present or extract information about two or more types of entities, you use the join operation.

Joins give you unlimited flexibility in adding new types of data to your database. You can always create a new table that contains data about a different type of entity. If the new table has a column with values similar to those in some column of an existing table or tables, it can be linked to those other tables by joining.