Re: Why plural table names? (Celko)

Tech-Archive recommends: Fix windows errors by optimizing your registry

From: Louis Davidson (dr_dontspamme_sql_at_hotmail.com)
Date: 12/01/04


Date: Wed, 1 Dec 2004 12:08:11 -0600

I am not a fan of this either. It is something of a standards issue though.
I have always followed the IDEF1x http://www.idef.com/idef1x.html standard,
which says that objects are named singular, because you name the object for
an instance, not for the set of instances. The meta data of an object, such
as employee, defines characteristics of a single instance, not a set. Then
you say employee table, not employees table, which sounds awkward. Even
more important to me is the concept of a row. I have two employees rows?
Or employee rows? Clearly this makes more sense. It is easy to tack on
rows to a singular, but not to a plural, hence it is just tidier to name
objects singular.

If you look into relationship naming (a very useful documentation tool) you
will see that (without cardinality information,) singular names also make
this more clear. For example employee - employed by - company is far
clearer than employees - employed by - companies. This might be true, based
on cardinality rules, but it may not be true.

So I like singlular, which is far easier to make it plural when referring to
a set of objects, rather than an instance.

-- 
----------------------------------------------------------------------------
Louis Davidson - drsql@hotmail.com
SQL Server MVP
Compass Technology Management - www.compass.net
Pro SQL Server 2000 Database Design - 
http://www.apress.com/book/bookDisplay.html?bID=266
Note: Please reply to the newsgroups only unless you are interested in 
consulting services.  All other replies may be ignored :)
"james" <nospam@hypercon.net> wrote in message 
news:OnAG0a81EHA.1296@TK2MSFTNGP10.phx.gbl...
>I was reading Celko and he says table names should be plural.  I think this 
>is completely and totally redundant.  By definition a TABLE is designed to 
>hold multiple rows so to add an 'S' to the end of a table name is 
>redundant. I would argue that since the case for a Table holding a single 
>row is much more rare that those tables should be named distinctly.  Like 
>maybe TableSingleton or some such.  Anyway, just a thought
>
> JIM
>
> 


Relevant Pages

  • Re: Table Names
    ... Attributes in the singular. ... things (this box represents all of my customers) whereas attributes ... over the design documents of my projects, I find that while I refer to them ... > applies to only one employee. ...
    (microsoft.public.access.tablesdbdesign)
  • Re: Why plural table names? (Celko)
    ... Louis, thanks you;-) This is what I was looking for. ... >standard, which says that objects are named singular, because you name the ... Then you say employee table, not employees table, which sounds ... >> JIM ...
    (microsoft.public.sqlserver.programming)
  • Re: Table Names
    ... I define an Employee record (using singular) because any record ... I feel it's important to be consistent in your naming ... >conventions, ...
    (microsoft.public.access.tablesdbdesign)
  • Re: Indo-European Languages and Gramatical Gender Loss
    ... must be responsible for their own safety" does not surprise or upset ... I would prefer it to "An employee must be responsible for his/her ... There are some restrictions, "they" with a singular ...
    (sci.lang)
  • Re: HardBound and SoftBound
    ... describes the situation with many references to the C and C++ standards. ... I'm waiting to see it. ... The content of this message is my personal opinion only. ... Although I am an employee - currently of Intel, ...
    (comp.arch)