1. Trang chủ
  2. » Luận Văn - Báo Cáo

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ử

44 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

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ànhNguyễn Tấn Vũ 46.01.104.221Phùng Duy Phước 46.01.104.142Huỳnh Thị Thu Thảo 46.01.104.170Vũ Đình Quang Minh 46.01.104.103

Trang 2

MỤC LỤC

1 Chọn một project để thiết kế CSDL, mô tả tên đồ án, mục tiêu project 3

1.1 Chọn project 3

1.2 Mục tiêu đồ án: 3

2 Thiết kế CSDL toàn cục cho project, tạo và nhập dữ liệu mẫu cho CSDL 3

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 8

Trang 3

DANH MỤC HÌNH ẢNH

Hình 1 Lược đồ quan hệ CSDL toàn cục 3

Hình 2 Dữ liệu mẫu cho bảng USERS 6

Hình 3 Dữ liệu mẫu cho bảng USERS_INFOR: 6

Hình 4 Dữ liệu mẫu cho bảng CART: 6

Hình 5 Dữ liệu mẫu cho bảng MESSAGE: 7

Hình 6 Dữ liệu mẫu cho bảng ORDERS: 7

Hình 7 Dữ liệu mẫu cho bảng ORDERS_DETAIL: 7

Hình 8 Dữ liệu mẫu cho bảng PRODUCT 7

Hình 9 Dữ liệu mẫu cho bảng PRODUCT_DETAIL 7

Hình 10 Dữ liệu mẫu cho bảng IMG 8

Hình 11 Dữ liệu mẫu cho bảng CAT_PRODUCT 8

Hình 12 Publications và Subscriptions 9

Hình 13 Server QLBHDT01 9

Hình 14 Dữ liệu mẫu của bảng MESSAGE sau khi phân mảnh 9

Hình 15 Dữ liệu mẫu của bảng USERS sau khi phân mảnh 10

Hình 16 Dữ liệu mẫu của bảng USERS_INFOR sau khi phân mảnh 10

Hình 17 Store Procedure THEMTAIKHOANADMIN 10

Hình 18 Store Procedure UPDATETAIKHOAN 10

Hình 19 Store Procedure XOATAIKHOAN 11

Hình 20 Trigger DUYETMAIL 11

Hình 21 Server QLBHDT02 11

Hình 22 Dữ liệu mẫu của bảng CART sau khi phân mảnh 12

Hình 23 Dữ liệu mẫu của bảng MESSAGE sau khi phân mảnh 12

Hình 24 Dữ liệu mẫu của bảng CART sau khi phân mảnh 12

Hình 25 Dữ liệu mẫu của bảng USERS_INFOR sau khi phân mảnh 12

Hình 26 Store Procedure THEMTAIKHOAN 12

Hình 27 Store Procedure UPDATETAIKHOAN 13

Hình 28 Store Procedure XOATAIKHOAN 13

Hình 29 Trigger DUYETMAIL 13

Hình 30 Server QLBHDT04 14

Hình 31 Dữ liệu mẫu bảng CAT_PRODUCT sau khi phân mảnh 14

Hình 32 Dữ liệu mẫu bảng CAT_PRODUCT sau khi phân mảnh 14

Trang 4

Hình 35 Store Procedure THEMSANPHAM 15

Hình 36 Store Procedure UPDATESANPHAM 15

Hình 37 Store Procedure XOASANPHAM 16

Hình 38 Server QLBHDT03 17

Hình 39 Dữ liệu mẫu cho bảng CAT_PRODUCT sau khi phân mảnh 17

Hình 40 Dữ liệu mẫu cho bảng IMG sau khi phân mảnh 17

Hình 41 Dữ liệu mẫu cho bảng PRODUCT sau khi phân mảnh 18

Hình 42 Dữ liệu mẫu cho bảng PRODUCT_DETAIL sau khi phân mảnh 18

Hình 43 Store Procedure THEMSANPHAM 18

Hình 44 Store Procedure UPDATESANPHAM 18

Hình 45 Store Procedure XOASANPHAM 19

Hình 46 Trigger DUYETSANPHAM 19

Hình 47 Server QLBHDT06 20

Hình 48 Dữ liệu mẫu cho bảng ORDERS sau khi phân mảnh 20

Hình 49 Dữ liệu mẫu cho bảng ORDERS sau khi phân mảnh 20

Hình 50 Store Procedure UPDATETHONGTINDONHANG 21

Hình 51 Store Procedure XOATHONGTINDONHANG 21

Hình 52 Truy vấn trạng thái của đơn hàng 21

Hình 53 Server QLBHDT05 22

Hình 54 Dữ liệu mẫu cho bảng ORDERS sau khi phân mảnh 22

Hình 55 Dữ liệu mẫu cho bảng ORDERS_DETAIL sau khi phân mảnh 22

Hình 56 Store Procedure UPDATETHONGTINNGUOIDAT 23

Hình 57 Store Procedure XOATHONGTINNGUOIDAT 23

Hình 58 Tất cả database đã tạo 23

Hình 59 Tất cả collection của database QLBHDT_ADMIN 24

Hình 60 Tất cả document của collection MESSAGE 24

Hình 61 Tất cả document của collection USERS 24

Hình 62 Tất cả document của collection USERS_INFOR 25

Hình 63 Tất cả collections của database QLBHDT_CUSTOMER 25

Hình 64 Tất cả document của collection MESSAGE 25

Hình 65 Tất cả document của collection CART 26

Hình 66 Tất cả document của collection USERS 27

Hình 67 Tất cả document của collection USERS_INFOR 27

Hình 68 Tất cả collections của database QLBHDT_LAPTOP 27

Hình 69 Tất cả document của collection CAT_PRODUCT 27

Trang 5

Hình 70 Tất cả document của collection IMG 28

Hình 71 Tất cả document của collection PRODUCT 29

Hình 72 Tất cả document của collection PRODUCT_DETAIL 29

Hình 73 Tất cả collections của database QLBHDT_PHONE 30

Hình 74 Tất cả document của collection CAT_PRODUCT 30

Hình 75 Tất cả document của collection IMG 31

Hình 76 Tất cả document của collection PRODUCT 31

Hình 77 Tất cả document của collection PRODUCT_DETAIL 32

Hình 78 Tất cả collections của database QLBHDT_THONGTINDONHANG 32Hình 79 Tất cả document của collection ORDERS 33

Hình 80 Tất cả document của collection ORDERS_DETAIL 33

Hình 81 Tất cả collections của database QLBHDT_THONGTINKHACHDATHANG 33

Hình 82 Tất cả document của collection ORDERS 34

Hình 83 Tất cả document của collection ORDERS_DETAIL 34

Hình 84 Truy vấn thông tin điện thoại theo giá (cao hơn hoặc bằng 13000) 35

Hình 85 Chỉnh sửa thông tin khách hàng 35

Hình 86 Truy vấn thông tin hoá đơn đã thanh toán (STATUS = 1) 36

Hình 87 Cơ sở dữ liệu đồ thị QLBHDT_ADMIN 36

Hình 88 Cơ sở dữ liệu đồ thị QLBHDT_CUSTOMER 36

Hình 89 Cơ sở dữ liệu đồ thị QLBHDT_PHONE 37

Hình 90 Cơ sở dữ liệu đồ thị QLBHDT_LAPTOP 38

Hình 91 Cơ sở dữ liệu đồ thị QLBHDT_THONGTINKHACHDATHANG 38

Hình 92 Cơ sở dữ liệu đồ thị QLBHDT_THONGTINDONHANG 39

Trang 6

1 Chọn một project để thiết kế CSDL, mô tả tên đồ án, mục tiêu project.1.1.Chọn project

Ngày nay với sự phát triển nhanh chóng của công nghệ 4.0 Việc áp dụng mua bán onlinengà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ử”

1.2.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 CSDLthà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

2 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:

Tên trường Kiểu dữliệu

Ràng buộc toàn vẹn

Ghichú

Trang 7

USERS_ID Int Khoá chính Số nguyên

Đặc tả dữ liệu cho bảng USERS_INFOR:

Ràng buộc toànvẹn

Đặc tả dữ liệu bảng CART:

Tên trường Kiểu dữ liệu

Ràng buộc toàn vẹn

Đặc tả dữ liệu bảng MESSAGE:

Ràng buộc toànvẹn

Ràng buộc

toàn vẹn Khuôn dạng

Ghichú

Trang 8

Đặc tả dữ liệu bảng ORDERS_DETAIL:

Ràng buộc toàn vẹn

Đặc tả dữ liệu bảng PRODUCT:

Ràng buộc toàn vẹn

Đặc tả dữ liệu bảng PRODUCT_DETAIL:

Ràng buộc toàn vẹn

Đặc tả dữ liệu bảng IMG:

Tên trường Kiểu dữliệu

Ràng buộc toànvẹn

Ghichú

Trang 9

PRODUCT_ID Int Khoá ngoại Số nguyên

Đặc tả dữ liệu bảng CAT_PRODUCT:

Tên trường Kiểu dữ liệu Kíchthước

Ràng buộc toànvẹn

 Nhập dữ liệu mẫu cho các bảng:

Hình 2 Dữ liệu mẫu cho bảng USERSHình 3.

Trang 10

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.

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

Trang 11

Hình 10.Dữ

liệu mẫu cho bảng IMGHình 11.

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

Trang 12

- 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

Trang 13

+ 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

Trang 14

Hình 19.Store Procedure XOATAIKHOAN

+ Trigger để đảm bảo người dùng không sử dụng email trùng nhau

Trang 15

- 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.Dữ

liệu mẫu của bảng CART sau khi phân mảnh

+ MESSAGE

Hình 23.Dữ

liệu mẫu của bảng MESSAGE sau khi phân mảnh

+ Store Procedure để thêm tài khoản khách hàng:

Hình 26.Store Procedure THEMTAIKHOAN

Trang 16

+ Store Procedure để cập nhật thông tin tài khoản khách hàng:

Hình 27.Store Procedure UPDATETAIKHOAN

+ Strore Procedure để xoá tài khoản khách hàng:

Hình 28.Store Procedure XOATAIKHOAN

+ Trigger để đảm bảo khách hàng không dùng email trùng nhau:

Hình 29.Trigger DUYETMAIL

Trang 17

Hình 30.

Server QLBHDT04

- Là server chứa CSDL thành phần để quản lý thông tin của sản phẩm thuộc danh

mục Laptop (Phân mảnh ngang).

- 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 sản phẩm có CAT_ID = 2 (laptop) 4 bảng đó bao gồm:

+ CAT_PRODUCT

Hình 31.Dữ

liệu mẫu bảng CAT_PRODUCT sau khi phân mảnh

+ IMG

Hình 32.Dữ

liệu mẫu bảng CAT_PRODUCT sau khi phân mảnh

+ PRODUCT

Trang 18

Hình 33.Dữ liệu mẫu bảng PRODUCT sau khi phân mảnh

+ PRODUCT_DETAIL

Hình 34.

Dữ liệu mẫu bảng PRODUCT_DETAIL sau khi phân mảnh

- Các thao tác trên CSDL thành phần:

+ Strore Procedure để thêm sản phẩm laptop:

Hình 35.Store Procedure THEMSANPHAM

+ Strore Procedure để chỉnh sửa thông tin sản phẩm laptop:

Hình 36.

Store Procedure UPDATESANPHAM

+ Strore Procedure để xoá sản phẩm laptop:

Trang 19

Hình 37.Store Procedure XOASANPHAM

+ Trigger để đảm bảo không có 2 sản phẩm trùng tên nhau:

3.4.QLBHDT_PHONE:

Trang 20

Hình 38.

Server QLBHDT03

- Là server chứa CSDL thành phần để quản lý thông tin của sản phẩm thuộc danh

mục “Điện thoại” (Phân mảnh ngang).

- 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 sản phẩm có CAT_ID = 1 (điện thoại) 4 bảng đó bao gồm:

+ CAT_PRODUCT

Hình 39.Dữ

liệu mẫu cho bảng CAT_PRODUCT sau khi phân mảnh

+ IMG

Hình 40.Dữ

liệu mẫu cho bảng IMG sau khi phân mảnh

+ PRODUCT

Trang 21

Hình 41.Dữ liệu mẫu cho bảng PRODUCT sau khi phân mảnh

+ PRODUCT_DETAIL

Hình 42.Dữ liệu mẫu cho bảng PRODUCT_DETAIL sau khi phân mảnh

- Các thao tác trên CSDL thành phần:

+ Strore Procedure để thêm sản phẩm điện thoại:

Hình 43.Store Procedure THEMSANPHAM

+ Strore Procedure để chỉnh sửa thông tin sản phẩm điện thoại:

Trang 22

Hình 44.Store Procedure UPDATESANPHAM

+ Strore Procedure để xoá sản phẩm điện thoại:

Hình 45.Store Procedure XOASANPHAM

+ Trigger để đảm bảo không có 2 sản phẩm trùng tên nhau:

Hình 46.Trigger DUYETSANPHAM

3.5.QLBHDT_THONGTINDONHANG:

Trang 23

Hình 47.

Server QLBHDT06

- Là server chứa CSDL thành phần để quản lý thông tin của đơn hàng (Phân mảnh

- CSDL thành phần này sẽ có 2 bảng lấy từ CSDL toàn cục là bảng ORDERS và

bảng ORDERS_DETAIL tuy nhiên bảng ORDERS chỉ có các trường chứa thông tin của đơn hàng:

+ ORDERS

Hình 48.Dữ liệu mẫu cho bảng ORDERS sau khi phân mảnh

+ ORDERS_DETAIL

Hình 49.Dữ

liệu mẫu cho bảng ORDERS sau khi phân mảnh

- Các thao tác trên CSDL thành phần:

+ Strore Procedure để cập nhật thông tin đơn hàng:

Trang 24

Hình 50.Store Procedure UPDATETHONGTINDONHANG

+ Strore Procedure để xoá thông tin đơn hàng:

Hình 51.Store Procedure XOATHONGTINDONHANG

+ Truy vấn STATUS (trạng thái) của hoá đơn người dùng theo USERS_ID (mã người dùng):

Hình 52.Truy vấn trạng thái của đơn hàng.

Trang 25

- CSDL thành phần này sẽ có 2 bảng lấy từ CSDL toàn cục là bảng ORDERS và

bảng ORDERS_DETAIL tuy nhiên bảng ORDERS chỉ có các trường chứa thông tin của khách đặt hàng:

+ ORDERS

Hình 54.Dữ

liệu mẫu cho bảng ORDERS sau khi phân mảnh

+ ORDERS_DETAIL

Hình 55.Dữ

liệu mẫu cho bảng ORDERS_DETAIL sau khi phân mảnh

- Các thao tác trên CSDL thành phần:

+ Strore Procedure để cập nhật thông tin của khách đặt hàng:

Trang 26

Hình 56.Store Procedure UPDATETHONGTINNGUOIDAT

+ Strore Procedure để xoá thông tin của khách đặt hàng:

Hình 57.Store Procedure XOATHONGTINNGUOIDAT

4 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 database tương ứng với các Slaver DB bằng lệnh: use database_name

- Bao gồm 6 database: + QLBHDT_ADMIN+ QLBHDT_CUSTOMER+ QLBHDT_LAPTOP+ QLBHDT_PHONE

+ QLBHDT_THONGTINDONHANG+ QLBHDT_THONGTINKHACHHANG

- Để xem tất cả các database đã tạo ta dùng lệnh: show dbs

Hình 58.Tất cả database đã tạo

Trang 27

- Để xem các collections của database ta sử dụng lệnh: show collections

Hình 59.Tất cả collection của database QLBHDT_ADMIN

- Tiếp theo ta thực hiện nhập các document cho các collections của database bằng

lệnh: db.collection_name.insert({“key”: value, “key”: value,… })

- Để xem tất cả document đã nhập cho 1 collection nào đó ta dùng lệnh:

- Document nhập vào cho collection MESSAGE

Hình 60 Tất cả document của collection MESSAGE

- Document nhập vào cho collection USERS

Hình 61.Tất cả document của collection USERS

- Document nhập vào cho collection USERS_INFOR

Trang 28

Hình 62.Tất cả document của collection USERS_INFOR

- Bao gồm 4 collections để quản lý tài khoản khách hàng: + CART

+ MESSAGE+ USERS

+ USERS_INFOR

Hình 63.Tất cả collections của database QLBHDT_CUSTOMER

- Document nhập vào cho collection MESSAGE:

Hình 64.Tất cả document của collection MESSAGE

- Document nhập vào cho collection CART:

Trang 29

Hình 65.Tất cả document của collection CART

- Document nhập vào cho collection USERS:

Trang 30

Hình 66.Tất cả document của collection USERS

- Document nhập vào cho collection USERS_INFOR:

Hình 67.Tất cả document của collection USERS_INFOR

Hình 68.Tất cả collections của database QLBHDT_LAPTOP

- Document nhập vào cho collection CAT_PRODUCT:

Hình 69.Tất cả document của collection CAT_PRODUCT

- Document nhập vào cho collection IMG:

Trang 31

Hình 70.Tất cả document của collection IMG

- Document nhập vào cho collection PRODUCT:

Trang 32

Hình 71.Tất cả document của collection PRODUCT

- Document nhập vào cho collection PRODUCT_DETAIL:

Hình 72.Tất cả document của collection PRODUCT_DETAIL

Trang 33

Hình 73.Tất cả collections của database QLBHDT_PHONE

- Document nhập vào cho collection CAT_PRODUCT:

Hình 74.Tất cả document của collection CAT_PRODUCT

- Document nhập vào cho collection IMG:

Trang 34

Hình 75.Tất cả document của collection IMG

- Document nhập vào cho collection PRODUCT:

Hình 76.Tất cả document của collection PRODUCT

- Document nhập vào cho collection PRODUCT_DETAIL:

Trang 35

Hình 77.Tất cả document của collection PRODUCT_DETAIL

- Bao gồm 2 bảng ORDERS và ORDERS_DETAIL nhưng collection ORDERS sẽ chứa các trường cần thiết để quản lý thông tin của đơn hàng:

Hình 78.Tất cả collections của database QLBHDT_THONGTINDONHANG

- Document nhập vào cho collection ORDERS:

Trang 36

Hình 79.Tất cả document của collection ORDERS

- Document nhập vào cho collection ORDERS_DETAIL:

Hình 80.Tất cả document của collection ORDERS_DETAIL

- Bao gồm 2 collections ORDERS và ORDERS_DETAIL tuy nhiên collection ORDERS chỉ chứa các trường cần thiết để quản lý thông tin của khách đặt hàng.

Hình 81.Tất cả collections của database QLBHDT_THONGTINKHACHDATHANG

- Document nhập vào cho collection ORDERS:

Ngày đăng: 02/08/2024, 16:12

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w