2023-05-04 00:40:27
Reason 1 - Concept
Think of a bag containing apples. It is an "Apple Bag", it doesn't matter if contains 0, 1 or a million apples, it is always a bag. Tables are just that, containers. The table name describes what it contains, not how much data it contains.
Reason 2 - Convenience
It is easier to decide upon a singular name rather than a plural one. This is because objects can have irregular plurals or no plural at all. Of course, there are exceptions. For example News.
Singular Names
Customer
Order
User
Status
News
Reason 3 - Aesthetic and Order
This is particularly useful in master-detail scenarios. This promotes readability when tables are listed in name order:
Order
OrderDetail
Compared to:
OrderDetails
Orders
Reason 4 - Simplicity
Put all together, Table Names, Primary Keys, Relationships, Entity Classes... is better to be aware of only one singular name instead of two (singular class, plural table, singular field, singular-plural master-detail...)
Customer
Customer.Id
Customer.Address
public Class Customer {...}
SELECT FROM Customer WHERE Id = 100
Once you know you are dealing with "Customer", you can be sure you will use the same word for all of your database interaction needs.
Reason 5 - Globalisation
The world is getting smaller, you may have a team of different nationalities, but not everybody has English as a native language. It would be easier for a non-native English language programmer to think of "Repository" than of "Repositories", or "Status" instead of "Statuses". Having singular names can lead to fewer errors caused by typos, and save time by not having to think "Is it Child or Children?", hence improving productivity.
Reason 6 - Why not?
It can even save you writing time, save you disk space
SELECT Name FROM Customer WHERE Id = 100
SELECT Name FROM Customers WHERE Id = 100
You have saved 1 letter, 1 byte, 1 extra keyboard hits 😎.