Avatar
0
Công Huy Beginner
Công Huy Beginner
Thiết kế class diagram và db cho ứng dụng E-commerce
Em muốn hỏi về thiết kế class diagram và database của 1 hệ thống e-commerce trong thực tế thường sẽ như thế nào ạ? Em đang có bài tập lớn trên trường, lúc đầu em thiết kế các lớp trên ứng dụng ở pha phân tích gồm 3 model là Product, Category, và 1 model là CustomField có 2 thuộc tính name và value để người dùng nhập thêm thông tin mong muốn cho sản phẩm, các lớp ORM và bảng trong db em cũng định để 3 bảng như tương ứng luôn.

Nhưng khi thầy em chữa bài và thiết kế theo kiểu với mỗi loại mặt hàng thì sẽ có model và bảng riêng cho loại mặt hàng ý thì em thấy nó rất sai ở chỗ là nếu cứ có thêm nghiệp vụ bán thêm 1 loại hàng ví dụ như điện thoại thì thầy lại cho thêm model và bảng vào cũng như phải viết thêm chức năng cho riêng loại hàng ý. Em có ý kiến lên để hỏi thì thầy bảo là đây mới là pha phân tích các lớp trên ứng dụng, chưa tới pha thiết kế các lớp ORM và db, nhưng với các lớp như vậy thậm chí không kế thừa chung từ 1 class Product mà làm như này thì kiểu j lúc bán thêm mặt hàng nào là dev cùng phải code thêm cho riêng loại sản phẩm ý. Em chưa đi làm và muốn hỏi xem 1 hệ thống thương mại điện tử sẽ thiết kế database cho phần này như thế nào ạ?

  • Answer
Remain: 5
1 Answer
Avatar
dungtv Beginner
dungtv Beginner
Để nói về thương mại điện tử thì cơ bản các cơ sở dữ liệu đều khá giống nhau, thế nên hoàn toàn có thể lấy magento, một framework chuyên cho thương mại điện tử để tham khảo, em có thể xem phần cơ bản ở đây nhé: https://docs.magento.com/mbi/data-analyst/data-warehouse-mgr/entity-rel-diag.html

Để mà code được dễ dàng thì đúng như em nói, phải tận dụng được các bảng và theo anh thì cách làm của em là hợp lý, tuy nhiên có thể thầy giáo em đang làm như vậy và nó vẫn chạy ổn thì cũng ok, mặc dù lúc maintain sẽ tương đối vất vả.

Kết lại là anh cũng làm như em nhưng anh ko gọi bảng là custom field mà là product meta

  • 1
  • Reply
Em cảm ơn anh ạ.  –  Công Huy 1650662443000