Sample Header Ad - 728x90

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