Những gì bạn đang cố gắng đạt được là Thực thể-Thuộc tính-Giá trị (EAV) hoặc có thể là lập mô hình hàng sự hòa tan. Lưu ý rằng kiểu cấu trúc này phần lớn không được ưa chuộng vì nhiều lý do khá tốt.
Tuy nhiên, tôi đã lập luận (ví dụ: tại đây , tại đây , tại đây và tại đây ) EAV đó là EVIL, ngoại trừ trường hợp không phải vậy. Một trong những ngoại lệ hiếm hoi đó là trong trường hợp danh mục sản phẩm mà bạn đang theo dõi các thuộc tính của sản phẩm và ở đó các thuộc tính đó không thú vị ( đối với hệ thống của bạn! ) ngoại trừ trong chừng mực khi bạn cần lấy chúng và in chúng ra trên trang web sản phẩm hoặc lưới so sánh, v.v.
Hãy xem xét một thiết kế như thế này:
Những gì bạn đang làm trong một mô hình như thế này là mô tả sản phẩm thuộc tính nào trong một danh mục nhất định phải có, những giá trị mà các thuộc tính đó có thể có và sau đó là những giá trị mà mỗi sản phẩm cụ thể có cho từng thuộc tính.
Thiết kế này có tất cả những hạn chế thông thường mà EAV áp đặt. Tuy nhiên, nếu bạn muốn hỏi những câu hỏi như:"Hạt nào có đường kính 8mm?" điều đó khá dễ hiểu.