This appears just like a duplicate even while I request it, however i looked and did not think it is. It appears just like a good question for SO -- despite the fact that I am i will find it on many blogs etc. available. Same goes with convey more of the debate than you will get on the blog.

I am encountering an problem having a join: returning a lot of records. I think about this as "expansion". I added a table towards the group of joins and the amount of rows broadened, a significant amount of. Usually at these times I give a choose of all of the ID fields that take part in the join. This way it's pretty apparent in which the expansion is going on and that i can alter the ON from the join to repair it. Except within this situation, the table which i added does not come with an ID area. In my experience, this can be a problem. But possibly I am wrong.

The question: should every table inside a database come with an IDENTITY area that's used because the PK? What are the disadvantages to getting an ID area in each and every table? Let's say you are reasonably sure this table should never be utilized in a PK/FK relationship?

Related, although not duplicate:

Apparently this debate continues to be going on for a while. Shoulda known.

This post (surrogate versus. natural secrets) can also be relevant.