Tải bản đầy đủ (.pdf) (14 trang)

đồ án cá nhân cơ sở dữ liệu đề tài quản lí bán hàng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (744.09 KB, 14 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>ĐẠI HỌC DUY TÂNTRƯỜNG KHOA HỌC MÁY TÍNH</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>MỤC LỤC</b>

<b>PHẦN I: PHÂN TÍCH U CẦU VÀ THIẾT KẾ MƠ HÌNH CƠ SỞ DỮ LIỆU</b>

1. Mơ tả bài tốn

2. Mơ hình thực thể liên kết 3. Mơ hình quan hệ 4. Nhập dữ liệu cho mỗi bảng

<b>PHẦN II: BIỂU THỨC ĐẠI SỐ QUAN HỆ</b>

1. Lập danh sách các khách hàng nữ 2. Lập danh sách những mặt hàng có dvt là kg 3. Lấy những hóa đơn năm 2023. Mahd, makh, ngayhd 4. Lấy những mặt hàng có sl bán>=20. Mah, mahd, slban 5. Lấy những mặt hàng có trong hd01. Mahd, mah, tenhang 6. Lấy những mặt hàng mà kh01 đã mua. Makh, mahd, mah, tenh 7. Lấy những hóa đơn mua với sl>50. Mah, mahd, tenh, sl 8. Lấy những mặt hàng chưa ai mua

<b>PHẦN III: NGÔN NGỮ SQL</b>

1. Lấy những khách hàng phái Nữ: makh, hoten, phai, sdt

2. Lấy những mặt hàng có dvt là “kg” (hoặc dvt khác): mah, tenh, dvt 3. Lấy những hóa đơn trong năm 2023: mahd, nam, makh

4. Lấy những mặt hàng có số lượng từ 10 đến 20. Sắp xếp tăng dần theo số lượng: mahd, mah, soluong, dongia

5. Lấy 2 mặt hàng có đơn giá cao nhất. mah, soluong, dongia

6. Liệt kê những hóa đơn của khách họ Lê (hoặc họ khác): makh, hoten, mahd, ngayhd

7. Liệt kê những mặt hàng Bia có đơn giá >400000. Mah, tenh, soluong, dongia 8. Liệt kê những hóa đơn trong tháng 10. Mahd, thang, mah, soluong 9. Liệt kê những khách hàng mua “hoa ly”: Makh, mah, tenh, soluong

10. Liệt kê những khách phái nam có mua “rượu”. Makh, hoten, phai, mah, tenh, soluong

11. Đếm số hóa đơn của kh01

12. Tính số lượng cao nhất của mặt hàng “Bia huda” 13. Tính tổng tiền đã bán được trong năm 2023 14. Tính đơn giá thấp nhất của mặt hàng h01 15. Tính số lượng trung bình của hóa đơn HD02

16. Tính tổng số lượng đã bán của từng mặt hàng: mah, tenh, tong_sl 17. Tính tổng tiền của mỗi hóa đơn: Mahd, ngayhd, makh, tong_tien 18. Lấy khách hàng mua với tổng tiền >1.000.000. Makh, hoten, tongtien 19. Lấy mặt hàng bán với trung bình đơn giá >10.000: Mah, tenh, TB_dongia 20. Lấy những mặt hàng được mua trên 5 lần: Mah, tenh, so_lan

21. Lấy mặt hàng chưa có người mua: Mah, tenh, dvt 22. Lấy hóa đơn có tổng tiền cao nhất

23. Lấy khách hàng mua cả bia lẫn rượu 24. Lấy hóa đơn mua tất cả cả món hang 25. Cập nhật đơn giá lên 10% cho mặt hàng H01 26. Xóa mặt hàng khơng có người mua

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>ĐỀ TÀI:QUẢN LÍ BÁN HÀNG</b>

<b>PHẦN I.PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ MƠ HÌNH CƠ SỞ DỮ LIỆU</b>

1.Mơ tả bài tốn

Mỗi khách hàng có một mã khách hàng (MAKH) duy nhất, mỗi MAKH xác định được các thông tin về khách hàng như : họ tên khách hàng (HOTEN), địa chỉ (ĐIACHI), số điện thoại (ĐIENTHOAI). Các mặt hàng được phân loại theo từng nhóm hàng, mỗi nhóm hàng có một mã nhóm (MANHOM) duy nhất, mỗi mã nhóm hàng xác định tên nhóm hàng (TENNHOM), tất nhiên một nhóm hàng có thê có nhiêu mặt hàng. Mỗi mặt hàng được đánh một mã sô (MAHANG) duy nhất, môi mã số này xác định các thông tin về mặt hàng đó như : tên hàng (TENHANG), đơn giá bán (ĐONGIA), đơn vị tính (ĐVT). Mỗi hóa đơn bán hàng có một số hóa đơn (SOHĐ) duy nhất, mỗi hóa đơn xác định được khách hàng và ngày lập hóa đơn

(NGAYLAPHĐ), ngày bán hàng (NGAYBAN). Với mỗi mặt hàng trong một hóa đơn cho biết số lượng bán (SLBAN) của mặt hàng đó.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Bảng ChiTiet:

<b>PHẦN II: BIỂU THỨC ĐẠI SỐ QUAN HỆ</b>

Khachhang(makh, hoten, phai, sdt) Hang(mah, tenh, dvt)

Hoadon(mahd, ngayhd, makh) Chitiet(mahd, mah, soluong, dongia) 8.Lấy những mặt hàng chưa ai mua.

Π mah,tenh,dvt ( mah=”is null”(hang))ϭ

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>PHẦN III. NGÔN NGỮ SQL</b>

<b> Khachhang(makh, hoten, phai, sdt)</b>

Hang(mah, tenh, dvt) Hoadon(mahd, ngayhd, makh) Chitiet(mahd, mah, soluong, dongia)

1.Lấy những khách hàng phái Nữ: makh, hoten, phai, sdt

SELECT makh, hoten, phai, sdt FROM Khachhang WHERE phai = 'Nu';

2.Lấy những mặt hàng có dvt là “thung” (hoặc dvt khác): mah, tenh, dvt SELECT mah, tenh, dvt FROM Hang WHERE dvt = 'thung';

3.Lấy những hóa đơn trong năm 2023: mahd, nam, makh

SELECT mahd, YEAR(ngayhd) as nam, makh FROM Hoadon WHERE YEAR(ngayhd) = 2023;

4.Lấy những mặt hàng có số lượng từ 10 đến 20. Sắp xếp tăng dần theo số lượng: mahd, mah, soluong, dongia

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

SELECT mahd, mah, soluong, dongia FROM Chitiet WHERE soluong BETWEEN 10 AND 20 ORDER BY soluong ;

5.Lấy 2 mặt hàng có đơn giá cao nhất. mah, soluong, dongia

SELECT TOP 2 mah, soluong, dongia FROM Chitiet ORDER BY dongia ;

6.Liệt kê những hóa đơn của khách họ Lê (hoặc họ khác): makh, hoten, mahd, ngayhd

SELECT KhachHang.makh, hoten, hoadon.mahd, hoadon.ngayhd FROM KhachHang,hoadon

WHERE Khachhang.makh = hoadon.makh and hoten LIKE 'Le*';

7.Liệt kê những mặt hàng Bia có đơn giá >400000. Mah, tenh, soluong, dongia select hang.mah, tenh, soluong, dongia

from hang,chitiet

WHERE hang.tenh like 'Bia*' AND chitiet.dongia > 400000;

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

8.Liệt kê những hóa đơn trong tháng 10. Mahd, thang, mah, soluong SELECT hoadon.Mahd, month(ngayhd)as thang, mah, soluong From hoadon,chitiet

where hoadon.mahd = chitiet.mahd and MONTH(ngayhd) = 10;

9.Liệt kê những khách hàng mua “hoa ly”: Makh, mah, tenh, soluong SELECT Khachhang.makh, hang.mah, hang.tenh, chitiet.soluong

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

11.Đếm số hóa đơn của kh01

12.Tính số lượng cao nhất của mặt hàng “Bia huda”

SELECT MAX(soluong) as SoLuongCaoNhat_BiaHuda FROM Chitiet WHERE mah = 'h1';

13.Tính tổng tiền đã bán được trong năm 2023

SELECT sum(soluong*dongia) as tongtiendaban_nam2023 from chitiet,hoadon

where chitiet.mahd = hoadon.mahd and year(hoadon.ngayhd)= '2023';

14.Tính đơn giá thấp nhất của mặt hàng h01

SELECT Min(dongia) as DonGiaThapNhat_H1 FROM Chitiet,hang

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

WHERE chitiet.mah = 'h1';

15.Tính số lượng trung bình của hóa đơn HD02 SELECT AVG(soluong) AS SoLuongTrungBinh FROM Chitiet

WHERE mahd = 'HD02';

16.Tính tổng số lượng đã bán của từng mặt hàng: mah, tenh, tong_sl SELECT chitiet.mah, hang.tenh, sum(chitiet.soluong) as tong_sl From Chitiet,hang

where chitiet.mah = hang.mah GROUP BY Chitiet.mah, Hang.tenh;

17.Tính tổng tiền của mỗi hóa đơn: Mahd, ngayhd, makh, tong_tien SELECT hoadon.mahd, hoadon.ngayhd, hoadon.makh, Sum(chitiet.soluong*chitiet.dongia) as tong_tien from hoadon, chitiet

where hoadon.mahd = chitiet.mahd

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Group by hoadon.mahd , hoadon.ngayhd, hoadon.makh;

18.Lấy khách hàng mua với tổng tiền >1.000.000. Makh, hoten, tongtien SELECT khachhang.Makh, khachhang.hoten,

sum(chitiet.soluong*chitiet.dongia) as tongtien From khachhang,chitiet,hoadon

where khachhang.makh = hoadon.makh and Hoadon.mahd = Chitiet.mahd Group by khachhang.makh , khachhang.hoten

having sum(chitiet.soluong*chitiet.dongia) >1000000;

19.Lấy mặt hàng bán với trung bình đơn giá >10.000: Mah, tenh, TB_dongia SELECT hang.Mah, hang.tenh,AvG(dongia) as TB_dongia

From hang,chitiet

Where hang.mah = chitiet.mah group by hang.mah,tenh having AvG(dongia) >10000

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

20.Lấy những mặt hàng được mua trên 1 lần: Mah, tenh, so_lan SELECT Hang.mah, Hang.tenh, COUNT(Chitiet.mah) AS SoLan FROM Hang, chitiet

where Hang.mah = Chitiet.mah group by Hang.mah, Hang.tenh having COUNT(Chitiet.mah) >1;

21.Lấy mặt hàng chưa có người mua: Mah, tenh, dvt

SELECT * FROM HANG

WHERE (((HANG.[MAH]) Not In (SELECT MAH FROM CHITIET))); 22.Lấy hóa đơn có tổng tiền cao nhất

SELECT TOP 1 Hoadon.mahd, Hoadon.ngayhd, Hoadon.makh, SUM(Chitiet.soluong * Chitiet.dongia) AS TongTien

FROM Hoadon,chitiet

where Hoadon.mahd = Chitiet.mahd

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

GROUP BY Hoadon.mahd, Hoadon.ngayhd, Hoadon.makh ORDER BY SUM(Chitiet.soluong * Chitiet.dongia) DESC;

23.Lấy khách hàng mua cả bia lẫn rượu

SELECT MAKH FROM HOADON A,HANG B,CHITIET C

WHERE A.MAHD=C.MAHD AND B.MAH=C.MAH AND TENH LIKE "bia*"

24.Lấy hóa đơn mua tất cả cả món hang select mahd, count(mah) as somon

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

set dongia=dongia*1.1 where mah like"h1"

26.Xóa mặt hàng khơng có người mua delete*from Hang

where mah not in(select mah from chitiet)

</div>

×