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

Bài tập nhóm chủ Đề ứng dụng quản lý cửa hàng bán lẻ môn học cơ sở dữ liệu

26 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

Thông tin cơ bản

Tiêu đề Ứng dụng quản lý cửa hàng bán lẻ
Tác giả Nguyễn Văn An, Nguyễn Minh Thắng, Vũ Minh Hiển, Đoàn Quang Minh, Trần Ngọc Khuyến, Đỗ Hữu Đức
Người hướng dẫn Thầy Nguyễn Trọng Khánh
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Cơ sở dữ liệu
Thể loại Bài tập nhóm
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 26
Dung lượng 6,13 MB

Nội dung

Đt vn đNhu cu và tm quan trng c a d" #n Hiện nay, các cửa hàng, từ nhỏ lẻ đến hệ thống kinh doanh quy mô lớn, đều phải đối mặt với các thách thức trong việc quản lý sản phẩm, khách

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN

Trang 2

Mục lụ

c

Môn học: Cơ sở dữ liệu 1

Ph=n 1 Đă @t vBn đề 4

Nhu cu v tm quan trng ca d n 4

Ph=n 2 Phân tFch 4

Cc chc năng trong d n 4

Ph=n 3 ThiHt kH 5

I, Yêu cu bi ton: 5

II thi#t k# t%ng quan 6

1 Bi)u đ+ Class-diagram 6

2 Mô hình thc th)-k#t hợp (ERD - Entity Relationship Diagram) 10

Ph=n 4: Ứng dụng và thao tác với cơ sở dữ liệu 12

I Thông tin v số liệu cc bảng dữ liệu 12

II Thao tc v truy vấn dữ liệu 12

1 Customer (Khch hng) 12

2 Product (Sản phẩm) 15

3 Order (Đơn hng) 16

4 Report (Hóa đơn) 20

5 Inventory (Kho hng) 23

Tổng kHt 24

Trang 3

Trong quá trình thực hiện, chúng em hiểu rằng không thể tránh khỏi những sai sót

và hạn chế Vì vậy, rất mong nhận được những ý kiến đóng góp từ thầy để bài tập nhóm của chúng em được hoàn thiện hơn

Chúng em xin chân thành cảm ơn!

Trang 4

Phn 1 Đt vn đ

Nhu cu và tm quan trng c a d" #n

Hiện nay, các cửa hàng, từ nhỏ lẻ đến hệ thống kinh doanh quy

mô lớn, đều phải đối mặt với các thách thức trong việc quản lý sản phẩm, khách hàng, đơn hàng và doanh thu Phương pháp quản lý thủ công hoặc thiếu đồng bộ không còn đáp ứng được yêucầu hiện đại hóa, dẫn đến những hạn chế như:

 Khó khăn trong việc theo dõi tồn kho, giá cả, hoặc thông tin chi tiết về sản phẩm

 Thiếu hệ thống lưu trữ lịch sử mua hàng và thông tin khách hàng, gây khó khăn cho việc chăm sóc khách hàng và xây dựng chiến lược kinh doanh

 Việc tính toán tổng doanh thu hoặc quản lý đơn hàng thườngmất nhiều thời gian và dễ xảy ra sai sót

Bên cạnh đó, sự phát triển nhanh chóng của công nghệ và nhu cầu số hóa trong quản lý kinh doanh ngày càng trở nên cấp thiết Một hệ thống quản lý cửa hàng thông minh và hiệu quả không chỉ

hỗ trợ xử lý công việc một cách chính xác, mà còn giúp chủ cửa hàng tối ưu hóa thời gian, nâng cao hiệu suất và cải thiện trải nghiệm của khách hàng

Phn 2 Phân t%ch

C#c ch'c năng trong d" #n

Hệ thốngPShop Management SystemPđược đề xuất nhằm giải quyết các vấn đề nêu trên thông qua việc cung cấp một giải pháp quản lý toàn diện, bao gồm các chức năng:

 Quản lý sản phẩm: Theo dõi, cập nhật thông tin sản phẩm vàkiểm soát số lượng tồn kho hiệu quả

 Quản lý khách hàng: Lưu trữ thông tin khách hàng, lịch sử mua sắm và hỗ trợ chăm sóc khách hàng

 Quản lý đơn hàng: Hỗ trợ theo dõi chi tiết đơn hàng, trạng thái, và tổng số tiền giao dịch

Trang 5

 Quản lý kho hàng: Tăng cường khả năng kiểm tra, thêm, xóa,hoặc cập nhật thông tin kho một cách nhanh chóng.

 Quản lý doanh thu: Giám sát tổng thu nhập và hiệu suất bán hàng

- Quản lý khách hàng:

PPP+ Lưu trữ thông tin cá nhân của khách hàng bao gồm tên, số điện thoại,mail,mY, lịch sử mua hàng

PPP+ Thêm đơn hàng vào lịch sử mua hàng

P+Tính tổng số tiền khách hàng đY chi tiêu

PPP+ Lấy thông tin chi tiết về khách hàng

- Quản lý đơn hàng:

+ Lấy ra mY đơn hàng,thông tin khách hàng đặt hàng, danh sách sản phẩm trong đơn hàng,tổng số tiền của đơn hàng,ngày tạo đơnhàng, trạng thái đơn hàng

Trang 6

II thi2t k2 t:ng quan

Trang 7

 Thuộc tính:

o id: MY định danh khách hàng (kiểu varchar).

o name: Tên khách hàng (kiểu varchar).

o address: Địa chỉ của khách hàng (kiểu varchar).

o phoneNumber: Số điện thoại của khách hàng (kiểu varchar).

Phương th'c:

o addCustomer(): Thêm khách hàng mới.

o deleteCustomer(): Xóa khách hàng khỏi hệ thống.

o updateCustomer(): Cập nhật thông tin khách hàng.

o loadAllCustomer(): Lấy danh sách tất cả khách hàng.

o searchByID(): Tìm kiếm khách hàng theo id.

Trang 8

o quantity: Số lượng sản phẩm trong đơn hàng (kiểu double).

o totalPrice: Tổng giá trị đơn hàng (kiểu double).

 Phương thức:

o addOrder(): Thêm đơn hàng mới.

o deleteOrder(): Xóa đơn hàng.

o updateOrder(): Cập nhật thông tin đơn hàng.

o loadAllOrder(): Lấy danh sách tất cả đơn hàng.

- Lớp Product

 Đối tượng: Quản lý thông tin sản phẩm.

 Thuộc tính:

o ID: MY định danh sản phẩm (kiểu int).

o Name: Tên sản phẩm (kiểu String).

o Category: Loại sản phẩm (kiểu String).

o Price: Giá sản phẩm (kiểu double).

o Quantity: Số lượng tồn kho (kiểu int).

 Phương thức:

o addProduct(): Thêm sản phẩm mới.

o deleteProduct(): Xóa sản phẩm khỏi hệ thống.

o updateProduct(): Cập nhật thông tin sản phẩm.

o loadAllProduct(): Lấy danh sách tất cả sản phẩm.

o searchByID(): Tìm sản phẩm theo mY định danh.

- Lớp Inventory

Trang 9

 Đối tượng: Quản lý kho hàng.

 Thuộc tính:

o productID: MY định danh sản phẩm (liên kết đến Product).

o productName: Tên sản phẩm (kiểu String).

o category: Loại sản phẩm (kiểu String).

o price: Giá sản phẩm (kiểu double).

o quantity: Số lượng tồn kho (kiểu int).

 Phương thức:

o loadAllProduct(): Lấy danh sách toàn bộ sản phẩm trong kho.

o searchByProductName(): Tìm sản phẩm theo tên.

o searchByProductCategory(): Tìm sản phẩm theo loại.

- Lớp Report

 Đối tượng: Quản lý báo cáo về đơn hàng và khách hàng.

 Thuộc tính:

o invoiceID: MY hóa đơn (kiểu String).

o customerID: MY khách hàng liên quan đến hóa đơn (liên kết đến Customer).

o customerName: Tên khách hàng.

o productID: MY sản phẩm trong báo cáo.

o price: Giá sản phẩm trong hóa đơn.

o quantity: Số lượng sản phẩm.

o totalAmount: Tổng giá trị hóa đơn.

Trang 10

 Phương thức:

o findAllCustomerOrder(): Lấy danh sách tất cả đơn hàng của khách hàng.

o findNumberSpentByCustomerID(): Tính tổng số tiền khách hàng đY chi.

o findReportByOrderID(): Lấy báo cáo theo mY đơn hàng.

T:ng quan c#c mối liên hệ:

1 Customer - Order: Quan hệ 1-N (một khách hàng

có thể có nhiều đơn hàng).

2 Order - Product: Quan hệ N-N (một đơn hàng chứa

nhiều sản phẩm và một sản phẩm có thể xuất hiện trong nhiều đơn hàng).

3 Product - Inventory: Quan hệ 1-1 (mỗi sản phẩm

được quản lý bởi một bản ghi trong kho).

4 Report - Order: Quan hệ 1-N (một báo cáo có thể

liên quan đến nhiều đơn hàng).

2 Mô hình th"c th<-k2t hợp (ERD - Entity

Relationship Diagram).

Trang 11

Giải th%ch:

2 mối quan hệ:

Aggregation(hình thoi màu trắng) Object A có thể là 1 phần Object B, Nếu B bị mất thì không ảnh hưởng gì đến Object AComposition: (hình thoi màu đen)Object A bị mất thì Obejct B chắc chắn bị mất.=> mối quan hệ cứng

 Khác biệt ở việc khi xóa 1 class thì class kia có được ph[p tồn tại hay không (A : có, C: không)

Trong bài, các thông tin liên kết được thể hiện rõ như trong biểu đồ( nếu thấy chưa hợp lí có thể phân tích lại)

Quan trọng ở phần order trong bài của nhóm được thiết kế là thực thể mạnh

Khi nào nên lấy Order làm thực thể yếu?

Order phụ thuộc hoàn toàn vào một thực thể mạnh:

Nếu Order không có ý nghĩa độc lập và chỉ tồn tại như một phần của Customer hoặc Product, thì nó có thể được thiết kế như một thực thể yếu

Trang 12

V% dụ:

 Đơn hàng của khách hàng phụ thuộc hoàn toàn vào thông tin khách hàng (nếu không có khách hàng thì đơn hàng không tồn tại)

 Đơn hàng chi tiết gắn với một sản phẩm cụ thể

Thông thường nên chọn thực thể mạnh

Trong hầu hết các hệ thống quản lý thương mại, Order thường được thiết kế như thực thể mạnh, vì:

 Tính độc lập: Đơn hàng là đối tượng quan trọng, cần có khóa chính riêng (OrderID)

 Tính mở rộng: Có thể dễ dàng thêm mối quan hệ với nhiều thực thể khác, như Product, Customer, hoặc Shipping

 Dễ quản lý: Các mối quan hệ (nhiều-nhiều hoặc một-nhiều) được quản lý qua bảng liên kết

 Dùng bảng trung gian order_customer,order_product thuận tiện hơn

Một số trường hợp order tồn tại độc lập: các đơn hàng vận chuyển, hoặc được sử dụng trong nội bộ, đơn hàng được tạo trước

dự đoán nhu cầu trước khi có khách hàng thực sự, đơn hàng có các sản phẩm đang được cập nhập,bổ sung sau,…

4 Order - Report: Quan hệ 1-N qua bảng liên kết

Report_order

Trang 13

Phn 4: Ứng dụng và thao t#c với cơ

sở dữ liệu

I Thông tin và số liệu c#c bảng dữ liệu

II Thao t#c và truy vn dữ liệu

1 Customer (Kh#ch hàng)

1.1 Thêm 1 khách hàng mới vào bảng:

Trang 14

1.2 Xóa 1 khách hàng khỏi bảng dựa vào id

1.3 Sửa thông tin của khách hàng

1.4 Truy vấn load toàn bộ dữ liệu khách hàng trong database lên bảng

Trang 15

1.5 Tìm kiếm khách hàng theo id

Trang 17

2.4 Sửa sản phẩm theo id

3 Order (Đơn hàng)

3.1 Thêm 1 đơn hàng

Bước 1: Kiểm tra các thông tin

+ Kiểm tra id Customer có hợp lệ

+ Kiểm tra id Product có hợp lệ

+ Kiểm tra id Order đY tồn tại chưa

Trang 18

Bước 2: Thực hiện cập nhập dữ liệu:

+ Thêm vào bảng Order_Customer thông tin order_id và customer_id của order_id đó

+Thực hiện việc thêm vào bảng OrderProduct các thông tin

và cập nhập số lượng sản phẩm, tổng giá của order:

3.2 Xóa 1 đơn hàng

- Xóa Order: Xóa dữ liệu tại các bảng có chứa mối liên hệ với Order chứa OrderID gồm: Order_Product, OrderCustomer, OrderReport sau đó thực hiện xóa khóa chính OrderID

Trang 19

-LoadData: hiện các thông tin order_id, customer_id, customer_name, product_id,price, giá,tổng tiền bằng cách liên kết cách khóa chính của các bảng

3.3 Sửa đơn hàng

UpdateOrder:

Các thông tin cần cập nhập: số lượng sản phẩm trong product_Order, tổng giá tiền, cập nhập số lượng còn lại trongkho Xử lí các trường hợp khi số sản phẩm cập nhật: ít hơn, nhiều hơn số sản phẩm cũ, hoặc vượt quá số lượng đơn hàng

*Xử lí trường hợp số sản phẩm trong kho hàng không đủ: trả lại số lượng hàng đang có sau đó cộng số sản phẩm muốn update nếu số sản phẩm trong kho hàng ít hơn tổng trên thì cho số sản phẩm OrderProduct là tổng đơn hàng.

Trang 21

4 Report (Hóa đơn)

4.1 In tất cả hóa đơn

Trang 22

Giải th%ch chi ti2t câu lệnh:

- Câu lệnh SELECT:

Trích xuất các thông tin:

 MY hóa đơn (invoice_id) từ bảng Order

 MY khách hàng (customer_id) và tên khách hàng (customer_name) từ bảng Customer

 MY sản phẩm (product_id), giá sản phẩm (price) từbảng Product

Trang 23

Giải th%ch câu lệnh:

- LEFT JOIN:

Order_Customer liên kết bảng Order với Customer Order_Product liên kết bảng Order với Product Product lấy thông tin về giá và mY sản phẩm từ bảng

sản phẩm

- Điu kiện WHERE:

WHERE c.id = 'KH004': Giới hạn kết quả chỉ bao gồm các đơn hàng thuộc về khách hàng có mY là KH004

K2t quả:

Câu truy vấn này trả về:

 Tất cả sản phẩm trong các đơn hàng của khách hàng có

mY KH004

 Nếu khách hàng KH004 không có sản phẩm hoặc đơn hàng, kết quả trả về sẽ là trống

Trang 24

5 Inventory (Kho hàng)

5.1 Hiển thị tất cả sản phẩm còn trong kho

5.2 Lọc sản phẩm trong kho theo tên và thể loại

Trang 25

T:ng k2t

Sau quá trình nghiên cứu và thực hiện, nhóm chúng em đã hoàn thành dự án Ứng dụng quản lý bán hàng với các chức năng chính như quản lý sản phẩm, khách hàng, đơn hàng, kho hàng, và doanh thu Hệ thống được xây dựng dựatrên các yêu cầu thực tế và đã được thử nghiệm nhằm đảm bảo tính hiệu quả

và dễ sử dụng

Trang 26

Dự án này không chỉ giúp nhóm hiểu sâu hơn về cách thiết kế và triển khai

cơ sở dữ liệu mà còn là cơ hội để áp dụng kiến thức lý thuyết vào thực tế Qua đó, chúng em nhận thấy tiềm năng ứng dụng của cơ sở dữ liệu trong việc giải quyết các bài toán quản lý phức tạp và nâng cao hiệu quả kinh doanh

Ngày đăng: 15/02/2025, 22:20

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

TÀI LIỆU LIÊN QUAN