Dưới đây là một thiết kế cơ sở dữ liệu cho phần sản phẩm trong thương mại điện tử với điều kiện một sản phẩm có nhiều phân loại và nhiều giá khác nhau:
Bảng: Products (Sản phẩm)
- ProductID (ID Sản phẩm): Khóa chính, số nguyên duy nhất
- Name (Tên sản phẩm): Chuỗi
- Description (Mô tả): Văn bản
- CreatedAt (Ngày tạo): Ngày và giờ
- UpdatedAt (Ngày cập nhật): Ngày và giờ
Bảng: Categories (Danh mục)
- CategoryID (ID Danh mục): Khóa chính, số nguyên duy nhất
- Name (Tên danh mục): Chuỗi
Bảng: ProductVariants (Phiên bản sản phẩm)
- VariantID (ID Phiên bản): Khóa chính, số nguyên duy nhất
- ProductID (ID Sản phẩm): Khóa ngoại liên kết với bảng Products
- Name (Tên phiên bản): Chuỗi (ví dụ: Màu sắc, Kích cỡ)
- Value (Giá trị phiên bản): Chuỗi (ví dụ: Đỏ, XL)
Bảng: Prices (Giá sản phẩm)
- PriceID (ID Giá): Khóa chính, số nguyên duy nhất
- VariantID (ID Phiên bản): Khóa ngoại liên kết với bảng ProductVariants
- Price (Giá): Số thực
- Currency (Đơn vị tiền tệ): Chuỗi (ví dụ: USD, VND)
Bảng: ProductImages (Hình ảnh sản phẩm)
- ImageID (ID Hình ảnh): Khóa chính, số nguyên duy nhất
- ProductID (ID Sản phẩm): Khóa ngoại liên kết với bảng Products
- ImageURL (URL Hình ảnh): Chuỗi
Bảng: Reviews (Đánh giá)
- ReviewID (ID Đánh giá): Khóa chính, số nguyên duy nhất
- ProductID (ID Sản phẩm): Khóa ngoại liên kết với bảng Products
- Rating (Điểm đánh giá): Số nguyên (thường từ 1 đến 5)
- Comment (Bình luận): Văn bản
- CreatedAt (Ngày tạo): Ngày và giờ
Trong thiết kế này, bảng "ProductVariants" chứa thông tin về các phiên bản của sản phẩm, ví dụ như màu sắc, kích cỡ. Bảng "Prices" lưu thông tin về giá sản phẩm dựa trên các phiên bản. Mỗi phiên bản có thể có nhiều giá khác nhau dựa trên đơn vị tiền tệ.
Hãy lưu ý rằng thiết kế cơ sở dữ liệu có thể thay đổi dựa trên yêu cầu cụ thể của dự án và cách thức bạn muốn quản lý sản phẩm và giá cả.