I am creating some templates in my database that users would be able to use to help set up some of their data.
For example,
I have the following tables (simplified of course):
store (id, store_name)
product (id, product_name)
product_template(id, template_name)
product_template_product (FK: product_template_id, FK: product_id)
store_product (FK: store_id, FK: product_id)
Ultimately, I am wanting a store to be able to select various products as inventory to their store from the product table. These would be linked to the store in the store_product table.
Rather than the store adding each items one at a time I am also creating a template that will allow them to do this. So for example, they may select the "dairy" template to add a all the dairy products to their store.
In this scenario, "dairy" would be the template name in the product_template table. Then each product linked to this template would be placed in the table product_template_product. So if a user selects this particular template, then all the products in that template would be added to the store_product table.
My question is about the naming of the product_template_product table. It is linking the product_template table with the product table. However, the table name ends up sounding redundant.
Am I just being too pedantic here, or is there a more preferred way to be naming such table structures? I do have a few other tables in my database where similar naming is happening due to templates being used in those places as well.
2to separate the table names, e.g.product_template2productA name likeproduct_template_productcould also mean a table linkingproducttotemplate_product– Jun 03 '19 at 04:43