The extended table of a given physical table (Base Table) is a virtual table composed of the base table itself plus all the physical tables which have N-1 relations, either directly or indirectly, starting from the given base table.

For example, if we have the following Bachman Diagram:

Bachman Diagram

  • The INVOICES base table will have the following extended table: {INVOICES, CUSTOMERS, COUNTRY}
  • The CUSTOMERS base table will have the following extended table: {CUSTOMERS, COUNTRY}
  • The COUNTRY base table will have the following extended table: {COUNTRY}

Explanation:

In its extended table, the INVOICES base table contains, in addition to itself, the CUSTOMERS table and the COUNTRY table. This is because starting from the INVOICES physical table (base table) there is an N-1 relation with the CUSTOMER table, and starting from the CUSTOMER table there is an N-1 relation with the COUNTRY table. Note that if we take one record from INVOICES, we find only one record from CUSTOMER related to it (and no more than one); and if we take one record from CUSTOMERS, we find only one record from COUNTRY related to it (and no more than one).

Following the same reasoning, in its extended table, the CUSTOMER base table contains, in addition to itself, the COUNTRY table. This is because starting from the CUSTOMER table (base table) there is an N-1 relation with the COUNTRY table. Note that if we take one record from CUSTOMERS, we find only one record from COUNTRY related to it (and not more than one).

The COUNTRY base table only cointains itself in its extended table. This is because starting from it, there is no N-1 relation either directly or indirectly.


The extended table concept simplifies the way to access several tables when we are positioned in a specific Base Table.