Database Design for a Furniture Store E-commerce Site
0
votes
1
answer
72
views
I'm building my first web project: a modular furniture e-commerce platform using Next.js and PostgreSQL.
I’ve designed a normalized relational schema to handle:
- Categories and subcategories
- Furniture sets and individual furniture items
- Color variants for both items and sets
- Dynamic properties (e.g., brand, dimensions, material)
- Multiple images per furniture and set
- Set-item relationships with quantity and order
Here’s a summary of the main tables:
-
furnitures
, furniture_sets
, furniture_sets__and_furniture
- furniture_colors
, furniture_set_colors
, colors
- furniture_images
, furniture_set_images
, images
- furniture_properties
, furniture_set_properties
, properties
- categories
(with hierarchy support via parent_id
and category_path
)
My concern is that this structure may be **too complex or over-normalized** for an e-commerce project. Since this is my first full-stack application, I want to ensure the schema won’t cause unnecessary complexity or performance issues down the line.
### My questions:
1. Does this level of normalization make sense for an e-commerce project, or should I simplify it?
2. Would storing some dynamic fields (like furniture_properties
) as JSONB be better?
3. Are there common best practices or anti-patterns I should be aware of for this type of use case?
Asked by ASINCAP
(9 rep)
Jul 5, 2025, 01:46 PM
Last activity: Jul 7, 2025, 07:22 AM
Last activity: Jul 7, 2025, 07:22 AM