Explain Codes LogoExplain Codes Logo

Singular or plural database table names?

sql
best-practices
database-design
naming-conventions
Nikita BarsukovbyNikita Barsukov·Mar 6, 2025
TLDR

In short, employ singular table names. Consider tables as containers for unique instances of an entity. For instance, if a table stores customer data, name it Customer. This way, each record symbolizes one customer. Maintain consistency in your naming convention.

Example:

CREATE TABLE Customer ( ID int, -- The Customer ID, not a barcode on a cereal box Name varchar(255) -- Not the name of their goldfish );

A case for singular names

Table as a collection of entities

A table represents a collection of distinct entities. Each row is a unique entity instance. Using singular names like Ticket or Movie makes this concept straightforward.

Boosting readability and simplicity

Singular naming conventions like Employee or Product enhance readability and comprehension. It is more intuitive to associate each record with a single employee or product.

Aligning with organizational norms

Organizations often have their standards or established preferences for database naming conventions. Following these fosters teamwork and avoids confusion.

Weighing singular vs plural

Upholding consistency

Tables named in the singular form ensure uniformity throughout your database. This predictability simplifies querying, maintenance, and scalability for current and future developers.

Object-relational mapping

In object-relational mapping (ORM), conventionally tables are pluralized while class names are singularized. Still, if you maintain singular names across both, you make mapping more direct and intuitive.

Future-proofing your database

Singular table names often prove less ambiguous as you scale or iterate your database design. This makes adapting to future changes more smooth and less prone to errors.

Picking the right names

Maintaining convention

Whether you go with singular or plural, maintain consistency. Inconsistent naming can lead to errors and confusion, thus tarnishing the integrity of your database.

Tables should reflect contents

Ensure the table name accurately reflects its contents, choosing singular or plural depending on whether it holds single entities or multiple instances. For example AuditTrail is preferred over Audits or Auditing because it signifies specificity.

Be open to adaptation

While neither singular nor plural is universally standardized, prefer consistency within your schema. Adapting to established conventions based on the frameworks or tools you are using can provide meaningful insights.

Consider associations

For joint tables originating from many-to-many relationships, such as Course and Student, a compound singular name like CourseStudent is ideal. It ensures clarity without implying the presence of an independent entity.