What's the correct name for an "association table" (a many-to-many relationship)

29,240

Solution 1

Cross reference table. CustomerProductXRef.

Solution 2

There is no "correct" name, but the academic name would be an "Associative Table" (see See the Wikipedia article Associative Entity). Other common names are (in alphabetical order):

  • Association table
  • Bridge table
  • Cross-reference table
  • Crosswalk
  • Intermediary table
  • Intersection table
  • Join table
  • Junction table
  • Link table
  • Linking table
  • Many-to-many resolver
  • Map table
  • Mapping table
  • Pivot Table
  • Pairing table
  • Relationship table
  • Transition table

Note: This is contents original created by Derek Greer but that was posted as an edit to an accepted answer that totally changed the answer.

Solution 3

"Correct" depends on the modeling methodology in use. I am familiar with Chen, in which this table is the physical implementation of an Associative Entity. I suppose most popular would be directly related to most popular modeling methodology.

Wikipedia lists several names for this type of table.

Solution 4

I was taught and use the term "Join Table"

Solution 5

Depends on whom you ask. They're all correct, use the term that makes the most sense to who you're talking to.

Share:
29,240
Imran
Author by

Imran

Web developer

Updated on September 10, 2020

Comments

  • Imran
    Imran over 3 years

    What's the correct or most popular name for an "association table"?

    I've heard lookup, associative, resolving, mapping and junction table.

  • onedaywhen
    onedaywhen almost 14 years
    I have to say I'm totally against your naming convention. If you accept that such a table is a relationship table then the table name should reflect the relationship. I think that most data modellers would call the relationship between customers and products 'Orders'.
  • onedaywhen
    onedaywhen almost 14 years
    +1 HOWEVER for a table that tracks a relationship, the 'business' will usually already have a name for that relationship e.g. for the business I work for, the Sales staff who look after specific customers are known as 'account managers'.
  • bvj
    bvj almost 10 years
    @onedaywhen "Orders" is normally an example of Many-to-One, not Many-to-Many despite the unfortunate reference to "Products". Furthermore, it might make sense to differentiate "Customer Orders" from "Purchase Orders". In the case of One-to-Many, I'd opt NOT to use a junction table conditions permitting. To your criticism, "Customer Product" is indeed an unusual term combination for a table name.
  • Dijkgraaf
    Dijkgraaf over 7 years
    Created answer that were rollbacked out of the accepted answer as per meta.stackoverflow.com/questions/337963/…
  • Rockin4Life33
    Rockin4Life33 over 5 years
    I also use pivot table. Depending on company standards I might just use student_courses for a many-to-many on tables students and courses. Some standards I've encountered might enforce a prefix for this; such as lnk, ref, pvt, etc... e.g. lnk_students_courses.