SQL Server: Singular vs Plural Table Names

I've only been working with SQL Server for a couple of years, and although I've been exposed to a lot of different parts of it, there are still some things I've not been forced to spend a lot of time thinking about. One of those things is naming conventions for SQL Objects.

I recently did a large piece of work which involved creating a few new tables in an existing database. Without thinking about it too much, I picked plural names for these tables, and thought nothing of it until a colleague pointed out that typically SQL tables are named in the singular. That is to say, a table containing Employees would be named 'Employee', and not 'Employees'. I did a bit of googling, and it seems this is a fairly well debated topic among developers. I found links supporting both cases, and even some people saying that either is fine depending on the situation.

I can see arguments for both cases, however in my case there was a fallback piece of information that I should have used to settle the debate - the names of the tables that existed previously. I simply didn't even think to look at it. Lesson learned.

Link: SQL Style Guide (for the plural)
Link: Singular vs. plural table names (for the singular)
Link: Table Names - Singular or Plural? (for either/both!)

Tags:

 Print | Posted on Tuesday, December 12, 2006 1:36 PM | Filed Under [ Miscellaneous SQL ]



Feedback

Gravatar

# SQL Server: Singular vs Plural Table Names

I always name SQL tables in plural. Heck, in Ruby on Rails or similar frameworks (like CakePHP) you must name them in plural. This frameworks even know irregular nouns like children or mice.

12/13/2006 11:00 AM | Roman Kopac

Gravatar

# SQL Server: Singular vs Plural Table Names

I've always used names in the plural too, so it's nice to know others lean the same way :) For me it just sounded 'nicer' and so I never stopped to think much about it.

Is there any reason why Ruby on Rails requires you to name them in the plural? I'd be interested in reading a bit about that if you have a link or two handy.

Cheers

12/13/2006 11:41 AM | Ross Hawkins

Gravatar

# SQL Server: Singular vs Plural Table Names

One of RoR's guidelines is 'convention over configuration'. RoR also closely follows the Model-View-Controller pattern that helps you to separate data (Model) and user interface (View). Between them sits the Controller that does all the logic.

This whole plural/singular issue comes in handy when you need to connect your model class to your database tables. You can read all about MVC pattern and RoR here:

http://en.wikipedia.org/wiki/Model_view_controller

http://en.wikipedia.org/wiki/Ruby_on_Rails

http://www-128.ibm.com/developerworks/linux/library/l-rubyrails/

http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0606dumbill/

http://www-128.ibm.com/developerworks/web/library/j-cb05096.html

http://www.sitepoint.com/article/ruby-on-rails

12/13/2006 11:15 PM | Roman Kopac

Gravatar

# SQL Server: Singular vs Plural Table Names

Thanks Roman, there's some good reading there. I've been meaning to have a play with RoR for quite some time, maybe these links will help me finally get organised and get something underway.

12/14/2006 10:30 AM | Ross Hawkins


Post Comment

Title  
Name  
Email
Website / Url
 

Your comment

   
Ensure the word in this box says 'orange':
 
Please add 1 and 4 and type the answer here:





Due to excessive comment spam, all comments are now being moderated. If you're a comment spammer then you're wasting your time here. Your comments will not be published - ever.


About me

My name is Ross Hawkins and I'm a developer, consultant, business owner and writer based in Auckland, New Zealand (pictured below!). My current work revolves around ASP.NET, C#, jQuery, Ajax, SQL Server, and a mix of other Microsoft development technologies.

I also have about 15 years of experience with IBM Lotus Notes/Domino and associated technologies. While Notes/Domino is no longer my primary focus I still like to dabble and keep my skills up to date.

I own and run 2 businesses - Hawkins Consulting Services, and Ignition Development.

Bethells Beach, located in sunny West Auckland, New Zealand




Subscribe

Subscribe to this feed


Search




Popular Content

Troubleshooting WebResource.axd

The .NET 2.0 framework changed the way clientside JavaScript is delivered to the browser. Previously, ASP.NET 1.1 used the aspnet_client directory whereas now 2.0 uses WebResource.axd.

Published on October 8, 2006

jQuery Wildcard Selectors - some simple examples

I wrote about jQuery wildcard selector syntax briefly back in 2009, and since then that post has received a lot of views – way more than a post that brief should ever have seen..

Published on October 14, 2011

Microsoft AJAX Extensions: Sys.Debug is null or not an object

One of the breaking changes which was made with the 1.0 release of the Microsoft Ajax Extensions was the renaming of the 'Debug' class to 'Sys.Debug' for reasons of compatiability with other frameworks. Breaking changes like this can often be a source of frustration..

Published on May 22, 2007

Simple ASP.NET Character Counter

A textbox character counter is a pretty simple piece of functionality, and there's a lot of different ways to apply one to your application. The following method is nice and simple, and can be done using only clientside JavaScript if required, or combined with server side code in order to create a more dynamic effect

Published on December 4, 2006

Simple ASP.NET Character Counter - with Master Page Support

A quick update to my previous character counter article adding some changes for those using it with Master Pages.

Published on February 7th, 2009

Adding Tooltips to Gridview Headers

As the title says, this is a very simple but dynamic way of achieving tooltip text on a header column. It's not overly flash, but it's lightweight and quick to implement.

Published on April 15, 2007

SQL Server Web Report Viewer Issues on Windows 2008 Server/IIS7

A fix for another AXD related issue, this time with the SQL Server Web Report Viewer Control which was being served up via IIS7 on a Windows 2008 server.

Published on June 2, 2007
Updated on April 10, 2008





Archives

May, 2012 (1)
April, 2012 (4)
March, 2012 (2)
February, 2012 (4)
January, 2012 (3)
December, 2011 (3)
November, 2011 (8)
October, 2011 (9)
September, 2011 (8)
August, 2011 (5)
July, 2011 (4)
June, 2011 (7)
May, 2011 (5)
April, 2011 (3)
March, 2011 (8)
February, 2011 (4)
January, 2011 (3)
December, 2010 (8)
November, 2010 (5)
October, 2010 (6)
September, 2010 (7)
August, 2010 (11)
July, 2010 (12)
June, 2010 (8)
May, 2010 (8)
April, 2010 (4)
March, 2010 (8)
February, 2010 (6)
January, 2010 (12)
December, 2009 (13)
November, 2009 (11)
October, 2009 (12)
September, 2009 (12)
August, 2009 (2)
July, 2009 (7)
June, 2009 (12)
May, 2009 (9)
April, 2009 (9)
March, 2009 (9)
February, 2009 (8)
January, 2009 (7)
December, 2008 (6)
November, 2008 (7)
October, 2008 (9)
September, 2008 (12)
August, 2008 (9)
July, 2008 (6)
June, 2008 (24)
May, 2008 (13)
April, 2008 (16)
March, 2008 (8)
February, 2008 (10)
January, 2008 (1)
December, 2007 (14)
November, 2007 (11)
October, 2007 (11)
September, 2007 (13)
August, 2007 (11)
July, 2007 (5)
June, 2007 (15)
May, 2007 (11)
April, 2007 (9)
March, 2007 (9)
February, 2007 (10)
January, 2007 (8)
December, 2006 (18)
November, 2006 (11)
October, 2006 (14)
September, 2006 (9)
August, 2006 (10)
July, 2006 (4)
June, 2006 (4)
May, 2006 (6)
April, 2006 (3)
February, 2006 (6)
January, 2006 (10)
September, 2005 (2)
August, 2005 (4)

Post Categories

ASP.NET
AJAX
Amusing
NZ
NZ Trains
Notes/Domino
Visual Studio
Web Development
Miscellaneous
Me
Rugby
C#
SQL