Fedor Karpelevitch wrote:

>> Any key that is assigned by the database system is considered surrogate.
> 
> There is a big difference. Those tables which have IDs are "entity" 
> tables, in which each row represents an entity (object if you wish). And 
> ID is not surrogate here because it uniquely identifies this entity. No 
> other field or combination of them can be used instead because all other 
> fields are just attributes. In Permission table example you can argue 
> that permission_name can be used instead, but it is not so. What if you 
> want to change name of the permission (say you had a typo)? How would 
> you tell that this is the same permission? That's what ID is for. 
> Although any attribute may change ID will tell you that this is the same 
> entity.

>>   I apoligize if I was unclear in my first post.  I can post more 
>> informations regarding the benefits of them, but I didn't think it 
>> would be a big problem since we are already making haavy use them.  I
>> just didn't see why we were incosistent with our use of them.
> 
> We are very cnsistent. The tables which do not have their own IDs are 
> not "entity" tables, they are "cross-reference" tables. Rows in those 
> tables do not represent any entities, so they do not need IDs.

I totaly agree with what Fedor wrote above. The current DB setup
seems very clear and consistent to me.
Rafal

-- 
Rafal Krzewski
Senior Internet Developer
mailto:[EMAIL PROTECTED]
+48 22 8534830 http://e-point.pl



------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Search: <http://www.mail-archive.com/turbine%40list.working-dogs.com/>
Problems?:           [EMAIL PROTECTED]

Reply via email to