Table naming question...

Conisdering the naming conventions of ActiveRecord tables...

I have a parent table called "Jobs" and a child table to it called "JobItems" which holds the line items on any give "Job" that we process.

Now I'm dealing with the Invoice table, which is a Parent-type of table ("Invoices"), and I have an "InvoiceItems" child that is related to it.

However, in some ways, each Invoice is also a child record to a Job. (Some Jobs build up multiple Invoices if we do progress billing of partial shipments).

So, one could argue that the "Invoices" table should be named "JobInvoices", and the child invoice items would go in a table name "JobInvoiceItems".

So...

Invoices and InvoiceItems

or

JobInvoices and JobInvoiceItems

Which way is the accepted way?

I would consider the language that the client (or yourself) uses when talking about the objects in the tables. For example if you talk about job invoices then that should be the name of the table. If you just call them invoices then that should be it. The objects in the system should map to real world objects in as intuitive a way as possible. That way you may hope to minimise confusion.

Colin