I am developing my first database for a travel agent.
This business sells amongst other things bus tickets, accommodation and ski lift tickets.
I originally started putting all products into one table then realised that whilst these product types do have some common features (cost and selling price, supplier record) they also have some differences, for example bus tickets are good for a day, accommodation has various classes (twin vs single bed for example) as well as date in and date out, ski lift tickets also have various classes – adult, youth, and duration.
In designing the database should I still have a Products table listing all the products and only their common features and then in separate tables have the items that differentiate them (such as say RefAccom table containing room class, date in date out and in say RefLiftTicket table list ticket class, duration etc) each related back to the booking table.
OR
Should I have separate tables for each of these product types?
What is best practice?
thanks for any help.
Gavin