I have a challenge in designing a database and I'll explain the user case.I need to make a database for calculations on specific types of walls and floors. If a user enters some details the database will have to come up with a selection of walls that match the criteria and the user can then choose one and move on to the next. Projects consist out of tens to hundreds of different situations.
Users will enter parameters in different fields, such as length, width, height and also desired sound insulation, insulation values for temperature and so on. Based upon these values calculations need to be made to come up with a bill of materials and a price per item.
One wall will consist out of different materials like drywall which is calculated in surface area, but also studs which are calculated in length and insulation which is calculated in volume. Walls are only certified for specific sizes and a bigger size can mean a different type of wall is needed.
These certification values will be added to the database by users.
I'm having trouble getting started on this database. I'm unsure if I should store all materials in one table or if I should keep them separate by volume/surface area/length. It's a little overwhelming to get started on this. I've built bills of materials before but in these the user would manually add items but now these are all dynamic. Can you give me also me pointers in the right direction?