Hệ thống website được thiết kế để phục vụ doanh nghiệp trong quá trình kinh doanh các sản phẩm thương mại điện tử, đồng thời hỗ trợ người dùng đặt mua hàng qua mạng một cách thuận lợi nhất bằng nhiều cách thức khác nhau.
Website được thiết kế cho nhiều đối tượng người sử dụng khác nhau, bao gồm: người dùng có tài khoản(người dùng), người dùng với tư cách khách(khách), nhân viên, quản trị viên.
thống, trước tiên ta cần phải lưu trữ thông tin về các sản phẩm để hệ thống đó thể truy xuất và hiển thị lên website, mỗi sản phẩm đều có id sản phẩm khác nhau, hệ thống cần lưu trữ các thông tin về sản phẩm như: loại sản phẩm(điện thoại, máy tính bảng, laptop, đồng hồ thông minh), tên sản phẩm, hãng (apple, samsung, …), toàn bộ thông tin cấu hình sản phẩm, tên hình của sản phẩm để hiển thị, bên cạnh đó, ta cần tạo thêm một trường lưu trữ nhiều hình ảnh mô tả chi tiết hơn nữa về sản phẩm, giá sản phẩm.
Để có thể đặt mua hàng trên hệ thống, người sử dụng cần tạo tài khoản để hệ thống có thể sử dụng thông tin của người dùng để khởi tạo đơn hàng. Vì vậy, ta cần khởi tạo cơ sở dữ liệu lưu trữ thông tin tài khoản người dùng.
Mỗi khi người dùng tạo tài khoản, hệ thống sẽ tự động sinh ra id của người dùng, giá trị id này là phân biệt đối với mỗi người dùng khác nhau. Tài khoản người dùng cần lưu trữ các thông tin: họ tên, email người dùng, số điện thoại, địa chỉ, vai trò của người dùng. Bên cạnh đó, ngoài việc lưu trữ thông tin người dùng, cơ sở dữ liệu tài khoản người dùng này còn dùng để lưu trữ thông tin tài khoản của nhân viên, tài khoản nhân viên sẽ do quản trị viên tạo. Cơ sở dữ liệu này sẽ phân biệt người dùng hoặc nhân viên thông qua thông tin vai trò được lưu trong bảng.
Đối với tính năng đặt hàng trên hệ thống website, hệ thống có hỗ trợ đặt hàng trên hệ thống và đặt hàng trên chatbot. Đối với đặt hàng trên hệ thống thì yêu cầu người dùng phải đăng nhập. Đối với đặt hàng qua chatbot thì không nhất thiết phải đăng nhập. Khi đặt hàng bằng cả 2 phương thức này thì hệ thống sẽ cần phải lưu trữ thông tin đơn hàng trên cơ sở dữ liệu. Vì vậy ta cần phải tạo cơ sở dữ liệu lưu trữ thông tin đơn hàng. Mỗi đơn hàng sẽ được định danh bằng một mã đơn hàng có 20 ký tự, mã đơn hàng này là duy nhất đối với mỗi đơn hàng, mỗi đơn hàng có thể có một hoặc nhiều sản phẩm. Mỗi đơn hàng sẽ lưu trữ các thông tin như sau: Mã đơn hàng, tên người đặt hàng, email đặt hàng, số điện thoại, danh sách sản phẩm, địa chỉ nhận hàng, tình trạng đơn hàng, thời gian đặt hàng, phương thức thanh toán.
Yêu cầu quan trọng nhất của hệ thống website là website phải có khả năng gợi ý sản phẩm cho người dùng cũng như tìm ra danh sách các sản phẩm phổ biến mà giới thiệu cho người dùng. Để có thể gợi ý sản phẩm cho người dùng, ta cần phải lưu trữ thông tin lịch sử tương tác của người dùng với sản phẩm.
Đối với những người dùng khách hay những người dùng mới tạo tài khoản thì không có lịch sử tương tác, vì vậy ta sẽ gợi ý dựa trên mức độ phổ biến của sản phẩm. Ta sẽ tiến hành tạo cơ sở dữ liệu để lưu trữ thông tin về số lượt xem của sản phẩm, cơ sở dữ liệu này sẽ có các trường thông tin như sau: id sản phẩm và số lượt xem, trong đó id sản phẩm phải khớp với id sản phẩm này phải khớp với id của sản phẩm trong cơ sở dữ liệu sản phẩm.
Đối với người dùng cụ thể, ta sẽ dựa vào lịch sử tương tác của họ để xem xét độ tương quan về sở thích với các người dùng khác để đưa ra gợi ý. Vì vậy ta sẽ phải lưu trữ lượt xem của từng người dùng cụ thể này. Ta cần tạo cơ sở dữ liệu và lưu trữ các trường thông tin như sau: id người dùng, email người dùng, id sản phẩm, số lượt xem của sản phẩm đó. Dữ liệu phải đảm bảo id người dùng phải khớp với id người dùng trong bảng tài khoản người dùng, id sản phẩm phải khớp với id của sản phẩm trong bảng danh sách sản phẩm.
Đối với website này, quản trị viên sẽ kiểm soát thông tin thống kê về việc tương tác của khách hàng với sản phẩm, đặc biệt là kiểm tra mức độ hiệu quả của phân hệ gợi ý. Hệ thống website chúng ta có 2 mô hình phân hệ gợi ý chính là gợi ý theo người dùng, và gợi ý sản phẩm liên quan theo 1 sản phẩm cụ thể nào đó. Ta cần tạo lập thêm cơ sở dữ liệu để lưu trữ lịch sử tương tác của người dùng với các sản phẩm trên hệ thống để từ đó tính toán ra mức độ hiệu quả của phân hệ gợi ý.
Vì có 2 mô hình phân hệ gợi ý nên ta cần có 2 bảng nhật ký lưu trữ lịch sử tương tác của người dùng với sản phẩm. Khi người dùng tương tác với mọi sản phẩm được gửi tới người dùng thông qua phân hệ gợi ý, mọi thông tin đều được lưu trữ trong 2 bản nhật ký này. Đối với mỗi bảng nhật ký, ta sẽ lưu trữ 2 trường thông tin là: mã phiên tương tác và lịch sử tương tác.
Đây là toàn bộ đặc tả về nghiệp vụ lưu trữ dữ liệu của hệ thống website. Bây giờ ta sẽ tiến hành vẽ ra mô hình thực thể liên kết của cơ sở dữ liệu trong hệ thống của chúng ta:
Hình 4.2: mô hình EERD
Thực thể Tài khoản đại diện cho những người dùng có thông tin tài khoản tồn
tại trên hệ thống, bao gồm Tài khoản người dùng dành cho người dùng tự tạo tài khoản trên website, Tài khoản nhân viên dành cho tài khoản nhân viên được quản trị viên tạo ra.
Thực thể Khách đại diện cho những người dùng truy cập với tư cách
khách(không có tài khoản hệ thống). Khách có các chức năng: tạo tài khoản người dùng, đặt hàng trên chatbot.
Những người dùng có thông tin tài khoản tồn tại trên hệ thống(Thực thể Tài khoản) vẫn có thể đặt mua hàng trên chatbot. Hơn nữa có thể đặt hàng trên hệ thống.
Chỉ những người dùng có tài khoản nhân viên (Thực thể Tài khoản nhân viên) mới có thể Xác nhận, Xem thông tin đơn hàng.
Thực thể Quản trị viên đại diện cho những người dùng là quản trị viên của hệ
thống. Quản trị viên có thể Xem, Xoá thông tin tài khoản của người dùng cũng như nhân viên(Thực thể Tài khoản).
Quản trị viên có thể Tạo, Xoá, Sửa thông tin sản phẩm(Thực thể Sản phẩm). Quản trị viên cũng là người nắm rõ thông tin về lịch sử tương tác của các sản phẩm gợi ý (Thực thể Lịch sử tương tác sản phẩm gợi ý).
Thực thể Lịch sử tương tác sản phẩm gợi ý dùng để lưu trữ thông tin tương tác của người dùng khi người dùng tương tác với các sản phẩm mà phân hệ gợi ý đã gợi ý ra cho người dùng. Có 2 loại phân hệ gợi ý là: gợi ý theo người dùng(Thực thể Sản phẩm gợi ý theo người dùng) và gợi ý theo sản phẩm(Thực thể Sản phẩm gợi ý theo sản phẩm).
Thực thể Đơn hàng đại diện cho thông tin của đơn hàng mà người dùng đã đặt hàng. Một đơn hàng có thể có 1 hoặc nhiều sản phẩm(Thực thể Sản phẩm).
Thực thể Sản phẩm đại diện cho thông tin sản phẩm tồn tại trên hệ thống. Mỗi sản phẩm đều sẽ có số lượt xem của khách đại diện cho số lượng người dùng truy cập vào sản phẩm này(Thực thể Lượt xem của khách), và số lượt xem của một người dùng cụ thể đối với một sản phẩm cụ thể nào đó(Thực thể Lượt xem).
Thực thể yếu Lượt xem của khách đại diện cho số lượng tương tác của người
dùng với các sản phẩm của hệ thống, được sử dụng để gợi ý những sản phẩm phổ biến, được xem nhiều nhất cho người dùng.
Thực thể Lượt xem đại diện cho số lượng tương tác của người dùng xác định với các sản phẩm của hệ thống, được sử dụng để gợi ý sản phẩm theo từng người dùng xác định.