I'm starting a little project asp.net 4.5 + SQL 2008R2 for my friend so he can stop managing is outfitters on paper ;-)
He can rent multiple chalet and he can rent other products (motors, kayak, little boat, fishing line, ...)
I started by creating a table for the chalet named chalets and a table for the product that can be rented named products. But now I'm questionning myself if I should just have 1 single table and have both in it ? Both are gonna have a price history change but chalets is gonna have multiple field that are not used by the products (example : #of room, # of bed, max person, water ?, electicity ? ...). Products is basically just name and description.
What's the best pratice here ? At what point we merge or split stuff like in my example ?
Thanks for the help
Richard
It depends and performance wise, nothing is going to decide it but testing and benchmarking.
Best practice is to normalize your data.
In your case you have to ask yourself: "Is a chalet another product to rent?" Or do certain products belong to certain chalets.
If you agree with the first, it would make more sense to merge the definitions, if you are looking more towards the altter it would probably be better to split the tables.
Either way, with small sets of data (as it sounds you are handling [<1M rows]) performance wise it won't matter to much and you could choose whatever makes most sense to you.