SQL Server Performance Forum – Threads Archive
Always have a auto ident col?I have a db design like so: Person
PersonTypeText So every person added to my db is put into person and their different types are distinguished from PersonTypeID. There are times when a Person may be a Seller so I have a seller table so I can store their commissions like so: Seller
CommRate Seller.PersonID is a fk to let me know who the Seller is. There is also a Seller.SellerID column(auto ident) that is really just used for indexing purpose. My question is do I need to always keep a indexing column? The person who helped me with this db has worked with db2 and said it was always a good idea to always have one. Personally from a developer standpoint I find it confusing because Seller.SellerID has no relation with anything in the table or the entire db. So is there any gain from having this indexing column or would the Seller.PersonID column suffice?
Is PersonID is unique, you dont need to add a SellerID column, since youre right, it is kind of redundant. If you didnt have a unique ID, the SellerID should be added (this is called a surrogate key: created for the sole purpose of uniquely identifying a single record)