I have to create a database specification for a products database. The issue is that each category of product (tv, smartphone, etc) has different columns. My first thought was using a noSql database, but I have been asked to investigate doing this in SQL so I read this on wikipedia which suggests that in order to use EAV that is scalable, you need to have a table for each data type.
I am not a database master, so I need some advice. I have come up with this database model:
My thoughts here (if not apparent) is that in the interface, when a new category is created; columns can be defined and then when entering the product from the system, it can look at the products table and each EAV table to get the columns and values.
My question is, how scalable is this? Is it a viable solution and does it have any major disadvantages?