Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

SQL relationships

  1. Mar 7, 2009 #1
    I'm trying to learn SQL, specifically for SQL server. One question I have is about defining relationships. I know how to build a relationship graphically (showing that the primary key from one table is the foreign key of another), but I'm not sure how to assert the relationship with an equivalent SQL statement. Is this possible?

    Also, what is the purpose of defining a relationship? It seems that for any query I could accomplish the same thing using a JOIN operation.

    Any attempt to enlighten me would be most appreciated.
  2. jcsd
  3. Mar 7, 2009 #2

    Math Is Hard

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    This should help:

    To enforce http://en.wikipedia.org/wiki/Referential_integrity" [Broken].
    Last edited by a moderator: May 4, 2017
  4. Mar 7, 2009 #3
    Couldn't understand the first question.. I don't know too much of sql (just enough to get done simple tasks)

    From experience at work:
    Say, I have two tables
    TaskDetails (contains taskId and more details about task)

    If they have no relationship:
    One of the records in task get accidentally deleted, SQL wouldn't complain .. and in future either this would cause some trouble or my program that uses this database would crash :(

    With relationship:
    If I attempt to delete task I would get an error that it cannot be deleted because it is referenced in TaskDetails.
  5. Mar 7, 2009 #4
    Thanks for the succinct answers. I've been thumbing through several books tryong to find those answers!
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook