Search code examples
sqlsql-servert-sql

Database Naming Conventions by Microsoft?


I found Naming Guidelines from MSDN, but is it any guideline for MSSQL database from Microsoft?


Solution

  • The naming conventions used in SQL Server's AdventureWorks database demonstrate many best practices in terms of style.

    To summarize:

    • Object names are easily understood
    • Table names are not pluralized ("User" table not "Users")
    • Abbreviations are few, but allowed (i.e. Qty, Amt, etc.)
    • PascalCase used exclusively with the exception of certain column names (i.e. rowguid)
    • No underscores
    • Certain keywords are allowed (i.e. Name)
    • Stored procedures are prefaced with "usp"
    • Functions are prefaced with "ufn"

    You can find more details here:

    One caveat: database naming conventions can be very controversial and most database developers I've met have a personal stake in their style. I've heard heated arguments over whether a table should be named "OrderHeader" or "OrderHeaders."