Yêu cầu thg 7 9, 5:56 SA 255 1 1
  • 255 1 1
0

Thiết kế database cho product của hệ thống ecomerce

Chia sẻ
  • 255 1 1

Tôi đang gặp vấn đề khi thiết kế cơ sở dữ liệu cho một hệ thống thương mại điện tử. Cụ thể, tôi đang thiết kế bảng product nhưng gặp khó khăn ở chỗ mỗi sản phẩm lại có những thuộc tính khác nhau. Ví dụ, điện thoại có các thuộc tính như màu sắc và RAM; trong khi quần áo lại có các thuộc tính như màu sắc và kích thước. Hơn nữa, bên trong mỗi thuộc tính này lại có các giá trị khác nhau, ví dụ như màu sắc có thể là đỏ, xanh, v.v. Các bạn có thể tư vấn cho tôi cách thiết kế cơ sở dữ liệu để giải quyết vấn đề này không?

thg 7 10, 3:13 SA

bạn copy câu bạn hỏi paste vào ChatGPT là có câu trả lời đó.

Avatar van ninh @vanninh0102
thg 7 14, 2:11 CH

Bạn có thể tham khảo thằng Magento. Nó thiết kế theo kiểu Entity-Attribute-Value Pattern. Trên viblo cũng có bài viết rồi.

1 CÂU TRẢ LỜI


Đã trả lời thg 7 11, 10:00 SA
Đã được chấp nhận
0

Với mình và mình cũng từng làm qua nhiều project về ecommerce rồi thì cơ bản sẽ thiết kế ntn:

Bảng dtb_class_names Để lưu các loại thuộc tính chung mà sản phẩm có thể có. Ví dụ: Màu Sắc, Kích Thước, RAM, v.v.

id: Khóa chính
name: Tên của loại thuộc tính (e.g., Màu Sắc, RAM)

Bảng dtb_class_categories Để lưu các giá trị cụ thể cho mỗi loại thuộc tính. Ví dụ: Đỏ, Xanh cho Màu Sắc, 4GB, 8GB cho RAM.

id: Khóa chính
name: Tên của giá trị thuộc tính (e.g., Đỏ, Xanh, 4GB, 8GB)
class_name_id: Khóa ngoại tham chiếu đến dtb_class_names

Bảng products Để lưu thông tin về sản phẩm.

id: Khóa chính
name: Tên sản phẩm
description: Mô tả sản phẩm
Các thông tin cơ bản khác (giá, hình ảnh, v.v.)

Bảng product_attributes Để lưu các thuộc tính cụ thể của từng sản phẩm. Ví dụ, sản phẩm A có thuộc tính Màu Sắc là Đỏ, RAM là 4GB.

product_id: Khóa ngoại tham chiếu đến products
class_name_id: Khóa ngoại tham chiếu đến dtb_class_names
class_category_id: Khóa ngoại tham chiếu đến dtb_class_categories

Để đơn giản thì bạn cũng có thể bỏ table product_attributes luôn, thêm các field như class_category_id1, class_category_id2,... trên bảng product luôn tùy thuộc hệ thống của bạn....

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí