I want to improve a database for product registration system. The goal of the system is to register products with characteristics. (length, height, color, max speed, weight, power etc. ) Each product has different characteristics. For instance, a car is registered with 30 number of characteristics length, height, max speed, etc. But a motor is registered with 6 number of characteristics such as power, weight etc. The current architecture of database is so: The main table is "registration". (the core of DB) Each product is described by a table. For instance: Auto, Motor, etc. (because of different number of characteristics) Each charachteristecs are listed as attributes of this product table. For Auto: length, height, max speed, car year, car model ... Now the problem is: The tables (products) are increased enormously, ie. too many tables..... How can be solved this problem?
You can store all the products in one table e.g. Registration table with columns 1. Id 2. NameOfProduct 3. ProductType 4. Field1 5. Field2 6. Field3 ....
The table will obviously not be normalized. You will waste some storage space because some fields will not be used by some products. But, you will be access to access multiple products without a join. So these queries will become much faster.