Most bridge (aka, junction or composite) tables are used to represent many-to-many relationships between records in two tables.
It is possible, however, to have a many-to-many relationship between records in a single table. To illustrate this, consider a table of Courses at UT. How would you represent the prerequisite relationship between courses?
For instance, MIS 333K has prereqs of MIS 304 and MIS 325. ACC 312 has a prereq of ACC 311. FIN 357 has a prereq of ACC 312. Implicitly, this means FIN 357 also has a prereq of ACC 311.
These prerequisites can be thought of as a many-to-many relationship between the Course table and itself.
This many-to-many relationship needs to be decomposed into a bridge table and two one-to-many relationships. Technically, this example has a bridge related to a single table, but it is related in two different ways.
The MIS 333K, ACC 312 and FIN 357 course prereqs mentioned above would correspond to the following four records in the new bridge table:
| CourseID | PrereqCourseID |
|---|---|
| MIS 333K | MIS 304 |
| MIS 333K | MIS 325 |
| ACC 312 | ACC 311 |
| FIN 357 | ACC 312 |