• marvin.elder (3/4/2010)


    I had never heard of a 'bridge' table in my 30 years of relational database design and modeling.

    So I was surprised to see that the author, obviously a newcomer to relational databases, had not yet learned about normalization (illustrated painfully in his design with repeating groups), nor about intersection tables to resolve many-to-many table relationships.

    I do agree with one of the responders to this article that there's a "teachable moment" here, when he pointed out that the intersection table (aka 'bridge' table) should have a composite primary key of the two fk_keys, instead of a single surrogate key pk.

    Actually I have to throw a criticism here to our good friends at SqlServerCentral.com for allowing this article to be posted. I'm guessing the 90% of the readers of these articles are seasoned practitioners, but even the other 10% need to know the accepted tenets and nomenclature of relational databases. Quality control in order here?

    Marvin

    Not everyone who enters into the field of relational databases knows that they are, indeed, relational. Many are thrown to the SQL wolves by necessity or a manager with a bee in his/her bonnet (Hey, I heard of this thing called SQL, we bought a license, now use it!) and told to create a database. Even if they do know it is relational, how to implement the many-to-many relationships isn't always clear.

    SQLServerCentral caters to the newbie and the expert. Gotta have articles that are understandable by both. We've had this discussion before on a few threads as to whether or not Steve needs to change his editorial process and/or acceptance process for articles because some are not as technically correct as they should be, perhaps.

    Steve wants to encourage people to write articles, to use SSC as a place to cut their writing teeth on as it were. Those with any brains whatsoever will check the forums to see what the response to the post is. It is here that the community corrects itself, provides better solutions and hopefully improves overall. And, when there are items in the forum discussion about the article that the reader should know about, then Steve will mark the article with a note that it is best to read the discussion as well.

    I'm an SQL newbie myself. My job includes running ad hoc queries and reports from SQL and monitoring/debugging the processes on one server. I'm not into designing a database yet, although I have one on the side that I'm fiddling around with when I get a bit of spare time. I haven't done any formal training in SQL, just picked it up on the job. Articles like this can help me avoid mistakes like the one he made.

    Thanks for the article, Tim. 🙂

    -- Kit