MỞ ĐẦUHệ quản trị cơ sở dữ liệu CSDL là một phần không thể thiếu trong quá trình xây dựng các ứng dụng về Hệ thống thông tin, web, apps... Mục tiêu của báo cáo này là phân tích ,thiết kế
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CMC
BÁO CÁO BÀI TẬP LỚN HỌC PHẦN: Các hệ quản trị cơ sở dữ liệu
Tên đề tài: Quản lí bán hang trực tuyến
GVHD: Nguyễn Thị Vân Anh
Thành viên : Nguyễn Bá Duy Anh - BIT230019
Lê Anh Quân - BIT230336
Lê Quang Minh - BIT230261
Trang 2MỤC LỤC
MỞ ĐẦU 2 PHẦN I TỔNG QUAN 3 1.1 Giới thiệu bài toán
1.2 Lựa chọn các công cụ thực hiện bài toán
1.2.1 SQL Server
1.2.2 MongoDB
1.3 Kế hoạch thực hiện
PHẦN II MÔ HÌNH HOÁ DỮ LIỆU 4 2.1 Phân tích yêu cầu
2.2 Thiết kế cơ sở dữ liệu
2.3 Cài đặt và triển khai
2.4 Các truy vấn và chức năng chính
PHẦN III THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 5 3.1 Thực nghiệm các chức năng chính
3.2 Đánh giá hiệu quả hệ thống
PHẦN IV KẾT LUẬN 6 4.1 Các kết quả đạt được
4.2 Hạn chế và hướng phát triển
TÀI LIỆU THAM KHẢO 7 PHỤ LỤC 8
Trang 3MỞ ĐẦU
Hệ quản trị cơ sở dữ liệu (CSDL) là một phần không thể thiếu trong quá trình xây dựng các ứng dụng về Hệ thống thông tin, web, apps Việc nắm chắc các hệ quản trị CSDL
và áp dụng để giải quyết các bài toán thực tế là rất cần thiết Kiến thức về Hệ quản trị CSDL liên hệ mật thiết với lý thuyết thiết kế cơ sở dữ liệu, phân tích và thiết kế hệ thống, lập trình kết nối và truy xuất dữ liệu,… Sau khi học xong học phần Hệ quản trị CSDL với các kiến thức về SQL Server, Mongo DB và các kiến thức liên quan Nhóm em xin chọn đề tài: Quản
lý bán hàng trực tuyến cho bài tập lớn cuối học phần Nội dung trình bày trong bản báo cáo này như sau:
- Phần 1: Trình bày chi tiết về bài toán đặt ra cũng như các yêu cầu cụ thể về truy vấn
dữ liệu
- Phần 2: Nhóm thực hiện sẽ tìm hiểu, phân tích yêu cầu, xây dựng cơ sở dữu liệu, mối liên kết giữa các bảng CSDL cũng như thực hiện các yêu cầu thông qua các câu lệnh của SQL server
- Phần kết luận sẽ nêu các điểm đã làm được, hạn chế và một số nhân xét về bản báo cáo
Mục tiêu của báo cáo này là phân tích ,thiết kế để xây dựng một hệ thống quản lý bán hàng trực tuyến không chỉ giúp cửa hàng nắm bắt cơ hội từ xu hướng mua sắm trực tuyến mà còn giúp tối ưu hóa quy trình quản lý hàng hóa, đơn hàng, và khách hàng một cách hiệu quả và khoa học hơn
Mặc dù nhóm đã cố gắng dành thời gian, tìm hiểu, làm việc nhóm để có được bản báo cáo một cách tốt nhất có thể, tuy nhiên sẽ không thể tránh khỏi những thiếu sót, bổ sung, rất mong nhận được ý kiến đóng góp của các thầy cô và các bạn
Trang 4PHẦN I TỔNG QUAN 1.1 Giới thiệu bài toán
1.1.1 Một cửa hàng muốn xây dựng hệ thống bán hàng trực tuyến nhằm mục đích quản lý
khách
hàng, quản lý đơn hàng, quản lý hàng hóa và thực hiện các chức năng cập nhật, tìm kiếm, thống kê báo cáo trên hệ thống
1.1.2 Nghiệp vụ của cửa hàng được mô tả như sau:
- Cửa hàng sẽ nhập sẵn hàng để phục vụ việc bán hàng, các mặt hàng sẽ được quản lý theo các thông tin: mã hàng, loại hàng, nơi sản xuất, số lượng nhập, giá nhập, ngày nhập, nhà cung cấp Mỗi lần nhập hàng sẽ nhập nhiều loại hàng khác nhau và có thể nhập từ nhiều nhà cung cấp khác nhau
- Các khách hàng có thể mua hàng trực tuyến hoặc mua hàng trực tiếp tại cửa hàng, khi mua hàng, khách hàng sẽ có một đơn đặt hàng với các thông tin: số đơn hàng, mã khách hàng, ngày đặt hàng Mỗi đơn hàng sẽ ghi chi tiết các mặt hàng, số lượng, đơn giá mà khách đặt mua Một khách hàng có thể mua nhiều lần, nhiều mặt hàng khác nhau và các mặt hàng được bán cho nhiều khách
- Thông tin khách hàng được lưu trong hệ thống gồm có: mã khách hàng, tên khách hàng, địa chỉ, số điện thoại
1.1.3 Cửa hàng muốn thực hiện các chức năng:
- Cập nhật danh mục hàng hóa, danh mục khách hàng lên hệ thống
- Tìm kiếm khách hàng đã mua hàng theo từng loại, theo thời gian
- Lập danh sách các mặt hàng bán chạy/không bán được theo thời gian, theo nhà cung cấp/theo nơi sản xuất
- Lập danh sách các khách hàng có đơn hàng với giá trị lớn nhất
- Tính doanh thu của cửa hàng theo từng loại mặt hàng, theo thời gian hàng tháng/theo năm
- Đưa ra các mặt hàng không bán được theo thời gian/theo nhà sản xuất
- Đưa ra mức giá trung bình/cao nhất/thấp nhất của một mặt hàng nào đó
Trang 5
1.2 Lựa chọn các công cụ thực hiện bài toán
1.2.1 SQL Server
Giới thiệu:
SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) của Microsoft, được thiết kế
để hỗ trợ các ứng dụng lưu trữ và truy xuất dữ liệu một cách hiệu quả và an toàn SQL Server cung cấp một loạt các tính năng mạnh mẽ giúp quản lý cơ sở dữ liệu dễ dàng và đáng tin cậy
Lý do lựa chọn:
- Tính mạnh mẽ và ổn định: SQL Server là một trong những hệ quản trị cơ sở dữ liệu phổ biến và được tin dùng rộng rãi trong các doanh nghiệp Nó cung cấp các tính năng mạnh mẽ
để xử lý các giao dịch dữ liệu lớn và phức tạp
- Khả năng mở rộng và hiệu suất cao: SQL Server có khả năng xử lý lượng dữ liệu lớn với hiệu suất cao, đáp ứng tốt nhu cầu của các hệ thống quản lý nhân sự lớn
- Tính bảo mật: SQL Server cung cấp các tính năng bảo mật mạnh mẽ, giúp bảo vệ dữ liệu quan trọng của doanh nghiệp
- Hỗ trợ đa dạng truy vấn và báo cáo: SQL Server hỗ trợ viết các truy vấn phức tạp bằng ngôn ngữ SQL và tích hợp với các công cụ báo cáo như SSRS (SQL Server Reporting Services) để tạo các báo cáo chi tiết
- Quản lý giao dịch: Hỗ trợ quản lý các giao dịch dữ liệu, đảm bảo tính toàn vẹn và nhất quán của dữ liệu
1.3 Kế hoạch thực hiện
STT Nội dung thực hiện Sản phẩm cần đạt Người phụ trách Ghi chú
Trang 61.4 Kế hoạch dự án.
* Kế hoạch dự án này được xây dựng nhằm đảm bảo việc triển khai hệ thống quản lý bán hàng trực tuyến được diễn ra một cách có hệ thống, chặt chẽ và hiệu quả
Dự án sẽ bao gồm các giai đoạn từ thiết kế dự liệu ,chạy thử nghiệm và cuối cùng là đánh giá để đưa ra hướng tốt nhất
-Xác định mục tiêu và yêu cầu của dự án thông qua cuộc họp ban đầu
-Thiết kế lược đồ E-R
-Mô phỏng thực hiện chức năng cơ bản qua truy vấn SQL Server và MongoDB
- Truy vấn nâng cao: hàm/thủ tục/trigger(trên SQL serverl) và aggregation(trên MongoDB)
-Xách định các use care chính và các actor tương tác với hệ thống
* Mục tiêu của kế hoạch dự án:
Hoàn thiện quản lý thông tin hàng hóa:
Xây dựng cơ sở dữ liệu để quản lý thông tin hàng hóa
Đảm bảo hệ thống có khả năng quản lý hàng tồn kho và theo dõi tình trạng hàng hóa một cách chính xác
Tối ưu hóa quy trình quản lý đơn hàng:
Phát triển chức năng quản lý đơn hàng cho phép khách hàng đặt hàng trực tuyến và cửa hàng theo dõi tình trạng đơn hàng
Cung cấp các công cụ để cập nhật và tìm kiếm đơn hàng dễ dàng
Quản lý thông tin khách hàng hiệu quả:
Lưu trữ và quản lý thông tin khách hàng bao gồm: mã khách hàng, tên khách hàng, địa chỉ,
số điện thoại
Hỗ trợ chức năng tìm kiếm và cập nhật thông tin khách hàng
Cung cấp các chức năng thống kê và báo cáo:
Phát triển các báo cáo thống kê về doanh thu, số lượng hàng bán, tình trạng tồn kho, và các chỉ số kinh doanh khác
Đảm bảo hệ thống có thể xuất các báo cáo định kỳ và tùy chỉnh theo yêu cầu của quản lý cửa hàng
Trang 7Đảm bảo tính bảo mật và an toàn dữ liệu:
Xây dựng các biện pháp bảo mật để bảo vệ thông tin khách hàng và dữ liệu kinh doanh Đảm bảo hệ thống có cơ chế sao lưu và phục hồi dữ liệu
Cải thiện trải nghiệm người dùng:
Thiết kế giao diện người dùng thân thiện, dễ sử dụng cho cả khách hàng và nhân viên cửa hàng
Tối ưu hóa quy trình mua hàng trực tuyến để khách hàng có trải nghiệm mua sắm mượt mà
và tiện lợi
Triển khai và hỗ trợ kỹ thuật:
Đảm bảo hệ thống được triển khai một cách hiệu quả, giảm thiểu thời gian gián đoạn hoạt động kinh doanh của cửa hàng
Cung cấp hỗ trợ kỹ thuật sau khi triển khai để giải quyết các vấn đề phát sinh và đảm bảo hệ thống hoạt động ổn định
Trang 8PHẦN II PHÂN TÍCH VÀ TRIỂN KHAI
1 Tổng quan
1 Phân tích CSDL theo các thực thể thuộc tính mối quan hệ
a Thực thể và các thuộc tính
Thực thể 1: Mặt hàng
Mỗi thực thể tượng trưng cho một mặt hàng trong cửa hàng
Các thuộc tính: Mã mặt hàng (thuộc tính khoá), loại mặt hàng, giá, nơi sản xuất, nhà sản xuất Thực thể 2: Nhà cung cấp
Mỗi thực thể tượng trưng cho nhà cung cấp mặt hàng cho cửa hàng
Các thuộc tính: Mã nhà cung cấp(thuộc tính khoá), tên nhà cung cấp, số điện thoại
Thực thể 3: Khách hàng.
Mỗi thực thể tượng trưng cho khách mua hàng trong cửa hàng
Các thuộc tính: Mã khách hàng (thuộc tính khoá), tên khách hàng, số điện thoại, địa chỉ
Thực thể 4: Đơn nhập.
Mỗi thực thể tượng trưng cho mỗi lần nhập hàng từ nhà cung cấp
Các thuộc tính: Mã đơn nhập (thuộc tính khoá), ngày nhập vào
Thực thể 5: Đơn bán
Mỗi thực thể tượng trưng cho mỗi lần bán hàng cho khách hàng
Các thuộc tính: Mã đơn bán (thuộc tính khoá), ngày bán ra
2 Mô hình ERD
Hình 1: Sơ đồ ERD quản lí bán hàng trực tuyến
Trang 9Ghi chú:
3 Chuyển đổi mô hình ERD sang mô hình quan hệ:
3.1 Các mối quan hệ:
- Khách hàng (có) Đơn mua : Quan hệ 1-N
Khách hàng có thể mua nhiều đơn hàng
-Đơn nhập (cấp từ) Nhà cung cấp:Quan hệ N-1
Một nhà cung cấp có thể có trong nhiều đơn nhập
-Mặt hàng (tồn tại) Đơn mua: Quan hệ N-M
Trong đơn mua có thể có nhiều loại mặt hàng và mặt hàng có thể tồn tại trong nhiều trong đơn mua
-Mặt hàng (tồn tại) Đơn nhập
Trong đơn nhập có thể có nhiều loại mặt hàng và mặt hàng có thể tồn tại trong nhiều trong đơn nhập
3.2 Chuyển đổi mô hình ERD sang mô hình quan hệ
Ở mức logic các quan hệ đều đã đạt dạng chuẩn 3NF:
MAT_HANG ( MaMH, LoaiMH, NoiSX, NhaSX, Gia) – Đây là thực thể mạnh
KHACH_HANG (MaKH, TenKH, DiaChi, SDT)- Đây là thực thể mạnh
NHA_CUNG_CAP (MaNhaCC, TenNhaCC, SDT)- Đây là thực thể mạnh
DON_NHAP (MaDN, NgayNhap, MaNhaCC) –Do kết nối 1-N giữa bảng
NHA_CUNG_CAP và DON_NHAP nên chuyển MaNhaCC sang là khoá ngoại của bảng DON_NHAP
DON_BAN (MaDB, NgayBan, MaKH) –Do kết nối 1-N giữa bảng KHACH_HANG và DON_BAN nên chuyển MaKH sang là khoá ngoại của bảng DON_BAN
Trang 10CHI_TIET_DON_NHAP (MaMH, MaDN, SoLuongNhap, DonGiaNhap) – Do đây là kết nối N-M giữa bảng MAT_HANG và DON_NHAP nên sinh ra bảng trung gia là CHI_TIET_DON_NHAP lấy hai khoá chính của hai bảng trên là khoá ngoại
CHI_TIET_DON_BAN (MaMH, MaDB, SoLuongBan, DonGiaBan) – Do đây là kết nối N-M giữa bảng MAT_HANG và DON_BAN nên sinh ra bảng trung gia là
CHI_TIET_DON_BAN lấy hai khoá chính của hai bảng trên là khoá ngoại
4
Thiết kế cơ sở dữ liệu ở mức vật lí theo các bảng
Bảng MAT_HANG
NOT NULL
NOT NULL
Bảng KHACH_HANG
NOT NULL
Bảng NHA_CUNG_CAP
NOT NULL
TenNhaCC NVARCHAR(50) Tên nhà cung cấp NOT NULL
Trang 11Bảng DON_NHAP
NOT NULL
MaNhaCC CHAR(10) Mã nhà cung cấp( tham
chiếu đến bảng Nha_Cung_Cap)
FOREIGN KEY, NOT NUL
Bảng DON_BAN
NOT NULL
chiếu đến bảng KHACH_HANG)
FOREIGN KEY, NOT NUL
Bảng CHI_TIET_DON_NHAP
đến bảng MAT_HANG) FOREIGN KEY, NOT NUL
bảng DON_NHAP)
FOREIGN KEY, NOT NUL
DonGiaNhap DECIMAL(10, 2) Đơn giá nhập CHECK(GIA>0),
NOT NULL
Bảng CHI_TIET_DON_BAN
đến bảng MAT_HANG) FOREIGN KEY, NOT NUL
bảng DON_BAN) FOREIGN KEY, NOT NUL
DonGiaBan DECIMAL(10, 2) Đơn giá nhập CHECK(GIA>0),
NOT NULL
2.2 Chuẩn hóa dữ liệu
Trang 12[Xác định các phụ thuộc hàm và chuẩn hóa về dạng chuẩn 3]
2 Xây dựng các câu truy vấn
Câu 1.
Câu 2.
Câu 3.
3 Kết luận
Trang 13PHẦN III THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
1 Tổng quan
[Dữ liệu nhập vào cho mỗi bảng khoảng 10 bản ghi]
2 Triển khai thực nghiệm
[Minh họa một số câu truy vấn ở đây – có thể chụp kèm màn hình]
3 Kết luận
Trang 14PHẦN IV KẾT LUẬN
Những kết quả đã thực hiện
Hướng phát triển tiếp theo
Trang 15TÀI LIỆU THAM KHẢO
[1] Rui Xu, Donald C Wunsch II, Survey of clustering algorithms IEEE Trans Neural Networks 16(3): 645-678, 2005
[2] Kiri Wagstaff, Claire Cardie, Seth Rogers, Stefan Schrödl: Constrained K-means Clustering with Background Knowledge ICML 2001: 577-584, 2001
Trang 16PHỤ LỤC