I have a table called Order
which holds customer orders.
I want people to be able to add notes to orders. Whats the best way to name this new table? Because other tables may also have notes e.g. Customer
, I need the table to be named so that is shows association with the relevant table. Relationship is an Order will have 0-or-many Notes.
So should I name it:
Order_Note
OrderNote
They all seem fine. I also need to create another table that will list the 'types' of Order
that have been placed. An Order
can have 1 or many 'types'. So how would I name this association in the table name?
Order_Type
OrderType
In this Order_Type
table, it will have just two columns OrderID
and TypeID
. So I need a final table which holds all possible Types
of order that can be placed. How do I name this, given that it will be confusing with the table above?
Order_Types
OrderTypes
But this is breaking the rule of not having plurals in table names.
Edit:
The Order
table is a data table. Order_Type
is a joining table. And finally, OrderTypes
is a lookup table. Thanks to Hogan for making this obvious to me. I have also removed hyphenation between words as an option as it may cause future problems.
SOLUTION 1:
- Name association between tables using underscore e.g. Order_Type
- Name lookup and data tables without underscores e.g. Order, OrderType
I'll also use a schema so that lookup tables show like Lookup.OrderType which helps to clarify what is what.