• I'm not making any judgements on the design. I was trying to point out that somethings that don't seem right could be based on other factors.

    You could desgin a database system that totally eliminates all null values in tables. It has a name, 6th normal form. Would I implement such a design for an OLTP system, no. Biggest reason, performance. The number of table joins required to pull data together would be costly.

    Also, in this design, you are only looking at the database schema. I have no idea what the UI design is. It may take into account the different products and use different screens or web pages dependent on the product type. From what was posted, that is unknown.

    Also, you should never use a SELECT * FROM ... in your production code.

    😎