1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án hệ cơ sở dữ liệu ĐỀ TÀI QUẢN LÝ BÁN LAPTOP, PC

17 3 0

Đ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 đề Quản lý bán Laptop, PC
Tác giả Lương Tuấn Minh, Nguyễn Duy Anh, Lê Xuân Mười, Nguyễn Đức Thành
Người hướng dẫn Nguyễn Hồng Hạnh
Trường học Trường Đại học Xây dựng Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án hệ cơ sở dữ liệu
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 17
Dung lượng 495,16 KB

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO

TÊN ĐỀ TÀI: QUẢN LÝ BÁN LAPTOP, PC

Tên bộ môn: Đồ án hệ cơ sở dữ liệu

Giảng viên hướng dẫn: Nguyễn Hồng Hạnh Nhóm: 13 – 65IT3

Sinh viên thực hiện :

1 Lương Tuấn Minh – 4000265 2 Nguyễn Duy Anh - 6765 3 Lê Xuân Mười – 138065 4 Nguyễn Đức Thành - 1546865

Hà Nội, ngày 24 tháng 01 năm 2022

Trang 2

MỤC LỤC

1.Mô tả các yêu cầu lưu trữ và khai thác dữ liệu cơ bản của hệ thống 3

1.1 Yêu cầu lưu trữ 3

3.Mô tả cấu trúc bảng và giải thích ý nghĩa các cột dữ liệu của bảng 6

4.Sơ đồ quan hệ thể hiện mối liên kết giữa các bảng được tạo

Trang 3

1.1.Yêu cầu lưu trữ

- Lưu trữ 3 đối tượng chính:

+ Sản phẩm: sản phẩm, chi tiết sản phẩm, khuyến mãi, ảnh, thể loại + Khách hàng: khách hàng, thanh toán,

+ Nhân viên: nhân viên, tài khoản, lương

1.2.Khai thác dữ liệu

- Lấy danh sách sản phẩm, khách hàng, nhân viên trong hệ thống

- Thống kê doanh thu, sản phẩm bán ra,…

- Năng suất bán hàng của nhân viên

- Khách hàng thân quen

2 Mô tả thực thể và các mối quan hệ, sơ đồ ERD2.1.Mô tả thực thể

- Sản phẩm (PRODUCTS): lưu trữ thông tin chính về sản phẩm

- Chi tiết sản phẩm (PRODUCT_DETAIL): lưu trữ chi tiết thông số sản phẩm

- Giảm giá (COUPON): lưu trữ thông tin khuyến mãi, giảm giá sản phẩm

- Ảnh (IMG): lưu trữ ảnh mô tả sản phẩm

- Loại sản phẩm (CATALOG): lưu trữ các loại sản phẩm có trong cửa hàng

- Khách hàng (GUEST): lưu trữ thông tin khách hàng đã mua hàng

- Đơn thanh toán (BILL): lưu trữ thông tin cơ bản (mã khách hàng, tổng tiền)

- Chi tiết đơn (BILL_DETAIL): lưu trữ chi tiết đơn (mã sản phẩm, mã đơn)

- Doanh thu (SALES): dựa trên số đơn đã bán để lưu số tiền kiếm trong tháng

- Nhân viên (STAFF): lưu trữ thông tin nhân viên

- Tài khoản (ACCOUNT_STAFF): lưu trữ tài khoản của nhân viên

- Lương (SALARY): lưu trữ lương/tháng của nhân viên

Trang 5

2.3.Sơ đồ ERD

Trang 6

3 Mô tả cấu trúc bảng và giải thích ý nghĩa các cột dữ liệu của bảng

- Create_at: thời gian tạo

- Create_by: tạo bởi nhân viên nào

- Update_at: thời gian sửa đổi, cập nhật

- Update_by: thay đổi bởi nhân viên nào + content: nội dung mô tả sản phẩm

-Chi tiết sản phẩm (PRODUCT_DETAIL):

+ monitor: thông tin màn hình + cpu: thông tin ổ cứng + ram: thông tin bộ nhớ + vga: thông tin card màn hình + ssd: thông tin ổ cứng (thể rắn) + hdd: thông tin ổ cứng

+ psu: thông tin nguồn

+ mainboard: thông tin bo mạch chính

Trang 7

+ case_pc: thông tin vỏ máy tính

-Khuyến mãi (COUPON):

+ id: mã khuyến mãi + discount: giảm giá

+ start_at: bắt đầu vào ngày/ giờ nào + end_at: kết thúc vào ngày/giờ nào + birthday: ngày sinh

+ email: tài khoản thư điện tử + address: địa chỉ khách hàng + phone: số điện thoại khách hàng

-Đơn thanh toán (BILL):

+ id: mã đơn thanh toán

Trang 8

-Nhân viên (STAFF):

+ id: mã nhân viên + name: tên nhân viên + gender: giới tính + birthday: ngày sinh + address: địa chỉ nhân viên + phone: số điện thoại nhân viên + position: chức vụ

-Tài khoản nhân viên (ACCOUNT_STAFF):

+ id: mã tài khoản + account: tài khoản + password: mật khẩu

-Lương nhân viên (SALARY)

+ id: mã nhân viên

Trang 9

4 Sơ đồ quan hệ thể hiện mối liên kết giữa các bảng được tạo (RelationshipDiagram)

Trang 10

5 Danh sách truy vấn đã thiết kế và hình ảnh demo kết quả tương ứng5.1 SẢN PHẨM

1 Lấy ra những sản phẩm của hãng acer SELECT p.product_name, p.product_brand FROM PRODUCTS p,CATALOG c

WHERE p.catalog_id = c.id AND c.catalog_name = 'laptop' AND

WHERE price = ( SELECT MAX(price) FROM PRODUCTS)

4 Sắp xếp, hiển thị theo giá (tên) giảm dần hoặc tăng dần về giá (alpha a-z) SELECT product_name, product_brand, price

FROM PRODUCTS ORDER BY price DESC

Trang 11

5 Hiển thị theo tên hoặc mã sản phẩm

SELECT pd.monitor, pd.ram, pd.vga, pd.ssd FROM PRODUCTS p, PRODUCT_DETAIL pd WHERE p.id = pd.id AND p.id = 5

6 Sản phẩm bán được trong 7 ngày qua SELECT p.product_name

FROM PRODUCTS p, BILL b, BILL_DETAIL bd

WHERE b.id = bd.bill_id AND bd.product_id = p.id AND b.create_at BETWEEN GETDATE()-DAY(7) AND GETDATE();

7 In ra id có hãng dell và có giá trong khoảng từ 20000000 đến 40000000 select id from Products

where product_brand = 'dell'

and price >= 20000000 and price <= 40000000

Trang 12

8 In ra danh sách các sản phẩm (id,product_name) do hãng msi và acer sản xuất và có giá tiền từ 10000000 đến 50000000

select id,product_name from products

where (product_brand='msi' or product_brand='acer') and price >=10000000 and price <=50000000

9 In ra danh sách các sản phẩm (id,product_name) được khách hàng có tên 'Hoang Van Nam' mua trong tháng 1/2022

select p.id,p.product_name

from products p , guest g, bill b, bill_detail bd where g.name ='Hoang Van Nam'

and bd.product_id = p.id and month(b.create_at)='1'

and year (b.create_at)='2022'

and b.guest_id = g.id and bd.bill_id = b.id

10 In ra danh sách các sản phẩm (id,product_name) không bán được select p.id,p.product_name from products p

where p.id not in (select bd.product_id from bill_detail bd)

Trang 13

11 In ra danh sách các sản phẩm (id,product_name) thuộc hãng "dell" không bán được

select p.id,p.product_name from products p where p.product_brand = 'dell'

and p.id not in (select bd.product_id from bill_detail bd)

12 có bao nhiêu sản phẩm không bán được select count (p.id) as soluong from products p where p.id not in(select product_id from bill_detail)

13 tìm tên khách hàng đã mua hóa đơn có giá trị cao nhất trong năm 2022 select g.name from bill b, GUEST g

where b.guest_id=g.id and amount in ( select max(b.amount) from bill b where year(b.create_at)= '2022')

14 In ra danh sách các sản phẩm (id,product_name) có giá bán bằng 1 trong 3 mức giá cao nhất

select id,product_name from PRODUCTS

where price in (select top 3 p.price from PRODUCTS p order by p.price DESC)

Trang 14

5.2 ĐƠN HÀNG, DOANH THU

15 Lấy ra thông tin các đơn hàng mua vào ngày 07/12/2021

SELECT * FROM BILL WHERE CAST(create_at AS DATE) = '2021-12-07'

16 Hiện doanh thu hiện tại

SELECT sum(amount) as doanh_thu FROM BILL

WHERE create_at BETWEEN '2021-12-01' AND GETDATE()

17 Thống kê có bao nhiêu đơn hàng mua trong 1 tuần vừa qua SELECT count(id) as so_luong_don_hang

FROM BILL

WHERE create_at BETWEEN GETDATE()-DAY(7) AND GETDATE()

18 Lấy ra tên các sản phẩm có mã đơn hàng = 1

select p.product_name from PRODUCTS p, BILL_DETAIL bdt where p.id = bdt.product_id and bdt.bill_id = '1'

19 Lấy ra tên khách hàng có mã đơn = 2 select g.name from GUEST g , BILL b where g.id = b.guest_id and b.id = '2'

20 Lấy ra tên sản phẩm được khách hàng id = 3 mua select p.product_name

from PRODUCTS p, GUEST g , BILL_DETAIL bdt, BILL b

Trang 15

where g.id = b.guest_id and p.id = bdt.product_id and bdt.bill_id = b.id and g.id

WHERE name = 'Nguyen Duy Anh'

22 Hiển thị thông tin nhân viên tạo khuyến mãi ngày 13/10/2021 SELECT s.name, s.address, s.phone

FROM STAFF s, COUPON c

WHERE s.id = c.create_by AND cast(c.start_at as date) = '2021-10-13'

GROUP BY name,address, phone

23 Hiển thị nhân viên chưa có hóa đơn nào SELECT s.name, s.address, s.phone FROM STAFF s, BILL b

WHERE s.id NOT IN (SELECT create_by FROM BILL) GROUP BY name,address, phone

24 Tính tổng tiền các đơn của nhân viên bán được nhiều nhất DECLARE @cMax int = (SELECT MAX(s)

FROM (SELECT COUNT(create_by) as s FROM BILL GROUP BY create_by ) as s)

DECLARE @sId int=(SELECT create_by FROM BILL GROUP BY create_by HAVING COUNT(create_by)=@cMax)

SELECT s.id, s.name,SUM(b.amount) as tong_tien FROM STAFF s, BILL b

WHERE s.id = b.create_by AND b.create_by = @sId GROUP BY s.id, s.name

25 Hiển thị nhân viên bán được nhiều đơn nhất DECLARE @cMax int = (SELECT MAX(s)

Trang 16

FROM (SELECT COUNT(create_by) as s FROM BILL GROUP BY create_by ) as s)

DECLARE @sId int=(SELECT create_by FROM BILL GROUP BY create_by HAVING COUNT(create_by)=@cMax)

SELECT s.id, s.name,@cMax as tong_don FROM STAFF s, BILL b WHERE s.id = b.create_by AND b.create_by = @sId

GROUP BY s.id, s.name

5.4 KHÁCH HÀNG

26 Hiển thị thông tin khách hàng mua nhiều nhất trong 30 ngày DECLARE @Max int = (SELECT MAX(s)

FROM (SELECT SUM(amount)as s FROM BILL b WHERE create_at BETWEEN GETDATE()-DAY(30) AND GETDATE() GROUP BY guest_id ) as s)

DECLARE @id int=(SELECT guest_id FROM BILL GROUP BY guest_id HAVING SUM(amount)=@Max)

SELECT g.id, g.name,@Max as tong FROM GUEST g, BILL b

WHERE g.id = b.guest_id AND guest_id = @id GROUP BY g.id, g.name

27.In ra thông tin nhân viên doanh thu nhiều nhất trong 30 ngày DECLARE @cMax int = (SELECT MAX(s)

FROM (SELECT SUM(amount)as s FROM BILL b

WHERE create_at BETWEEN GETDATE()-DAY(30) AND GETDATE() GROUP BY create_by ) as s)

DECLARE @sId int=(SELECT create_by FROM BILL GROUP BY create_by HAVING SUM(amount)=@cMax)

SELECT s.id, s.name,@cMax as tong FROM STAFF s, BILL b WHERE s.id = b.create_by AND b.create_by = @sId

GROUP BY s.id, s.name

28 Tìm tên khách hàng đã mua hóa đơn có giá trị cao nhất trong năm 2022 select g.name from bill b, GUEST g where b.guest_id=g.id and amount in( select max(b.amount) from bill b where year(b.create_at)= '2022')

Trang 17

6 Đánh giá thiết kế CSDL6.1.Ưu điểm:

- Phù hợp với cửa hàng buôn bán nhỏ, sử dụng để bán hàng trực tiếp

- Các trường dữ liệu có thể đáp ứng đủ các nhu cầu cơ bản của 1 cửa hàng (về lưu trữ, tính toán,…)

6.2.Nhược điểm

- Thiếu 1 số bảng để đáp ứng nhu cầu cho 1 cửa hàng kết hợp bán online (thu thập đánh giá của khách hàng về sản phẩm, giao hàng, mua hàng online,…)

Ngày đăng: 20/04/2024, 16:04

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

TÀI LIỆU LIÊN QUAN

w