Nhận diện và mô tả các thực thể, xác định thuộc tính thực thể- Khách hàng Customer: mã khách hàng, tên khách hàng, địa chỉ khách hàng, sốđiện thoại, giới tính, ngày tháng năm sinh.● Thuộ
GIỚI THIỆU MÔ HÌNH KINH DOANH
Đối tượng tham gia mô hình
- Khách hàng đặt đồ ăn - Người bán hàng - Nhân viên công ty - Bộ phận vận chuyển - Ngân hàng
- Ứng dụng đặt đồ ăn
Quy trình kinh doanh tổng quát
3.2 Quy trình đăng ký trở thành đối tác
Hình 2 Quy trình đăng ký trở thành đối tác
Bước 1: Các nhà cung cấp thực phẩm sẽ đăng ký tài khoản định danh, cung cấp thông tin để phục quá trình kinh doanh
Bước 2: Tiến hành các cam kết hợp đồng đối với phía công ty về phần trăm chiết khấu của từng sản phẩm
Bước 3: Phía nhà cung cấp thực phẩm đưa ra các dự án quảng cáo, khuyến mãi, nhà cung cấp tiến hành cập nhật hình ảnh sản phẩm, giá bán của các sản phẩm.
3.3 Quy trình đặt đồ ăn
Bước 1: Khách hàng sẽ được cung cấp thông tin về sản phẩm và lựa chọn mua sản phẩm qua ứng dụng đặt đồ ăn.
Bước 2: Kiểm soát thông tin đặt hàng thông qua cơ sở dữ liệu đơn hàng.
Bước 3: Khi khách hàng thanh toán thành công thông qua dịch vụ Internet Banking sẽ xuất thông tin hóa đơn.
Bước 4: Ứng dụng xử lý đơn hàng và đưa yêu cầu xác nhận đến người bán hàng
Hình 3 Quy trình đặt đồ ăn
3.4 Quy trình giao đồ ăn
+ Shop nhận được đơn hàng và bắt đầu order + Người giao hàng nhận được thông báo giao hàng và xác nhận Bước 2:
+ Người giao hàng nhận hàng và nơi bán xác nhận trên app đơn hàng đã được chuyển đi
+ Hệ thống thông báo vị trí của người giao hàng , dự tính thời gian đến nơi, đặc điểm người giao hàng( biển số xe, )
+ Người bán hàng nhận tiền ứng từ shipper Bước 3:
+ Người giao hàng đến nơi: Xác nhận đơn hàng cho khách hàng+ Khách hàng: Thanh toán cho đơn hàng bằng tiền mặt
Hình 4 Quy trình giao đồ ăn 3.5 Quy trình thanh toán đơn hàng
+ Sau khi đơn hàng đã được xác nhận sẽ đến chọn phương thức thanh toán + Có 2 phương thức thanh toán chủ yếu là thanh toán bằng tiền mặt và chuyển khoản Bước 2:
+ Nếu chọn phương thức thanh toán bằng tiền mặt thì sẽ được người giao hàng thu hộ và xác định tình trạng đơn hàng sau đó chuyển lại vào tài khoản ngân hàng của công ty
+ Nếu chọn phương thức thanh toán bằng chuyển khoản thì sẽ tạo ra thông tin giao dịch bao gồm tài khoản ngân hàng của khách hàng gửi đến tài khoản ngân hàng của công ty sau đó xác nhận tình trạng thanh toán của đơn hàng
+ Ngân hàng sau khi nhận được tiền thanh toán sẽ xuất hóa đơn điện tử của đơn hàng gửi lại cho khách hàng
Hình 5 Quy trình thanh toán đơn hàng 3.6 Quy trình thanh toán công nợ cho nhà cung cấp
Bước 1: Ngân hàng sẽ căn cứ tổng hợp vào số lượng đơn hàng và giá trị của từng đơn hàng sau đó kết toán ra số tiền triết khấu theo từng kỳ.
Bước 2: Sau khi đã triết khấu, kế toán của công ty sẽ tính toán và đưa ra công nợ của doang nghiệp đối với phía nhà cung cấp và trả tiền cho nhà cung cấp.
Bước 3: Sau khi trả tiền thì phía ngân hàng của công ty sẽ gửi đến một chứng từ đã thanh toán công nợ cho phía nhà cung cấp.
Hình 6 Quy trình thanh toán công nợ
Chức năng chính của ứng dụng đặt đồ ăn
Chức năng này cho phép khách hàng, các cửa hàng cũng như là người giao hàng có thể được xác định vị trí một cách dễ dàng Từ đó giúp cho việc giao hàng trở nên thuận tiện hơn cũng như là giúp cho khách hàng có thể theo dõi hành trình giao hàng cụ thể.
4.2 Chức năng đặt hàng và hỗ trợ trong quá trình đặt hàng Đây có thể được xem là một trong những chức năng chính của app Trong đó khách hàng có thể dễ dàng lựa chọn nên món ăn mình yêu thích từ các gợi ý được đưa ra như là những món bán chạy trong tuần, những món ăn phù hợp theo thói quen, sở thích của khách hàng, cập nhật những món ăn đang là xu hướng. Đồng thời app cũng sẽ hiển thị các sản phẩm liên quan cho khách hàng lựa chọn cũng như là các mã giảm giá, khuyến mãi trong ngày, giúp cho khách hàng tiếp cận được sản phẩm Đây cũng là chức năng giúp cho các cửa hàng, nhà hàng có thể quảng bá thương hiệu của mình đến cho người dùng một cách tốt hơn
Khách hàng có thể tuỳ chọn các hình thức thanh toán phù hợp với mình như là ngân hàng, ví điện tử, thanh toán tiền mặt,
Chức năng quản lý đơn hàng Đây là chức năng dành cho các cửa hàng, nhà hàng Chức năng này sẽ giúp cho các cửa hàng có thể sắp xếp, quản lý tốt các đơn hàng của mình, gửi thông báo đến với người đặt hàng cũng như là đưa ra các thông tin chi tiết đến người giao hàng.
4.4 Chức năng đánh giá sản phẩm
Chức năng này cho phép khách hàng đánh giá món ăn mà mình đã đặt sau mỗi đơn, cũng như là đánh giá về dịch vụ giao hàng và đưa ra các bình luận, feedback để cửa hàng có thể hoàn thiện về chất lượng món ăn Đồng thời cũng dựa trên những đánh giá này sẽ giúp cho các khách hàng sau có thể đưa ra được lựa chọn có nên đặt món ăn đó hay không, nâng cao trải nghiệm khách hàng.
4.5 Chức năng lọc, tìm kiếm sản phẩm
Việc tối ưu hoá bộ lọc tìm kiếm là một điều vô cùng cần thiết đối với một app thương mại điện tử bởi vì khối lượng sản phẩm trên một app giao thức ăn nhanh là vô cùng lớn và sẽ gây cản trở khách hàng trong quá trình tìm kiếm món ăn phù hợp Việc lọc sản phẩm sẽ giúp cho người đặt hàng lựa chọn sản phẩm mình mong muốn một cách nhanh chóng và dễ dàng hơn, giúp cho nâng cao hơn về trải nghiệm khách hàng
THIẾT KẾ MÔ HÌNH QUAN HỆ THỰC THỂ
Nhận diện và mô tả các thực thể, xác định thuộc tính thực thể
- Khách hàng (Customer): mã khách hàng, tên khách hàng, địa chỉ khách hàng, số điện thoại, giới tính, ngày tháng năm sinh.
●Thuộc tính khóa:mã khách hàng.
●Thuộc tính đơn giá trị: mã khách hàng, tên khách hàng, số điện thoại, giới tính, ngày tháng năm sinh.
●Thuộc tính đa giá trị:địa chỉ khách hàng, số điện thoại.
●Thuộc tính kết hợp:địa chỉ khách hàng (tên đường, phường/xã, quận/huyện,…).
●Thuộc tính lưu trữ:ngày tháng năm sinh.
●Thuộc tính bắt buộc nhập:mã khách hàng, tên khách hàng, địa chỉ khách hàng, số điện thoại, giới tính, ngày tháng năm sinh.
- Tài khoản khách hàng (Customer_Account): tài khoản khách hàng đăng nhập, mật khẩu đăng nhập, mã khách hàng.
●Thuộc tính khoá:tài khoản khách hàng đăng nhập.
●Thuộc tính khoá ngoài:mã khách hàng.
●Thuộc tính đơn giá trị: tài khoản khách hàng đăng nhập, mật khẩu đăng nhập, mã khách hàng.
●Thuộc tính bắt buộc nhập: tài khoản khách hàng đăng nhập, mật khẩu đăng nhập, mã khách hàng.
- Nhân Viên giao hàng (Shipper): mã nhân viên giao hàng, họ tên nhân viên, số điện thoại, ngày vào làm, khu vực giao hàng, giới tính, ngày tháng năm sinh.
- Thuộc tính khóa:mã nhân viên.
- Thuộc tính đơn giá trị: mã nhân viên giao hàng, họ tên nhân viên, ngày vào làm, khu vực giao hàng.
- Thuộc tính đa giá trị:số điện thoại.
- Thuộc tính lưu trữ:ngày vào làm, ngày tháng năm sinh.
- Thuộc tính bắt buộc nhập: mã nhân viên giao hàng, họ tên nhân viên, số điện thoại, ngày vào làm, khu vực giao hàng, giới tính, ngày tháng năm sinh.
- Đơn đặt hàng (Order): mã đơn đặt hàng, mã tài khoản khách hàng, mã phương thức thanh toán, thời gian đặt hàng, ngày đặt hàng, tổng tiền đơn đặt hàng, tổng số lượng món ăn, thời gian giao hàng, ngày giao hàng, địa chỉ khách hàng phí giao đơn hàng.
●Thuộc tính khóa:mã đơn đặt hàng.
●Thuộc tính khóa ngoài:mã tài khoản khách hàng, mã phương thức thanh toán.
●Thuộc tính đơn giá trị: mã đơn đặt hàng, mã tài khoản khách hàng, mã phương thức thanh toán, thời gian đặt hàng, ngày đặt hàng, tổng tiền đơn đặt hàng, tổng số lượng món ăn, thời gian giao hàng, ngày giao hàng, phí giao đơn hàng.
●Thuộc tính đa giá trị:địa chỉ khách hàng.
●Thuộc tính lưu trữ: thời gian đặt hàng, ngày đặt hàng, thời gian giao hàng, ngày giao hàng.
●Thuộc tính bắt buộc nhập: mã đơn đặt hàng, mã tài khoản khách hàng, mã phương thức thanh toán, thời gian đặt hàng, ngày đặt hàng, tổng tiền đơn đặt hàng, tổng số lượng món ăn, thời gian giao hàng, ngày giao hàng, địa chỉ khách hàng phí giao đơn hàng.
- Trạng thái đơn đặt hàng (Order Status): mã trạng thái đơn đặt hàng, mã đơn đặt hàng, tình trạng món ăn, mã nhà cung cấp.
●Thuộc tính khoá:mã trạng thái đơn đặt hàng.
●Thuộc tính khóa ngoài:mã đơn đặt hàng.
●Thuộc tính đơn giá trị: mã trạng thái đơn đặt hàng, mã đơn đặt hàng, tình trạng món ăn, mã nhà cung cấp.
●Thuộc tính đa giá trị:mã nhà cung cấp.
●Thuộc tính bắt buộc nhập: mã trạng thái đơn đặt hàng, mã đơn đặt hàng, tình trạng món ăn, mã nhà cung cấp.
- Chi tiết đơn đặt hàng (Order Details): mã chi tiết đơn đặt hàng, mã đơn đặt hàng, số thứ tự, mã món ăn, thời gian đặt hàng, ngày đặt hàng,số lượng.
●Thuộc tính khóa:mã chi tiết đơn đặt hàng.
●Thuộc tính khóa ngoài:mã đơn đặt hàng.
●Thuộc tính đơn giá trị: mã chi tiết đơn đặt hàng, mã đơn đặt hàng, số thứ tự, mã món ăn, thời gian đặt hàng, ngày đặt hàng,số lượng.
●Thuộc tính lưu trữ:ngày đặt hàng, thời gian đặt hàng.
●Thuộc tính bắt buộc nhập: mã chi tiết đơn đặt hàng, mã đơn đặt hàng, số thứ tự, mã món ăn, thời gian đặt hàng, ngày đặt hàng,số lượng.
- Thực đơn (Menu): mã thực đơn, mã nhà cung cấp, số thứ tự, mã món ăn, tên món ăn, đơn giá.
●Thuộc tính khoá:mã thực đơn.
●Thuộc tính khoá ngoài:mã nhà cung cấp.
●Thuộc tính đơn giá trị: mã thực đơn, mã nhà cung cấp, số thứ tự, mã món ăn, tên món ăn, đơn giá.
●Thuộc tính bắt buộc nhập: mã thực đơn, mã nhà cung cấp, số thứ tự, mã món ăn, tên món ăn, đơn giá.
- Món ăn (Dishes): mã món ăn, mã thực đơn, tên món ăn, số lượng, mô tả món ăn, giá tiền, ghi chú.
●Thuộc tính khóa:mã món ăn.
●Thuộc tính khóa ngoài:mã thực đơn.
●Thuộc tính đơn giá trị:mã món ăn, mã thực đơn, tên món ăn, số lượng, mô tả món ăn, giá tiền, ghi chú.
●Thuộc tính bắt buộc nhập: mã món ăn, mã thực đơn, tên món ăn, số lượng, giá tiền.
- Nhà Cung Cấp (Các nhà hàng, cửa hàng thức ăn) (Supplier): mã nhà cung cấp, tên nhà cung cấp, địa chỉ, số điện thoại, email, tài khoản ngân hàng.
●Thuộc tính khóa:mã người bán hàng.
●Thuộc tính đa giá trị:địa chỉ bán hàng, số điện thoại, email.
●Thuộc tính kết hợp:địa chỉ bán hàng (tên đường, phường/xã, quận/huyện,…).
●Thuộc tính bắt buộc nhập: mã nhà cung cấp, tên nhà cung cấp, địa chỉ, số điện thoại, email, tài khoản ngân hàng.
- Tài khoản nhà cung cấp (Supplier Account: tài khoản người bán hàng đăng nhập, mã nhà cung cấp, mật khẩu đăng nhập.
●Thuộc tính khoá:mã nhà cung cấp.
●Thuộc tính khoá ngoài:tài khoản người bán hàng đăng nhập.
●Thuộc tính đơn giá trị: tài khoản người bán hàng đăng nhập, mã nhà cung cấp, mật khẩu đăng nhập.
●Thuộc tính bắt buộc nhập:tài khoản người bán hàng đăng nhập, mã nhà cung cấp, mật khẩu đăng nhập.
- Phương thức thanh toán (Payment methods): mã số thanh toán, loại phương thức thanh toán.
●Thuộc tính khoá:mã số thanh toán.
●Thuộc tính đơn giá trị:loại phương thức thanh toán.
●Thuộc tính bắt buộc nhập:mã số thanh toán, loại phương thức thanh toán.
- Thông tin giao dịch (Transaction information): mã số giao dịch, mã số thanh toán, mã số tài khoản ngân hàng công ty, thời gian giao dịch, ngày giao dịch, số tiền giao dịch, phí giao dịch, ghi chú.
●Thuộc tính khoá:mã số giao dịch.
●Thuộc tính khoá ngoài:mã số thanh toán, mã số tài khoản ngân hàng công ty.
●Thuộc tính đơn giá trị: mã số giao dịch, mã số thanh toán, mã số tài khoản ngân hàng công ty, thời gian giao dịch, ngày giao dịch, số tiền giao dịch, phí giao dịch, ghi chú.
●Thuộc tính lưu trữ:thời gian giao dịch, ngày giao dịch.
●Thuộc tính bắt buộc nhập: mã số giao dịch, mã số thanh toán, mã số tài khoản ngân hàng công ty, thời gian giao dịch, ngày giao dịch, số tiền giao dịch, phí giao dịch, ghi chú.
- Tài khoản ngân hàng của công ty (Bank Account): mã số tài khoản ngân hàng công ty, tên ngân hàng, tên tài khoản.
●Thuộc tính khoá:mã số tài khoản ngân hàng công ty.
●Thuộc tính đơn giá trị: mã số tài khoản ngân hàng công ty, tên ngân hàng, tên tài khoản.
●Thuộc tính bắt buộc nhập: mã số tài khoản ngân hàng công ty, tên ngân hàng, tên tài khoản.
- Hóa Đơn (Invoice): mã hoá đơn, mã đơn giao hàng, mã tài khoản ngân hàng công ty, mã tài khoản khách hàng, thời gian tạo hoá đơn, ngày tạo hoá đơn, tổng tiền hoá đơn.
●Thuộc tính khoá:mã hoá đơn.
●Thuộc tính khoá ngoài:mã đơn giao hàng, mã tài khoản ngân hàng công ty, mã tài khoản khách hàng công ty.
●Thuộc tính đơn giá trị: mã hoá đơn, mã đơn giao hàng, mã tài khoản ngân hàng công ty, mã tài khoản khách hàng, thời gian tạo hoá đơn, ngày tạo hoá đơn, tổng tiền hoá đơn.
●Thuộc tính lưu trữ:thời gian tạo hoá đơn, ngày tạo hoá đơn.
●Thuộc tính bắt buộc nhập: mã hoá đơn, mã đơn giao hàng, mã tài khoản ngân hàng công ty, mã tài khoản khách hàng, thời gian tạo hoá đơn, ngày tạo hoá đơn,tổng tiền hoá đơn.
- Công nợ (Debt_Payable): mã công nợ, mã đơn đặt hàng, mã tài khoản ngân hàng công ty, số lượng đơn, tên tài khoản ngân hàng công ty, giá trị công nợ, mã nhà cung cấp.
● Thuộc tính khóa:mã công nợ.
● Thuộc tính khóa ngoài: mã đơn đặt hàng, mã tài khoản ngân hàng.
Xác định mối quan hệ của các thực thể
●Quan hệ một - nhiều giữa khách hàng và tài khoản khách hàng: một khách hàng có thể có không hoặc nhiều tài khoản, mỗi tài khoản sẽ luôn có 1 khách hàng.
●Quan hệ một-nhiều giữa Thực thể tài khoản Khách hàng và Thực thể Đơn đặt hàng:
Mỗi tài khoản Khách hàng có thể đặt không hoặc nhiều Đơn hàng, còn mỗi Đơn đặt hàng phải được đặt bởi chỉ một Khách hàng Quan hệ này được hiện thực bằng cách thêm thuộc tính "Customer_ID" - mã khách hàng trong Thực thể Đơn hàng, đồng thời đặt ràng buộc khóa ngoài (foreign key) đến thuộc tính "Customer_ID" trong Thực thể Khách hàng.
●Quan hệ một - nhiều giữa thực thể đơn đặt hàng và chi tiết đơn đặt hàng: một đơn đặt hàng luôn có một hoặc nhiều chi tiết đơn đặt hàng và một chi tiết đơn đặt hàng sẽ luôn chỉ có một đơn đặt hàng
●Quan hệ một - nhiều giữa thực thể đơn đặt hàng và thực thể trạng thái đặt hàng: một đơn đặt hàng sẽ luôn có một hoặc nhiều trạng thái đơn đặt hàng và một đơn trạng thái đơn đặt hàng sẽ luôn có một đơn đặt hàng
●Quan hệ một - một giữa thực thể trạng thái đơn đặt hàng và người giao hàng: một người giao hàng sẽ luôn chỉ có một trạng thái đơn giao hàng và ngược lại.
●Quan hệ một - nhiều giữa thực thể nhà cung cấp và tài khoản nhà cung cấp: một nhà cung cấp sẽ có không hoặc nhiều tài khoản nhà cung cấp nhưng mỗi tài khoản nhà cung cấp sẽ chỉ có một nhà cung cấp
●Quan hệ một - một giữa tài khoản nhà cung cấp và thực đơn : một tài khoản nhà cung cấp luôn có một thực đơn và một thực đơn sẽ luôn chỉ có một tài khoản nhà cung cấp
●Quan hệ một - nhiều giữa thực thể thực đơn với thực thể món ăn: một thực đơn sẽ có một hoặc nhiều món ăn và một món ăn sẽ luôn chỉ có một thực đơn.
●Quan hệ thực thể nhiều - một giữa thực thể món ăn và chi tiết đơn đặt hàng: một món ăn sẽ luôn có một chi tiết đơn đặt hàng và một chi tiết đơn đặt hàng luôn có một hoặc nhiều món ăn
●Quan hệ nhiều - một giữa Thực thể Đơn đặt hàng và thực thể phương thức thanh toán: một đơn đặt hàng luôn chỉ có một phương thức thanh toán và một phương thức thanh toán luôn có một hoặc nhiều đơn đặt hàng
●Quan hệ một - nhiều giữa thực thể phương thức thanh toán và thông tin giao dịch: một phương thức thanh toán luôn có một hoặc nhiều thông tin giao dịch và một thông tin giao dịch sẽ luôn chỉ có một phương thức thanh toán.
●Quan hệ nhiều - một giữa thông tin giao dịch và tài khoản ngân hàng của công ty: nhiều thông tin giao dich luôn chỉ có một tài khoản ngân hàng của công ty và một tài khoản ngân hàng của công ty sẽ có ko hoặc nhiều thông tin giao dịch
●Quan hệ một - một giữa hoá đơn và đơn đặt hàng: một hoá đơn chỉ có thể có 1 đơn đặt hàng và một đơn đặt hàng thì chỉ có thể có một hoá đơn.
●Quan hệ một - nhiều giữa tài khoản khách hàng và hoá đơn: một tài khoản khách hàng có thể có nhiều hoá đơn nhưng một hoá đơn sẽ chỉ có một tài khoản khách hàng
●Quan hệ một - nhiều giữa tài khoản ngân hàng công ty và hoá đơn: một tài khoản ngân hàng công ty có thể có nhiều hoá đơn nhưng một hoá đơn chỉ có một tài khoản ngân hàng của công ty
Lập sơ đồ quan hệ của thực thể ERD
Hình 6 Sơ đồ quan hệ thực thể ERD Link sơ đồ:https://bit.ly/3oFDFwL
THIẾT KẾ CƠ SỞ DỮ LIỆU LOGIC
Hình 7 Thiết kế cơ sở dữ liệu logicLink sơ đồ:https://bit.ly/43W8xJx
THIẾT KẾ CƠ SỞ DỮ LIỆU VẬT LÝ
Thiết kế kiểu dữ liệu
Tên cột Mô tả nội dung
Kiểu dữ liệu Độ dài dữ liệu
Customer_ID Mã khách hàng char 8 PK
Customer_name Tên khách hàng nvarchar 255
Customer_address Địa chỉ khách hàng nvarchar 255
Phone_number Số điện thoại numeric 11, 0
Customer_sex Giới tính tinyint 0: nam
Customer_dob Ngày tháng năm sinh date
- Bảng 2: Tài khoản khách hàng (Customer_Account)
Tên cột Mô tả nội dung
Kiểu dữ liệu Độ dài dữ liệu
Customer_Account_ID Tài khoản khách hàng đăng nhập varchar 30 PK
Customer_ID Mã khách hàng char 8 FK
Password Mật khẩu đăng nhập varchar 30
- Bảng 3: Nhân viên giao hàng (Shipper)
Tên cột Mô tả nội dung Kiểu dữ liệu Độ dài dữ liệu
Shipper_ID Mã nhân viên giao hàng char 8 PK
Shipper_name Họ tên nhân viên nvarchar 255 Phone_number Số điện thoại varchar 11 Hire_date Ngày vào làm date
Delivery_area Khu vực giao hàng nvarchar 255
Shipper_sex Giới tính tinyint 0: nam
Shipper_dob Ngày tháng năm sinh date
- Bảng 4: Đơn đặt hàng (Order)
Tên cột Mô tả nội dung Kiểu dữ liệu Độ dài dữ liệu
Order_ID Mã đơn đặt hàng char 6 PK
Mã tài khoản khách hàng char 8 FK
Payment_ID Mã phương thức thanh toán char 8 FK
Order_time Thời gian đặt hàng time
Order_date Ngày đặt hàng date
Order_Price Tổng tiền đơn đặt hàng numeric 10, 2
Order_Quantity Tổng số lượng món ăn smallint
Delivery_time Thời gian giao hàng time
Delivery_date Ngày giao hàng date
Customer_address Địa chỉ khách hàng char 255
Delivering_Order_fee Phí giao đơn hàng numeric 7, 2
- Bảng 5: Trạng thái đơn đặt hàng (Order Status)
Tên cột Mô tả nội dung Kiểu dữ liệu Độ dài dữ liệu
Mã trạng thái đơn đặt hàng char 8 PK
Order_ID Mã đơn đặt hàng char 8 FK
Dish_status Tình trạng món ăn nvarchar 255 Supplier_ID Mã nhà cung cấp char 8
- Bảng 6: Chi tiết đơn đặt hàng (Order Details)
Tên cột Mô tả nội dung Kiểu dữ liệu Độ dài dữ liệu
Order_Detail_ID Mã chi tiết đơn đặt hàng char 8 PK
Order_ID Mã đơn đặt hàng char 8 FK numerical_order Số thứ tự int
Dish_ID Mã món ăn char 8
Order_time Thời gian đặt hàng time
Order_date Ngày đặt hàng date
Tên cột Mô tả nội dung Kiểu dữ liệu Độ dài dữ liệu
Menu_ID Mã thực đơn char 8 PK
Mã nhà cung cấp char 8 FK numerical_order Số thứ tự int
Dish_ID Mã món ăn char 8
Dish_name Tên món ăn nvarchar 50
Tên cột Mô tả nội dung
Kiểu dữ liệu Độ dài dữ liệu
Dish_ID Mã món ăn char 8 PK
Menu_ID Mã thực đơn char 8 FK
Dish_name Tên món ăn nvarchar 50
Dish_discription Mô tả món ăn nvarchar 255 X
- Bảng 9: Nhà cung cấp (Supplier)
Tên cột Mô tả nội dung Kiểu dữ liệu Độ dài dữ liệu
Supplier_ID Mã nhà cung cấp char 8 PK
Supplier_name Tên nhà cung cấp nvarchar 255 Supplier_address Địa chỉ nvarchar 255 Phone_number Số điện thoại numeric 11, 0
Bank_Account_I Mã tài khoản char 10
- Bảng 10: Tài khoản nhà cung cấp (Supplier Account)
Tên cột Mô tả nội dung Kiểu dữ liệu Độ dài dữ liệu
Tài khoản người bán hàng đăng nhập varchar 8 PK
Supplier_ID Mã nhà cung cấp char 8 FK
Password Mật khẩu đăng nhập varchar 8
- Bảng 11: Phương thức thanh toán (Payment methods)
Tên cột Mô tả nội dung
Kiểu dữ liệu Độ dài dữ liệu
Payment_ID Mã số thanh toán char 8 PK
Loại phương thức thanh toán tinyint 0: COD
- Bảng 12: Thông tin giao dịch (Transaction information)
Tên cột Mô tả nội dung
Kiểu dữ liệu Độ dài dữ liệu
Transaction_ID Mã số giao dịch char 8 PK
Payment_ID Mã số thanh toán char 8 FK
Bank_Account_ID Mã số tài khoản ngân hàng công ty numeric 10, 0 FK
Transaction_time Thời gian giao dịch time
Transaction_date Ngày giao dịch date
Transaction_value Số tiền giao dịch numeric 10, 0
Transaction_fee Phí giao dịch numeric 10, 0
- Bảng 13: Tài khoản ngân hàng của công ty (Bank Account)
Tên cột Mô tả nội dung
Kiểu dữ liệu Độ dài dữ liệu
Bank_Account_ID Mã số tài khoản ngân hàng công ty char 10 PK
Account_bank Tên ngân hàng nvarchar 255
Account_name Tên tài khoản nvarchar 255
Tên cột Mô tả nội dung
Kiểu dữ liệu Độ dài dữ liệu
Invoice_ID Mã hóa đơn char 8 PK
Delivery_order_ID Mã đơn giao hàng char 8 FK
Bank_Account_ID Mã tài khoản ngân hàng công ty char 10 FK
Customer_Account_ID Mã tài khoản khách hàng char 8 FK
Invoice_time Thời gian tạo hoá đơn time
Invoice_date Ngày tạo hóa đơn date
Invoice_value Tổng tiền hoá đơn numeric 10, 2
- Bảng 15: Công nợ (Debt_Payable)
Tên cột Mô tả nội dung
Kiểu dữ liệu Độ dài dữ liệu
Debt_ID Mã công nợ char 8 PK
Order_ID Mã đơn đặt hàng char 8 FK
Bank_Account_ID Mã tài khoản ngân hàng công ty char 8 FK
Order_quantity Số lượng đơn int
Account_bank Tên tài khoản ngân hàng công ty char 255
Debt_value Giá trị công nợ numeric 10, 2
Supplier_ID Mã nhà cung cấp char 8
Viết câu lệnh tạo cơ sở dữ liệu
CREATE DATABASE FOOD DELIVERY GO
CREATE TABLE CUSTOMER ( Customer_ID char(8) primary key,
Customer_name nvarchar(255) not null, Customer_address nvarchar(255) not null, Phone_number varchar(11) not null,
Customer_sex tinyint not null,
Customer_dob date not null)
CREATE TABLE CUSTOMER ACCOUNT (Customer_Account_ID varchar(30) primary key,
Customer_ID char(8) not null,
CONSTRAINT CUSTOMER_ACCOUNT_fk1 FOREIGN KEY (Customer_ID) REFERENCES Invoice(Invoice_ID))
(Shipper_ID char(8) primary key,
Shipper_name nvarchar(255) not null, Phone_number varchar(11) not null,
Hire_date date not null,
Delivery_area nvarchar(255) not null,
Shipper_sex tinyint not null,
Shipper_dob date not null)
(Order_ID char(6) primary key,
Customer_Account_ID char(8) not null,
Payment_ID char(8) not null,
Order_time time not null,
Order_date date not null,
Order_Price numeric not null,
Order_Quantity numeric not null,
Delivery_time time not null,
Delivery_date date not null,
Customer_address char(255) not null, Delivering_Order_fee numeric(7,2) not null,
CONSTRAINT Order_fk1 FOREIGN KEY (Customer_Account_ID ) REFERENCES Customer Account(Customer_Account_ID),
CONSTRAINT Order_fk2 FOREIGN KEY (Payment_ID ) REFERENCES Payment methods(Payment_ID))
CREATE TABLE Order Status (Order_Status_ID char(8) primary key,
Order_ID char(8) not null,
Dish_status nvarchar(255) not null,
Supplier_ID char(8) not null,
CONSTRAINT Order Status_fk1 FOREIGN KEY (Order_ID) REFERENCES Order(Order_ID))
CREATE TABLE Order Details (Order_Detail_ID char(8) primary key,
Order_time time not null,
Order_ID char(8) not null, numerical_order int() not null,
Order_date date not null,
Dish_ID char(8) not null,
Quantity numeric(7,2) not null, CONSTRAINT Order Details_fk1 FOREIGN KEY (Order_ID) REFERENCES Order(Order_ID))
(Menu_ID char(8) primary key, numerical_order int() not null,
Supplier_Account_ID char(8) not null,
Dish_ID char(8) not null,
Dish_name nvarchar(50) not null,
CONSTRAINT Menu_fk1 FOREIGN KEY (Supplier_Account_ID) REFERENCES Supplier Account(Supplier_Account_ID))
(Dish_ID char(8) primary key,
Dish_name nvarchar(50) not null,
Menu_ID char(8) primary key,
(Supplier_ID char(8) primary key,
Supplier_name nvarchar(255) not null, Supplier_address nvarchar(255) not null, Phone_number varchar(11) not null, Supplier_email varchar(30) not null, Bank_Account_ID numeric(20) not null) GO
CREATE TABLE Supplier Account (Supplier_Account_ID varchar (8) primary key,
Supplier_ID char(8) not null,
CONSTRAINT Supplier Account_fk1 FOREIGN KEY (Supplier_ID) REFERENCES Supplier(Supplier_ID))
(Payment_ID char(8) primary key,
Payment_value tinyint not null, Payment_method_type tinyint not null) GO
CREATE TABLE Transaction information (Transaction_ID char(8) primary key,
Payment_ID char(8) not null,
Bank_Account_ID numeric(20) not null,
Transaction_time time not null,
Transaction_date date not null,
Transaction_value numeric not null,
Transaction_fee numeric not null,
CONSTRAINT Transaction information_fk1 FOREIGN KEY (Payment_ID) REFERENCES Payment methods(Payment_ID),
CONSTRAINT Transaction information_fk2 FOREIGN KEY (Bank_Account_ID) REFERENCES Bank Account(Bank_Account_ID))
CREATE TABLE Bank Account (Bank_Account_ID char(10) primary key, Account_bank nvarchar(255) not null, Account_name nvarchar(255) not null) GO
(Debt_ID char(8) primary key,
Order_ID char(8) not null,
Bank_Account_ID char(8) not null,
Order_quantity int not null,
Account_bank char(255) not null,Debt_value numeric(10,2) not null,