Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

giản đồ cơ sở dữ liệu cho các thuộc tính sản phẩm

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 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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng hợp lý các lớp trong các lớp khác trong php?

  2. Tạo một chuỗi ngày

  3. Làm thế nào để kiểm tra xem một hàng có tồn tại trong MySQL hay không? (tức là kiểm tra xem email có tồn tại trong MySQL hay không)

  4. Hàm SELECT trong MySQL để tính tổng dữ liệu hiện tại

  5. Vấn đề trên KEY DUPLICATE + AUTO INCREMENT mysql