Thiết kế cơ sở dữ liệu cho một trang web thương mại điện tử


7

Tôi mới thiết kế cơ sở dữ liệu. Tôi đang thiết kế cơ sở dữ liệu cho một trang web thương mại điện tử, có rất nhiều sản phẩm được cập nhật, nhưng trong khi thiết kế bảng thông số kỹ thuật sản phẩm, tôi không hiểu liệu tôi có cần chỉ định tất cả các thông số kỹ thuật trong một bảng hay tôi cần sử dụng khác nhau bảng cho sản phẩm khác nhau?

Ví dụ: hãy xem xét các sản phẩm Di động và sách, mỗi sản phẩm đều có thông số kỹ thuật duy nhất (chẳng hạn như màu sắc, kích thước, giá thành, kiểu máy cho điện thoại di động và tiêu đề, ISBN, tác giả, chi phí, year_of_publication, v.v. cho sách), nếu nó chỉ ít hơn Số lượng sản phẩm sau đó tôi có thể thiết kế, nhưng khi có hàng ngàn sản phẩm, nó mất rất nhiều thời gian.

Bất cứ ai có thể cho tôi biết làm thế nào để thiết kế cơ sở dữ liệu của tôi để quản lý tình huống này?


Câu trả lời:


5

Nếu bạn biết hầu hết các thuộc tính mà sản phẩm của bạn sẽ có trước thời hạn, bạn có thể mã hóa chúng vào các bảng cho các loại sản phẩm khác nhau, chẳng hạn như:

sách
-----
  Tôi
  giá bán
  tiêu đề
  tác giả
  isbn
  Vân vân....

thiết bị di động
-------------
  Tôi
  giá bán
  kích thước
  màu sắc
  mô hình
  Vân vân...

Bạn cũng có thể thử một cái gì đó như thế này:

cơ sở
------------
  Tôi
  cơ sở
  Loại sản phẩm

book_product_attribut
-----------------------
  base_product_id (FK đến base_product)
  tiêu đề
  tác giả

mobile_dev_product_attribut
-----------------------------
  base_product_id (FK đến base_product)
  mô hình
  màu sắc

Bằng cách này, bạn có thể nhóm các thuộc tính phổ biến của mình trong bảng sản phẩm cơ sở và các thuộc tính cụ thể hơn được lưu trữ trong các bảng khác khi cần thiết.

Điều này sẽ hoạt động nếu các loại sản phẩm của bạn chủ yếu là tĩnh. Mặt khác, nếu bạn không biết loại sản phẩm hoặc thuộc tính nào bạn sẽ cần trong tương lai và hệ thống dựa trên giá trị thuộc tính thực thể có thể hoạt động tốt hơn. Ý tưởng đằng sau mô hình đó là bạn có một bảng cho các thuộc tính khác nhau mà bạn có thể có, một bảng cho các thực thể khác nhau trong hệ thống của bạn và bảng cho các giá trị thuộc tính mà thực thể có. Thí dụ:

thực thể
--------
  Tôi

thuộc tính
----------
  Tôi
  Tên

giá trị
------
  Tôi
  ID phap nhân
  property_id
  giá trị

Dữ liệu có thể trông như thế này:

thực thể
TÔI
----
  1

thuộc tính
ID | Tên   
----------
1 | tiêu đề
2 | tác giả


giá trị
ID | thuộc tính_id | thực thể | giá trị
-------------------------------------------------- -------
1 | 1 | 1 | "Kỳ vọng lớn"
2 | 2 | 1 | "Charles Dickens"

Dữ liệu này mô tả rất ngắn gọn một sản phẩm có hai thuộc tính: tiêu đề và tác giả, với giá trị tương ứng là "Kỳ vọng lớn" và "Charles Dickens".

Xin lưu ý rằng việc sử dụng cơ sở dữ liệu EAV có thể khiến các truy vấn trở nên rất khó xử. Với đủ dữ liệu và thiết kế mô hình sai, bạn cũng có thể gặp vấn đề về hiệu năng. Ví dụ tôi đưa ra rất đơn giản nhưng thiết kế thực tế hơn có xu hướng phức tạp hơn thế. Có thể mất thời gian để có được loại cơ sở dữ liệu này chính xác và nó không phải luôn luôn là giải pháp tốt nhất.


Xin chào, cảm ơn bạn đã dành thời gian cho tôi, vì tôi là người mới tham gia DBA Tôi có thể hiểu được từ những dòng của bạn ... xin lỗi vì tiếng Anh của tôi.
Rathish

2

Tôi sẽ cung cấp cho bạn các chi tiết thiết kế dựa trên kinh nghiệm của tôi ..

Phần phân tích .... chúng ta đang nói về sản phẩm và thông số kỹ thuật của nó. Thực thể sản phẩm chứa tất cả các thông tin sản phẩm như xe hơi, điện thoại di động, sách, v.v. Thực thể đặc điểm kỹ thuật chứa tất cả các thông số kỹ thuật như màu sắc, kích thước, mẫu mã, giá thành, tiêu đề, v.v ... Ở đây mỗi sản phẩm chứa nhiều thông số kỹ thuật và mỗi thông số kỹ thuật thuộc về một hoặc nhiều sản phẩm. Có rất nhiều mối quan hệ giữa các thực thể Sản phẩm và thông số kỹ thuật của nó. Ở cấp độ cơ sở dữ liệu vật lý, bạn có thể tìm thấy ba bảng cơ bản là .. SẢN PHẨM, THÔNG SỐ KỸ THUẬT, SẢN PHẨM XÁC NHẬN ................ ..................

SẢN PHẨM -> Id sản phẩm (PK), Tên sản phẩm, Mô tả

THÔNG SỐ KỸ THUẬT -> Thông số kỹ thuật id (PK), Tên thông số kỹ thuật, Mô tả

SẢN PHẨM DELECATIONATION ---> Id sản phẩm (PK), Id thông số kỹ thuật (PK), prod_spec_Value

Chúng tôi có thể mở rộng thiết kế này dựa trên các yêu cầu.

Trân trọng, Bharath


bạn không đề nghị eavsao?
Em bé trong cơ sở dữ liệu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.