Mô hình cơ sở dữ liệu

Một phần của tài liệu xây dựng hệ thống thương mại điện tử cung ứng vật liệu xây dựng (Trang 53 - 56)

3.3.1.1. Mô hình cơ sở dữ liệu user

Mô hình dữ liệu phần user:

Hình 52: Mô hình dữ liệu user

Tất cả các user tham gia vào hệ thống đều được lưu vào bảng user. Thông tin về người dùng bao gồm các thông tin về tên đăng nhập, mật khẩu, email, tên đầy đủ, …. Ứng với mỗi mức người dùng trên hệ thống ta có các giá trị khác nhau của trường superuser với các giá trị 1 là user thường, 2 là đơn vị vận chuyển, 3 là nhà cung cấp, 4 là đại lý phân phôi, 5 là người quản trị hệ thống. Với mỗi người dùng hệ thống sẽ được cung cấp một mã kích hoạt lưu trong activekey. Khi tạo tài khoản, lấy lại mật khẩu hệ thống sẽ tạo lại một mã kích hoạt và gửi vào email yêu cầu người dùng xác nhận. Mỗi mã kích hoạt được tạo ra random và không trùng với những mã kích hoạt trước đó để đảm bảo chỉ duy nhất một yêu cầu của người dùng được chấp thuận. Người quản trị sẽ dùng trường status để quản lý trạng thái người dùng. Ứng với các giá trị -1, 0, 1 ta sẽ có các trạng thái tương ứng của user trên hệ thống là khóa, chưa kích hoạt, và active.

Với nhà cung cấp tham gia hệ thống, các thông tin về sản phẩm, giá cung cấp được lưu trong bảng supplier_product. Quan hệ giữa user và supplier_product là quan hệ một – nhiều. Một nhà cung cấp có thể cung cấp nhiều sản phẩm. Ứng với mỗi sản phẩm sẽ được lưu và bảng supplier_product.

Bảng distributor_product là bảng lưu thông tin về một sản phẩm mà đại lý phân phối. Thông tin trong bảng này cung cấp là về đại lý, sản phẩm, nhà phân phối. Mỗi đại lý có thể phân phối nhiều sản phẩm, ứng với mỗi sản phẩm mà đại lý phân phối sẽ được lưu lại trong bảng distributor_product gồm id của sản phẩm, đại lý, giá sản phẩm, số lượng sản phẩm.

Bảng user_bank lưu thông tin ngân hàng mà đại lý có tài khoản bao gồm id đại lý, ngân hàng, số tài khoản của đại lý.

Bảng transporter_method lưu các loại hình vận chuyển trên hệ thống. Mỗi loại hình vận chuyển trên hệ thống sẽ lưu trữ các thông tin: tên loại hình vận chuyển (title), mô tả (description), giá loại hình vận chuyển (price), đơn vị tính (unit), thuế mà loại hình vận chuyển này phải chịu. Tương ứng với các loại hình vận chuyển ta có bảng transporter_vehicle. Bảng này lưu thông tin về đại lý và loại hình vận chuyển mà đại lý cung cấp. Thông tin về đại lý là transporter_id là khóa ngoài đến bảng user, loại hình vận chuyển method_id khóa ngoài đến transporter_method, và số lượng mà đại lý có.

3.3.1.2. Mô hình cơ sở dữ liệu sản phẩm

Mô hình cơ sở dữ liệu sản phẩm:

Hình 53: Mô hình cơ sở dữ liệu sản phẩm

Danh mục sản phẩm lưu trong bảng category. Thông tin về một danh mục sản phẩm bao gồm : tên danh mục (name), danh mục cha (parent_id), trạng thái danh mục (status), mô tả danh mục (description)….

Thuế được lưu trong bảng tax bao gồm tên thuế (title), giá trị thuế (percent) tính theo phần trăm.

Sản phẩm trên hệ thống được lưu trong bảng product. Một sản phẩm sẽ phải có danh mục chứa sản phẩm đó (category_id) là khóa ngoài liên kết đến bảng category. Thuế mà sản phẩm phải chịu (tax_id) khóa ngoài của bảng tax. Các thông tin về sản phẩm bao gồm tên sản phẩm, trạng thái, mô tả sản phẩm. Với mỗi sản phẩm có thể có nhiều ảnh đại diện. Thông tin về ảnh đại diện được lưu trong bảng product_image. Bảng này có các thông tin về tên ảnh, tên file ảnh trên hệ thống. Quan hệ giữa bảng product và product_image là quan hệ một-nhiều. Một sản phẩm có thể có nhiều ảnh.

3.3.1.3. Mô hình cơ sở dữ liệu đơn hàng

Hình 54: Mô hình cơ sở dữ liệu đơn hàng

Mỗi đơn hàng khi được tạo sẽ được lưu vào bảng order. Có hai loại đơn hàng trên hệ thống là đơn hàng do khách hàng đặt với đại lý (order_type = 1) và đơn hàng do đại lý đặt đối với nhà cung cấp (order_type = 2). Mỗi đơn hàng có một mã đơn hàng riêng được lưu trong trường code để phân biệt các đơn hàng với nhau. Trường distributor_id là id của đại lý tham gia vào đơn hàng, user_id là thông tin của khách hàng nếu đơn hàng này là đơn hàng khách hàng (order_type = 1), và là id của nhà cung cấp nếu đơn hàng này do đại lý đặt (order_type = 2). Cả hai trường này đều liên kết đến trường id của bảng user. Trường delivery_address_id là địa chỉ nhận hàng là khóa ngoài liên kết với trường id của bảng address. Các trường

payment_method, transporter_method là các khóa ngoài liên kết đến các bảng payment_method và transporter_method. Các bảng này lưu thông tin về phương thức thanh toán và phương thức vận chuyển. Trạng thái của đơn hàng sẽ được cập nhật tương ứng với các giai đoạn thực hiện của đơn hàng trên hệ thống. Các trạng thái của đơn hàng trên hệ thống bao gồm: chờ kiểm hàng, đã kiểm hàng, chờ thanh toán, đã thanh toán, đang vận chuyển, đã nhận hàng. Các thông tin còn lại về đơn hàng bao gồm các thông tin về giá đơn hàng chưa tính vận chuyển và thuế, thuế đơn hàng, giá vận chuyển, giá thuế vận chuyển, tổng giá của đơn hàng.

Tương ứng với mỗi đơn hàng trên hệ thống là một đơn hàng vận chuyển. Đơn hàng vận chuyển sẽ được lưu trong bảng order_transporter. Thông tin về đơn hàng vận chuyển bao gồm: mã đơn hàng order_id là khóa ngoài liên kết với trường id của bảng order, phương pháp vận chuyển, đơn vị vận chuyển, số lượng vận chuyển, và giá vận chuyển.

Một phần của tài liệu xây dựng hệ thống thương mại điện tử cung ứng vật liệu xây dựng (Trang 53 - 56)

Tải bản đầy đủ (DOC)

(59 trang)
w