lOMoARcPSD|38895030 Bộ giáo dục và đào tạo Đại học Sư phạm Thành phố Hồ Chí Minh BÁO CÁO ĐỒ ÁN CUỐI KÌ CƠ SỞ DỮ LIỆU NÂNG CAO ĐỀ TÀI: THIẾT KẾ CƠ SỞ DỮ LIỆU CHO TRANG WEB BÁN HÀNG ĐIỆN TỬ Nhóm: VTMP Giảng viên hướng dẫn: Ts.Văn Thế Thành Nguyễn Tấn Vũ 46.221 Phùng Duy Phước 46.142 Huỳnh Thị Thu Thảo 46.170 Vũ Đình Quang Minh 46.103 Thành phố Hồ Chí Minh 11/2021 Downloaded by BACH VAN (bachvan12@gmail.com) lOMoARcPSD|38895030 MỤC LỤC 1. Chọn một project để thiết kế CSDL, mô tả tên đồ án, mục tiêu project. Thiết kế CSDL toàn cục cho project, tạo và nhập dữ liệu mẫu cho CSDL. Phân mảnh (ngang, dọc, hỗn hợp) từ CSDL toàn cục (Master DB) để tạo thành các CSDL thành phần (Slaver DB), thực hiện các thao tác trên Slaver DB (thêm, xoá, sửa, truy vấn) và tạo các Trigger, Store Procedure.
Tạo CSDL MongoDB tương ứng với các Slaver DB và thực hiện các thao tác trên MongoDB. Tạo CSDL đồ thị tương ứng với các CSDL MongoDB và thực hiện các thao tác. Các thao tác trên Neo4j.39 Downloaded by BACH VAN (bachvan12@gmail.com) lOMoARcPSD|38895030 DANH MỤC HÌNH ẢNH Hình 1. Lược đồ quan hệ CSDL toàn cục.
Dữ liệu mẫu cho bảng USERS. Dữ liệu mẫu cho bảng USERS_INFOR:. Dữ liệu mẫu cho bảng CART:. Dữ liệu mẫu cho bảng MESSAGE:.
Dữ liệu mẫu cho bảng ORDERS:. Dữ liệu mẫu cho bảng ORDERS_DETAIL:. Dữ liệu mẫu cho bảng PRODUCT. Dữ liệu mẫu cho bảng PRODUCT_DETAIL.
Dữ liệu mẫu cho bảng IMG. Dữ liệu mẫu cho bảng CAT_PRODUCT. Publications và Subscriptions. Dữ liệu mẫu của bảng MESSAGE sau khi phân mảnh.
Dữ liệu mẫu của bảng USERS sau khi phân mảnh. Dữ liệu mẫu của bảng USERS_INFOR sau khi phân mảnh. Store Procedure THEMTAIKHOANADMIN. Store Procedure UPDATETAIKHOAN.
Store Procedure XOATAIKHOAN. Dữ liệu mẫu của bảng CART sau khi phân mảnh. Dữ liệu mẫu của bảng MESSAGE sau khi phân mảnh. Dữ liệu mẫu của bảng CART sau khi phân mảnh.
Dữ liệu mẫu của bảng USERS_INFOR sau khi phân mảnh. Store Procedure THEMTAIKHOAN. Store Procedure UPDATETAIKHOAN. Store Procedure XOATAIKHOAN.
Dữ liệu mẫu bảng CAT_PRODUCT sau khi phân mảnh. Dữ liệu mẫu bảng CAT_PRODUCT sau khi phân mảnh. Dữ liệu mẫu bảng PRODUCT sau khi phân mảnh. Dữ liệu mẫu bảng PRODUCT_DETAIL sau khi phân mảnh.15 Downloaded by BACH VAN (bachvan12@gmail.com) lOMoARcPSD|38895030 Hình 35.
Store Procedure THEMSANPHAM. Store Procedure UPDATESANPHAM. Store Procedure XOASANPHAM. Dữ liệu mẫu cho bảng CAT_PRODUCT sau khi phân mảnh.
Dữ liệu mẫu cho bảng IMG sau khi phân mảnh. Dữ liệu mẫu cho bảng PRODUCT sau khi phân mảnh. Dữ liệu mẫu cho bảng PRODUCT_DETAIL sau khi phân mảnh. Store Procedure THEMSANPHAM.
Store Procedure UPDATESANPHAM. Store Procedure XOASANPHAM. Dữ liệu mẫu cho bảng ORDERS sau khi phân mảnh. Dữ liệu mẫu cho bảng ORDERS sau khi phân mảnh.
Store Procedure UPDATETHONGTINDONHANG. Store Procedure XOATHONGTINDONHANG. Truy vấn trạng thái của đơn hàng. Dữ liệu mẫu cho bảng ORDERS sau khi phân mảnh.
Dữ liệu mẫu cho bảng ORDERS_DETAIL sau khi phân mảnh. Store Procedure UPDATETHONGTINNGUOIDAT. Store Procedure XOATHONGTINNGUOIDAT. Tất cả database đã tạo.
Tất cả collection của database QLBHDT_ADMIN. Tất cả document của collection MESSAGE. Tất cả document của collection USERS. Tất cả document của collection USERS_INFOR.
Tất cả collections của database QLBHDT_CUSTOMER. Tất cả document của collection MESSAGE. Tất cả document của collection CART. Tất cả document của collection USERS.
Tất cả document của collection USERS_INFOR. Tất cả collections của database QLBHDT_LAPTOP. Tất cả document của collection CAT_PRODUCT.27 Downloaded by BACH VAN (bachvan12@gmail.com) lOMoARcPSD|38895030 Hình 70. Tất cả document của collection IMG.
Tất cả document của collection PRODUCT. Tất cả document của collection PRODUCT_DETAIL. Tất cả collections của database QLBHDT_PHONE. Tất cả document của collection CAT_PRODUCT.
Tất cả document của collection IMG. Tất cả document của collection PRODUCT. Tất cả document của collection PRODUCT_DETAIL. Tất cả collections của database QLBHDT_THONGTINDONHANG 32 Hình 79.
Tất cả document của collection ORDERS. Tất cả document của collection ORDERS_DETAIL. Tất cả collections của database QLBHDT_THONGTINKHACHDATHANG. Tất cả document của collection ORDERS.
Tất cả document của collection ORDERS_DETAIL. Truy vấn thông tin điện thoại theo giá (cao hơn hoặc bằng 13000). Chỉnh sửa thông tin khách hàng. Truy vấn thông tin hoá đơn đã thanh toán (STATUS = 1).
Cơ sở dữ liệu đồ thị QLBHDT_ADMIN. Cơ sở dữ liệu đồ thị QLBHDT_CUSTOMER. Cơ sở dữ liệu đồ thị QLBHDT_PHONE. Cơ sở dữ liệu đồ thị QLBHDT_LAPTOP.
Cơ sở dữ liệu đồ thị QLBHDT_THONGTINKHACHDATHANG. Cơ sở dữ liệu đồ thị QLBHDT_THONGTINDONHANG. Cú pháp cập nhật thông tin khách hàng. Kết quả cập nhật node.
Cú pháp thêm node. Kết quả thêm node. Kết quả xóa node. Cú pháp truy vấn.
Kết quả truy vấn node.41 Downloaded by BACH VAN (bachvan12@gmail. Chọn một project để thiết kế CSDL, mô tả tên đồ án, mục tiêu project. Chọn project Ngày nay với sự phát triển nhanh chóng của công nghệ 4. Việc áp dụng mua bán online ngày càng được nhiều người quan tâm.
Các trang thương mại điện tử cũng theo đó mà hình thành và phát triển. Vì thế áp dụng những kiến thức được học trong bộ môn Cơ sở dữ liệu nâng cao, nhóm chúng em xin lựa chọn đề tài “Thiết kế cơ sở dữ liệu cho trang web bán hàng điện tử”. Mục tiêu đồ án: Ở đề tài này, mục tiêu được đề ra: Thiết kế CSDL toàn cục cho đồ án, xây dựng bộ dữ liệu mẫu cho CSDL. Phân mảnh (ngang, dọc, hỗn hợp) từ CSDL toàn cục (Master DB) để tạo thành các CSDL thành phần (Slaver DB), thực hiện các thao tác trên Slaver DB (thêm, xoá, sửa, truy vấn) và tạo các Trigger, Store Procedure.
Tạo CSDL MongoDB tương ứng với các Slaver DB và thực hiện các thao tác trên MongoDB. Tạo CSDL đồ thị tương ứng với các CSDL MongoDB và thực hiện các thao tác. Thiết kế CSDL toàn cục cho project, tạo và nhập dữ liệu mẫu cho CSDL Lược đồ quan hệ CSDL toàn cục: Hình 1. Lược đồ quan hệ CSDL toàn cục Đặc tả: Đặc tả dữ liệu cho bảng USERS: Kiểu dữ Kích Ràng buộc toàn Khuôn Ghi Tên trường liệu thước vẹn dạng chú 3 Downloaded by BACH VAN (bachvan12@gmail.com) lOMoARcPSD|38895030 USERS_ID Int Khoá chính Số nguyên USERS_EMAIL Varchar 40 ký tự Văn bản USERS_PASS Varchar 20 kí tự Văn bản FULLNAME Nvarchar 100 kí tự Văn bản TYPE Int Số nguyên Đặc tả dữ liệu cho bảng USERS_INFOR: Kiểu dữ Kích Ràng buộc toàn Khuôn Ghi Tên trường liệu thước vẹn dạng chú USERS_INFOR_ID Int Khóa chính Số nguyên USERS_ID Int Khoá ngoại Số nguyên ADDRESS Nvarchar 100 kí tự Văn bản PHONENUM Varchar 9 kí tự Văn bản Đặc tả dữ liệu bảng CART: Kiểu dữ Kích Ràng buộc toàn Khuôn Ghi Tên trường liệu thước vẹn dạng chú CART_ID Int Khoá chính Số nguyên PRODUCT_ID Int Khoá ngoại Số nguyên CAT_QUANTITY Int Số nguyên USERS_ID Int Khoá ngoại Số nguyên Đặc tả dữ liệu bảng MESSAGE: Kiểu dữ Kích Ràng buộc toàn Khuôn Ghi Tên trường liệu thước vẹn dạng chú MESSAGE Int Khóa chính Số nguyên USERS_ID1 Int Khoá ngoại Số nguyên USERS_ID2 Int Khoá ngoại Số nguyên MESSAGE_DETAI 2000 kí Nvarchar Văn bản L tự Đặc tả dữ liệu bảng ORDERS: Kiểu dữ Kích Ràng buộc Ghi Tên trường Khuôn dạng liệu thước toàn vẹn chú ORDERS_ID Int Khoá chính Số nguyên USERS_ID Int Khoá ngoại Số nguyên ADRESS Nvarchar 100 kí tự Văn bản FULLNAME Nvarchar 100 kí tự Văn bản NUMBER Varchar 9 kí tự Văn bản DATES Date Ngày tháng 4 Downloaded by BACH VAN (bachvan12@gmail.com) lOMoARcPSD|38895030 năm PAYMENT_METO Int Số nguyên D STATUS Int Số nguyên TOTAL_PRICE Int Số nguyên Đặc tả dữ liệu bảng ORDERS_DETAIL: Kiểu dữ Kích Ràng buộc toàn Khuôn Ghi Tên trường liệu thước vẹn dạng chú OD_DETAIL_I Int Khoá chính Số nguyên D ORDERS_ID Int Khoá ngoại Số nguyên PRODUCT_ID Int Khoá ngoại Số nguyên QUANTITY Int Số nguyên Đặc tả dữ liệu bảng PRODUCT: Kiểu dữ Kích Ràng buộc toàn Khuôn Ghi Tên trường liệu thước vẹn dạng chú PRODUCT_ID Int Khoá chính Số nguyên CAT_ID Int Khoá ngoại Số nguyên PRODUCT_NAME Nvarchar 100 kí tự Văn bản QUANTITY Int Số nguyên PRICE Int Số nguyên Đặc tả dữ liệu bảng PRODUCT_DETAIL: Kiểu dữ Kích Ràng buộc Khuôn Ghi Tên trường liệu thước toàn vẹn dạng chú Số PRODUCT_DETAIL_ID Int Khóa chính nguyên Số PRODUCT_ID Int Khoá ngoại nguyên RAM Varchar 5 kí tự Văn bản BATTERY Varchar 10 kí tự Văn bản CHIP Varchar 100 kí tự Văn bản ROM Varchar 10 kí tự Văn bản COUNTRY Nvarchar 20 kí tự Văn bản Đặc tả dữ liệu bảng IMG: Kiểu dữ Kích Ràng buộc toàn Khuôn Ghi Tên trường liệu thước vẹn dạng chú 5 Downloaded by BACH VAN (bachvan12@gmail.com) lOMoARcPSD|38895030 PRODUCT_ID Int Khoá ngoại Số nguyên IMG_ID Int Số nguyên PATH Varchar 1000 kí tự Văn bản Đặc tả dữ liệu bảng CAT_PRODUCT: Kích Ràng buộc toàn Khuôn Ghi Tên trường Kiểu dữ liệu thước vẹn dạng chú CAT_ID Int Khoá chính Số nguyên CAT_NAME Nvarchar 50 kí tự Văn bản Nhập dữ liệu mẫu cho các bảng: Hình 2.
Dữ liệu mẫu cho bảng USERS Hình 3. Dữ liệu mẫu cho bảng USERS_INFOR: Hình 4. Dữ liệu mẫu cho bảng CART: 6 Downloaded by BACH VAN (bachvan12@gmail.com) lOMoARcPSD|38895030 Hình 5. Dữ liệu mẫu cho bảng MESSAGE: Hình 6.
Dữ liệu mẫu cho bảng ORDERS: Hình 7. Dữ liệu mẫu cho bảng ORDERS_DETAIL: Hình 8. Dữ liệu mẫu cho bảng PRODUCT Hình 9. Dữ liệu mẫu cho bảng PRODUCT_DETAIL 7 Downloaded by BACH VAN (bachvan12@gmail.com) lOMoARcPSD|38895030 Hình 10.
Dữ liệu mẫu cho bảng IMG Hình 11. Dữ liệu mẫu cho bảng CAT_PRODUCT 3. Phân mảnh (ngang, dọc, hỗn hợp) từ CSDL toàn cục (Master DB) để tạo thành các CSDL thành phần (Slaver DB), thực hiện các thao tác trên Slaver DB (thêm, xoá, sửa, truy vấn) và tạo các Trigger, Store Procedure. - CSDL toàn cục nằm trên server ADMIN\QLBHDT được phân mảnh ra 6 CSDL thành phần nằm trên 6 server con bao gồm: + ADMIN\QLBHDT01 + ADMIN\QLBHDT02 + ADMIN\QLBHDT03 + ADMIN\QLBHDT04 + ADMIN\QLBHDT05 + ADMIN\QLBHDT06 8 Downloaded by BACH VAN (bachvan12@gmail.com) lOMoARcPSD|38895030 Hình 12.
Publications và Subscriptions 3. QLBHDT_ADMIN: Hình 13. Server QLBHDT01 - Là server chứa CSDL thành phần để quản lý thông tin csủa tài khoản Admin (Phân mảnh ngang). - CSDL thành phần này sẽ có 3 bảng lấy từ CSDL toàn cục nhưng chỉ chứa các thông tin của những người dùng có TYPE = 1 (Admin).
3 bảng đó bao gồm: + MESSAGE Hình 14. Dữ liệu mẫu của bảng MESSAGE sau khi phân mảnh 9 Downloaded by BACH VAN (bachvan12@gmail.com) lOMoARcPSD|38895030 + USERS Hình 15. Dữ liệu mẫu của bảng USERS sau khi phân mảnh + USERS_INFOR Hình 16. Dữ liệu mẫu của bảng USERS_INFOR sau khi phân mảnh - Các thao tác trên CSDL thành phần: + Stored Procedure để thêm tài khoản Admin Hình 17.Store Procedure THEMTAIKHOANADMIN + Store Procedure để cập nhật thông tin tài khoản Admin Hình 18.Store Procedure UPDATETAIKHOAN + Store Procedure để xoá tài khoản Admin 10 Downloaded by BACH VAN (bachvan12@gmail.com) lOMoARcPSD|38895030 Hình 19.Store Procedure XOATAIKHOAN + Trigger để đảm bảo người dùng không sử dụng email trùng nhau Hình 20.
QLBHDT_CUSTOMER: Hình 21. Server QLBHDT02 - Là server chứa CSDL thành phần để quản lý thông tin của tài khoản khách hàng (Phân mảnh ngang). 11 Downloaded by BACH VAN (bachvan12@gmail.com) lOMoARcPSD|38895030 - CSDL thành phần này sẽ có 4 bảng lấy từ CSDL toàn cục nhưng chỉ chứa các thông tin của những người dùng có TYPE = 0 (khách hàng). 4 bảng đó bao gồm: + CART Hình 22.