Quote system - DB Design

C

Corky Whiteboard

I'm new to data design, and need help getting past some sticking points. I
need a database to help create quotes for a manufacturing firm. The quote
system has to prompt the user for answers to increasingly detailed questions.
It also has to be dynamic enough that product managers can add new
products, along with their corresponding specification and questions for
those specs, without additional programming.

For example:
1st question: Do you want a vehicle or a computer
If it's a vehicle, do you want 4-door, 2-door, 5-door or 6-door
If it's 2-door, select your engine type
If engine type is A, B or C, you have to answer a set of 5 other
questions; some of these 5 questions might point to another group of
questions, etc etc.
If it's 4-door, select from a different set of engines

The questions are not all yes/no. There are some pertaining to length,
rotations per minute, speed, etc. There are some 'radio button' choices that
jump into other questions. There are some questions that have a range or can
have multiple answers. There will be some iterations of questions, depending
upon the number of items selected (for example: enter # of hard drives, from
1 to 6; for each hard drive, answer the following questions.....)

Some of the answers are in inches, inches per minute, feet, numeric (i.e.,
number of wheels), etc.

Some tables I think I'll need:

Division (car or computer)
Table: Machine (ie, Chevy or Dell)
Table: Model (child of Machine, ie Chevy->Corvette, Chevy->Astro,
Dell->Dimension)
Table: Level 3 (child of Model) ?? example could be Chevy->Astro->Cargo,
Chevy->Astro->Passenger
Table: Level 4 (child of Level 3) ??

The reason for the two other levels is if further categorization is needed -
not sure about this.

More tables I think I need


Table: Questions
Table: Question Group

Table: Units (would contain rows for range, inches, feet, RPM, etc.)


Table: Quote Header
Table: Quote Detail -> would link


Where I'm stuck: I don't know what I need to store the questions and / or
question groups for each particular machine, and how to link them to specific
machines. This has to be generic enough that an entirely new machine with
whole different questions / features can be created by the Product Managers
(ie, we have a new division for Coffee Makers that double as quad-burner gas
grills!)

I also like to know the best way to handle iterations - ie, how to store the
answers to the same questions but for a different 'piece' of the product.

I also would like this design to be easy to query from - ie, if they select
a certain model, I should be able to grab the next set of questions for that
without a ton of recursions.

I'm sure a system of this type has been done before - just not sure how!
Any help is appreciated.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top