Doubts when designing a database to manage products (like Amazon)
Hi, this is my first post in this site and sorry for my bad english hahaha. I need some help. I want to design a database for a website, like a mini Amazon. This database has to manage every kind of products, but also, each product must have some properties (that will be indexed), for example, if the product is a book, the properties will be something like genre, year, author. If the product is a TV, the properties will be something like size, color, also year. And if the product is a car, the properties will be something like year, color, model, for example. This is my idea:
1 - One table to manage departments (like electronics, books...)
2 - One table to manage categories of the departments, this table will be a child of the previous. If the department is electronics, here will be audio, tv and video, games... (each category belongs to one department, the relationship is one (department) to many (categories))
3 - One table to manage the products (each product belongs to one category, the relationship is one (category) to many (products))
4 - One table to manage properties (like year, color, genre, model...)
5 - One table to engage products with properties, this table will be called ProductProperties
Im not sure if this is the best way, the database will be huge, I will develop the database on MySQL. Do you have any suggestion? Or do you have a better idea?