On Thu, 24 Sep 2009 15:03:26 +0200 Tino Wildenhain <t...@wildenhain.de> wrote: > > In any case, I have a strong philosophical objection to using the same > > name to refer to two different things regardless of any operational > > issues. The manager.firstname and employee.firstname are not the same > > thing and should have different names to reflect that. > > This seems to be a shortcome in your datamodel, in fact I'd see > a firstname of an employee as the same type of information as the > firstname of a manager. > > So what you really would have is a table with all the people > and another which declares who is manager of who.
Sure, I was trying to show a hypothetical situation. In my real databases I don't do that and in fact I point the manager_id field to another entry in the same table. Obviously in that case I am forced to make it a different name even though it references the same column as employee_id. > recommended of course is to name different data differently > and also to keep the name of the foreign keys the same on > every table so you can use: > > SELECT a,b,c FROM tablea JOIN tableb USING (ab_id) > > since this avoids duplicate columns in the result. Exactly. > > A similar issue comes up in the classic situation of the inventory table > > price field and the sale item price field. They sound like the same > > thing but they are not. One is the current price in the catalogue and > > the other is the price it was sold for at a particular time. They need > > different names for that reason. > > Yes and you should name them different in your query when they appear > in the same result set. I want to name them differently even if they aren't in the same result set because they are different things that just happen to have the same type - money. I wouldn't name every int column "int" and I wouldn't name every price column "price." -- D'Arcy J.M. Cain <da...@druid.net> | Democracy is three wolves http://www.druid.net/darcy/ | and a sheep voting on +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner. -- http://mail.python.org/mailman/listinfo/python-list