Thanks for the help, and for different design options it really helped me. I had a look on vertical design and horizontal design and this is some cons and pros in general for vertical design
Advantages:
• Avoid null values and utilize storage
• Avoid constant schema changes due to adding columns
• Avoid performance issues which may encountered when a the table is very wide for specific queries
Disadvantages
• Queries written against the vertical design became cumbersome.
• Multiple joins to pull back each attribute.
• Data needs to be converted to the horizontal design in many cases so you need the contribution modules such as table funcs
• Data domains are problematic and hacks here can be used such as fix your attributes, or using many tables....
------------------------
Advantages:
• Avoid null values and utilize storage
• Avoid constant schema changes due to adding columns
• Avoid performance issues which may encountered when a the table is very wide for specific queries
Disadvantages
• Queries written against the vertical design became cumbersome.
• Multiple joins to pull back each attribute.
• Data needs to be converted to the horizontal design in many cases so you need the contribution modules such as table funcs
• Data domains are problematic and hacks here can be used such as fix your attributes, or using many tables....
the car speed is 240
the car has an airbag
Here the first value is integer and the second value is boolean. Consider that I have this table structure
feature (feature id feature name)
car (car id, .... )
car_feature (car id, feature id, value). the value attribute might have different domains. How can I model this using postgres and using ANSI compliant design ?
Regards