[Twisted-Python] coding standard: plurals for database table names
golux at comcast.net
Sun Apr 6 14:26:13 EDT 2003
On Sun, 2003-04-06 at 13:53, Clark C. Evans wrote:
> I noticed in the Twisted Coding Standard that...
> "Database tables shall be named with plural nouns"
> I'd like to question this standard for several reasons:
> [ some trimming for brevity ]
> 3. It is helpful to name foreign key columns as the
> same name as the table that they are coming from.
What if you have more than one foreign key to the same
table? A very simple example (from my app ;^): the
attributes "owner", "creator", and "modifier" all point
to the "persons" table. As a rule of thumb, it's usually
best to name the foreign key column after the role that
the foreign key entity plays in the referring table.
> 5. While there are astechic reasons for this (above)
> the resons become all the more important when
> you want to build automatic tools for searching
> over schemata, etc. In this case, using plurals
> only adds one extra (unnecessary) step in the
> automated translation of plural table names to
> singluar column and or class names.
I didn't think it was all that difficult. I can send you
the O-R mapping I use, if you like.
> In short, I'd recommend singluar nouns, with M-M
> link tables as one__two where one and two are
> tables being linked to.
One could reasonably argue that it is not important to have
a table-naming rule in the coding standard. I don't really
care either way, but I happen to like using plural names for
tables, and I'll use it regardless of what the Twisted coding std
says anyhow, because I use my own O-R mapping instead of t.e.row
(mine is different from t.e.row in many ways, but it does map plural
table names to singular object names ;^).
More information about the Twisted-Python