For a new relational schema, use clear, descriptive lowercase snake_case names, avoid reserved words, and settle on one naming pattern for the whole project. This is a practical portability-minded convention—not a rule imposed by SQL. Before finalizing names, check the identifier rules for the database and configuration you will deploy.
A practical naming convention for a new schema
Names should make a schema understandable without forcing people to decode abbreviations or guess which terms refer to the same concept. A useful baseline is lowercase words separated by underscores:
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Grokking Relational Database Design | $45.49 | Buy on Amazon |
| 2 |
|
Learning SQL: Generate, Manipulate, and Retrieve Data | $33.56 | Buy on Amazon |
| 3 |
|
Practical SQL, 2nd Edition: A Beginner's Guide to Storytelling with Data | $19.99 | Buy on Amazon |
| 4 |
|
SQL Database Query Programmer T-Shirt | $19.99 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
- Tables:
customer_account,order_item - Columns:
email_address,order_status,created_at - Related identifiers: use a consistent name such as
customer_idfor the customer key in related tables.
This is a team convention chosen for readability and consistency. Database products differ in how they interpret names, so no one style is universally required.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11How to choose table and column names
Prefer descriptive words over opaque abbreviations
Choose a name that conveys the stored concept. Oracle’s documentation contrasts payment_due_date with pmdd; the longer name is easier to interpret without a project-specific glossary. Use abbreviations only when they are widely understood in your domain and applied consistently.
#1 Best Overall
Choose singular or plural table names once
Either singular nouns such as employee or plural nouns such as employees can work. Some style guidance prefers collective terms such as staff. These are style choices, not database requirements. Pick the pattern that fits your model and use it consistently rather than switching between singular and plural without reason.
Keep column names specific and consistent
Use names such as email_address, order_status, and created_at where they accurately describe the data. A local convention can standardize suffixes such as _id for identifiers and _status for status fields. Apply the same term to the same concept across related tables where practical.
Skip decorative prefixes unless they solve a real problem
Prefixes such as tbl_ add little when the table is already evident from the schema and query context. Use them only if a platform or organizational convention gives them a specific purpose.
Recommended Free Tools
Should names use snake_case or camelCase?
For a new schema, lowercase snake_case is a sensible default when portability matters. PostgreSQL folds unquoted identifiers to lowercase, while Oracle interprets unquoted identifiers as uppercase; quoted names preserve case and introduce case-sensitive behavior in both. SQL Server’s case comparison depends on collation. A lowercase, underscore-separated convention avoids relying on mixed-case quoted names, but it does not guarantee identical behavior across every database or configuration.
Keep identifiers simple: avoid spaces, punctuation, and mixed-case names that require repeated quoting. PostgreSQL allows dollar signs in identifiers but notes they are outside the SQL standard and can reduce portability. The allowed characters and delimiters vary by product.
Why reserved words and quoting deserve attention
Avoid naming a table or column after a reserved word in the database you use. Reserved-word lists differ by product, and SQL Server also advises checking the applicable compatibility level. Delimited identifiers can make otherwise problematic names possible, but the delimiters and behaviors vary: PostgreSQL and Oracle use double quotes, while SQL Server supports brackets or double quotation marks, with double-quote behavior dependent on QUOTED_IDENTIFIER.
Rank #4
- Database Programming design. Funny database SQL joke that makes a great gift for database administrators, programmers or computer scientists. Fun gift for database administrators, programmers and hackers who like to wear funny nerd clothes.
- Funny gift for men and women who love SQL. The perfect SQL Query top for programmers, hackers and SQL database fans who love relational databases.
- Lightweight, Classic fit, Double-needle sleeve and bottom hem
Quoting ordinary identifiers throughout an application creates an avoidable dependency on exact spelling and delimiter rules. Prefer names that work as regular identifiers; reserve quoting for cases where it is genuinely needed.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Check identifier rules for your database
The following documented rules illustrate why naming conventions should be checked against the actual engine and configuration. Limits below are identifier limits, not recommendations for how long a name should be.
| Database | Unquoted name behavior | Length and character rules | Configuration or portability notes |
|---|---|---|---|
| PostgreSQL 15 | Unquoted identifiers are case-insensitive and fold to lowercase. Quoted identifiers preserve case and become case-sensitive. | Identifiers begin with a letter or underscore and may then contain letters, underscores, digits, or dollar signs. The default maximum length is 63 bytes. | Dollar signs are allowed but outside the SQL standard, so they can reduce portability. PostgreSQL 15: Lexical Structure. |
| Oracle Database 26 | Nonquoted identifiers are case-insensitive and interpreted as uppercase. Quoted identifiers are case-sensitive. | With COMPATIBLE set to 12.2 or higher, most names may be up to 128 bytes; below 12.2, the general limit is 30 bytes. Nonquoted identifiers begin with an alphabetic character and can contain alphanumeric characters, underscores, dollar signs, and number signs. Oracle discourages dollar signs and number signs. |
Nonquoted identifiers cannot be reserved words; ROWID has special restrictions. Oracle Database 26: Database Object Names and Qualifiers. |
| SQL Server | Identifier case comparison depends on the database collation. | Regular T-SQL identifiers use letters, digits, and specified characters, and must not be reserved words. The cited identifier documentation does not state one general maximum length for the identifiers discussed here. | Brackets or double quotes can delimit identifiers; double quotes depend on QUOTED_IDENTIFIER. Reserved-word rules should be checked for the compatibility level. Column names need only be unique within a table; some schema-scoped objects have schema-level uniqueness requirements. Microsoft Learn: Database identifiers. |
These examples cover PostgreSQL 15, Oracle Database 26, and Microsoft’s SQL Server identifier guidance. They do not establish the exact rules for every database, including MySQL and SQLite.
Quick Recap
A short review before you create the schema
- Can someone infer what each table and column represents from its name?
- Are abbreviations limited to terms your team understands consistently?
- Have you chosen one table-number convention—singular, plural, or collective terms—and applied it consistently?
- Are related concepts named consistently, including identifiers and status fields?
- Do the names avoid reserved words and unnecessary quoting?
- Have you checked allowed characters, case behavior, reserved words, and identifier length for the target database and its configuration?
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




