- 1 table for each class of data (where each record will share the same fields)
- 1 table defining relationships (recording the definition of the relationship between records)
- 1 relationship table (recording all the relationships)
Here's a simple example to illustrate the point:
Companies table (a class of data about companies)
|ID||Company name||Company registration number|
People table (a class of data about people)
|ID||First name||Second name|
Defining relationships table
|0829||is employee of|
|7348||is shareholder of|
This structure should facilitate all of the necessary queries. For example, a query of all the employees of a company.
A key feature is the directionality of the relationship: i.e. from A to B.