Tôi đang thực hiện một dự án thương mại điện tử và đang bối rối về thiết kế cơ sở dữ liệu để lưu trữ sản phẩm. Có 3 cách tôi đã suy đoán cơ sở dữ liệu có thể được thực hiện:Thiết kế Cơ sở dữ liệu thương mại điện tử - MySQL
1. Có thể có các bảng riêng biệt cho từng danh mục sản phẩm.
Table: Categories
------------------
cat_ID
cat_name
Table: Sub_Categories
---------------------
sub_cat_ID
categories_cat_ID
sub_cat_name
Table: Books
-------------
book_ID
sub_categories_sub_cat_ID
book_title
book_author
book_ISBN
book_price
etc
Table: Clothes
---------------
clothes_ID
sub_categories_sub_cat_ID
clothes_name
clothes_color
clothes_size
clothes_description
clothes_price
etc
Table: Perfumes
----------------
perfumes_ID
sub_categories_sub_cat_ID
perfume_name
perfume_size
perfume_weight
perfume_description
perfume_price
etc
2. Nhóm tất cả các sản phẩm với nhau trong một bảng và cho phép một số giá trị là null
Table: Categories
------------------
cat_ID
cat_name
Table: Sub_Categories
---------------------
sub_cat_ID
categories_cat_ID
sub_cat_name
Table: Products
---------------
product_ID
sub_categories_sub_cat_ID
title
description
price
author (can be null for everything except books)
size
weight (can be null for everything except perfumes)
ISBN (can be null for everything except books)
color (can be null for everything except clothes)
etc
3. Nhóm lĩnh vực cột tương tự với nhau trong một bảng gọi là sản phẩm, và cung cấp các bảng riêng biệt cho dữ liệu cụ thể.
Table: Categories
------------------
cat_ID
cat_name
Table: Sub_Categories
---------------------
sub_cat_ID
categories_cat_ID
sub_cat_name
Table: Products
----------------
product_ID
sub_categories_sub_cat_ID
title
description
price
Table: Books
-------------
products_product_id
sub_categories_sub_cat_ID
author
publisher
ISBN
Table: Perfumes
----------------
products_product_id
sub_categories_sub_cat_ID
size
weight
Table: Clothes
--------------
products_product_id
sub_categories_sub_cat_ID
color
size (this can be a one to many relationship to cater to multiple sizes of one product?)
Tôi thực sự sẽ đánh giá cao sự giác ngộ, cảm ơn bạn
Cảm ơn sự giúp đỡ của bạn. Vấn đề chính của tôi là cách/nơi lưu trữ dữ liệu khác nhau cho các loại sản phẩm khác nhau. I E. bạn sẽ có một cột cho tác giả/ISBN/màu/kích cỡ/trọng lượng/etc tất cả trong bảng sản phẩm hoặc bạn sẽ tách chúng ra để tránh giá trị null? – a7omiton
Tôi sẽ có một bảng 'sản phẩm' cơ sở và sau đó có thể là bảng' product_attributes' cho dữ liệu bổ sung như số ISBN và không phải mọi sản phẩm đều có số ISBN nếu nó không phải là ấn phẩm. –
Vì vậy, phương pháp 3 sẽ là con đường để đi (ngoài bảng sub_categories)? Hay bạn đang nói rằng mọi thuộc tính cho tất cả các sản phẩm phải được đặt trong bảng product_attributes? – a7omiton