(Database Design - products attributes): What is better option for product attribute database design?
You're making a common mistake of database design, storing name in one column and value in another column. This is not a relational database design.
Each attribute should be named by the column name. Color, pages, shirt size, publish date, should be column names.
If each product type has a distinct set of attributes, there are other solutions. See my answers to:
- Product table, many kinds of product, each product has many parameters for details.
- How do you model custom attributes of entities?
- Design question: Filterable attributes, SQL
- How to design a database schema to support tagging with categories?
- How to define structure in a tag-based organization?
Also please read this story: Bad CaRMa: Introducing Vision before you implement a database designed around name-value pairs as you are doing.
i think that the best implementation for product attribute you can get is
Product_Tbl [
ID
Name
more columns
]
Attribute_Tbl [
ID
Att_Name
]
Product_Attribute_Tbl [
Product_ID
Attribute_ID
Value
]
if your products not have the same attributes you can use this structure