• Karen Lopez - InfoAdvisors (3/2/2010)


    All this discussion about what to call these tables points out that we as a profession do a lousy job of defining our profession ;-).

    These tables can be referred to as:

    - Associative tables

    - Link Tables

    - Bridge Tables

    - M:N or many-to-many Tables

    - Resolution Tables

    - Intersectional Tables

    - Relationship Tables

    ...depending on whom you read, when you read it, or what tools you use. Oddly enough, I'm getting lots of push back from developers these days that having such tables is "bad design". I'm trying to track down a source for this "knowledge". What devs are telling me is that the real world does not have many-to-many relationships and that these are just artifacts of a designer trying to push relational theory onto a non-relational world. I don't see that

    What I enjoyed about this article is the "confession" part that showed how a bad design can get one into trouble. Articles should have such anti-patterns to show that there's a reason why something is a better solution.

    Agreed... I've also heard them being referred to as "Mapping" tables, "Dual ID" tables, and a couple of names not fit for print. 🙂

    I don't agree that there's no such thing as a many-to-many relationship in the real world, though.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)