Many-to-many (data model)

From HandWiki
Short description: Systems analysis concept


An Author can write several Books, and a Book can be written by several Authors
The Author-Book many-to-many relationship as a pair of one-to-many relationships with a junction table

In systems analysis, a many-to-many relationship is a type of cardinality that refers to the relationship between two entities,[1] say, A and B, where A may contain a parent instance for which there are many children in B and vice versa.

Data relationships

For example, think of A as Authors, and B as Books. An Author can write several Books, and a Book can be written by several Authors. In a relational database management system, such relationships are usually implemented by means of an associative table (also known as join table, junction table or cross-reference table), say, AB with two one-to-many relationships A → AB and B → AB. In this case the logical primary key for AB is formed from the two foreign keys (i.e. copies of the primary keys of A and B).

In web application frameworks such as CakePHP and Ruby on Rails, a many-to-many relationship between entity types represented by logical model database tables is sometimes referred to as a HasAndBelongsToMany (HABTM) relationship.[2]

Artificial intelligence (AI) presents these relationships in many complex ways, including in areas where healthcare equity factors contribute to biased algorithms.[3]

See also

References

  1. Also see entity–relationship model.
  2. 3.7.6.5 hasAndBelongsToMany (HABTM) . Cakephp.org
  3. Berdahl, Carl Thomas; Baker, Lawrence; Mann, Sean; Osoba, Osonde; Girosi, Federico (2023-02-07). "Strategies to Improve the Impact of Artificial Intelligence on Health Equity: Scoping Review" (in en). JMIR AI 2: e42936. doi:10.2196/42936. ISSN 2817-1705. https://ai.jmir.org/2023/1/e42936.