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

bài tiểu luận đề tài quản lý thư viện

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 (534.61 KB, 14 trang )

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

1.1Một thư viện tổ chức việc cho mượn sách như sau:

Mỗi quyển sách được đánh một mã sách (MASH) dùng để phân biệt với các quyển sách khác (giả sử nếu một tác phẩm có nhiều bản giống nhau hoặc có nhiều tập thì cũng xem là có mã sách khác nhau), mỗi mã sách xác định các thông tin khác như : tên sách (TENSACH), tên tác giả

(TACGIA), nhà xuất bản (NHAXB), năm xuất bản (NAMXB).

1.2Mỗi đọc giả được thư viên cấp cho một thẻ thư viện, trong đó có ghi rõ mã đọc giả(MAĐG), cùng với các thông tin khác như : họ tên (HOTEN), ngày sinh (NGAYSINH), địa chỉ(ĐIACHI), nghề nghiệp(NGHENGHIEP). Cứ mỗi lượt mượn sách, đọc giả phải ghi các quyển sách cần mượn vào một phiếu mượn,mỗi phiếu mượn có một số phiếu mượn (SOPM) duy nhất, mỗi phiếu mượn xác định các thông tin như: ngày mượn (NGAYMUON), đọc giả mượn, các quyển sách mượn và ngày trả (NGAYTRA). Các quyển sách trong cùng một phiếu mượn không nhất thiết phải trả trong trong cùng một ngày

II.Vẽmơhìnhthựcthểliênkết:

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

1.Liệt kê những độc giả có nghề nghiệp là sinh viên ᵟ<small>NGHENGHIEP=”Sinh viên”</small>(THETHUVIEN)

2. Liệt kê những quyển sách của tác giả “Nam Cao” ᵟ<small>TACGIA=”Nam Cao”</small>(SACH)

3. Liệt kê những phiếu mượn trong tháng 8. Mapm, madg, ngaymuon ᵟ<small>MONTH(NGAYMUON)=8</small>(PHIEUMUON)

4. Liệt kê những độc giả có mượn sách “số đỏ”. Mash, tensach, madg π<small>MASH,TENSACH,MADG TENSACH=”Số</small>(ᵟ

5. Liệt kê những quyển sách xuất bản năm 2000. Mash, tensach, namxb π<small>MASH,TENSACH,NAMXB NAMXB=2000</small>(ᵟ (SACH))

6. Lập danh sách những quyển sách chưa trả. Masach, tensach, ngaymuon, ngaytra (dieu kien ngaytra is null)

π<small>MASH,TENSACH,NGAYMUON,NGAYTRA NGAYTRA=NULL</small>(ᵟ =(PHIEUMUON*MUONSAC H*SACH))

7. Lập danh sách những quyển sách chưa ai mượn π<small>MASH</small>(SACH) – π<small>MASH</small>(MUONSACH)

8. Lập danh sách những độc giả mượn sách “số đỏ” và “ khơng gia đình”

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

π<small>MADG TENSACH=”Số đỏ”</small>(ᵟ (PHIEUMUON*MUONSACH*SACH))

U

π<sub>MADG TENSACH=”Khơng gia đình”</sub>(ᵟ (PHIEUMUON*MUONSACH*SACH)) Phần3:CâulệnhSQL:

Tạo CSDL QL bán hàng

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

Hoadon(mahd, ngayhd, makh) Chitiet(mahd, mah, soluong, dongia)

Thực hành phần SQL cho bài thực hành cá nhân:

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

6. Nhập dữ liệu cho bảng chitiet: 10 dịng

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

(nhập bằng tay khơng cần viết câu lệnh) Thực hành truy vấn dữ liệu theo yêu cầu sau: Truyvấntừ1bảng

7. Lấy những khách hàng phái Nữ: makh, hoten, phai, sdt Select * from khachhang where phai= 0

8. Lấy những mặt hàng có dvt là “kg” (hoặc dvt khác): mah, tenh, dvt Select * from hang where dvt=”kg”

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

9. 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

10. 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

Select * from chitiet where soluong between 10 and 20 order by soluong

11. ASC 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 desc

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

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

Select a.MAKH, HOTEN, MaHD, NgayHD from KHACHHANG a, HOADON b where a.MAKH = b.MAKH and HOTEN like 'Lê*'

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

Select a.MaH, TenH, SoLuong, DONGIA from hang a, chitiet b where a.MaH = b.MaH and DONGIA > 400000 and TenH like 'Bia*'

14. Liệt kê những hóa đơn trong tháng 10. Mahd, thang, mah, soluong

Select a.MaHD, MaH, SoLuong, month(NgayHD) as thang from hoadon a, chitiet b where a.MaHD = b.MaHD and month(NgayHD) = 10

15. Liệt kê những khách hàng mua “Snack oishi”: Makh, mah, tenh, soluong

Select a.MAKH, b.MaH, TenH, SoLuong from KHACHHANG a, HANG b, CHITIET c, HOADON d where a.MAKH = d.MAKH and b.MaH = c.MaH and d.MaHD=c.MaHD and TenH = 'Snack oishi'

16. Liệt kê những khách phái nam có mua “Bia larue”. Makh, hoten, phai, mah, tenh, soluong

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

Select a.MAKH, HOTEN, PHAI, b.MaH, TenH, SoLuong from KHACHHANG a, HANG b, CHITIET c , HOADON d where a.MAKH = d.MAKH and b.MaH = c.MaH and d.MaHD=c.MaHD and PHAI = yes and TenH='Bia larue'

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

Select COUNT(*) as SoLuongHD from HOADON where makh = '001'

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

Select max(SoLuong) as SoLuongMax from CHITIET a, HANG b where a.MaH = b.MaH and TenH = 'Bia Larue'

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

Select sum(SoLuong * DONGIA) as TongTien from CHITIET a, HOADON b where a.MaHD = b.MaHD and year(NgayHD) = 2023

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

Select min(DONGIA) as DonGiaMin from CHITIET where MaH = '01A'

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

21. Tính số lượng trung bình của hóa đơn 02

Select avg(SoLuong) as SLTB from CHITIET where MaHD = '02'

22. Tính tổng số lượng đã bán của từng mặt hàng: mah, tenh, tong_sl

SELECT c.MaH, h.TenH, SUM(c.SoLuong) AS tong_sl FROM CHITIET c, HANG h where c.MaH = h.MaH GROUP BY c.MaH, h.TenH

23. Tính tổng tiền của mỗi hóa đơn: Mahd, ngayhd, makh, tong_tien SELECT h.MaHD, NgayHD, SUM(c.SoLuong*c.DONGIA) AS tong_tien FROM CHITIET c, HOADON h WHERE c.MaHD = h.MaHD GROUP BY h.MaHD,h.NgayHD

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

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

SELECT a.MAKH,HOTEN, SUM(c.SoLuong*c.DONGIA) AS tong_tien FROM KHACHHANG a, HOADON b, CHITIET c where a.MAKH = b.MAKH and b.MaHD = c.MaHD GROUP BY a.MAKH, a.HOTEN HAVING SUM(c.SoLuong * c.DONGIA) > 1000000

25. Lấy mặt hàng bán với trung bình đơn giá >10.000: Mah, tenh, TB_dongia

Select a.MaH, TenH, avg(DONGIA) as TB_dongia from CHITIET a, HANG b where a.MaH = b.MaH group by a.MaH, TenH having avg(DONGIA) > 10000

26. Lấy những mặt hàng được mua 2 lần trở lên: Mah, tenh, so_lan Select b.mah, tenh, count(a.mah) as so_lan from chitiet a, hang b where a.mah = b.mah group by b.mah, tenh having count(a.mah) >= 2

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

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

Select * from hang where mah not in (select mah from chitiet)

28. Lấy hóa đơn có tổng tiền cao nhất

Select mahd , sum(soluong*dongia) as tong from chitiet Group by mahd having sum(soluong *dongia) >= all (select sum

(soluong*dongia) From chitiet group by mahd)

29. 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*'

Select makh from hoadon a, hang b, chitiet c where a.mahd = c.mahd and b.mah = c.mah and tenh like 'Rượu*'

30. Lấy hóa đơn mua tất cả cả món hàng

Select MaHD, count(MaH) as SOMON from chitiet Group by MaHD having count(MaH)= (Select count(MaH) from hang)

31. Cập nhật đơn giá lên 10% cho mặt hàng H01

Update chitiet set dongia = dongia * 1.1 where mah = '02A'

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

32. Xóa mặt hàng khơng có người mua

Delete from hang a, chitiet b where a.mah = b.mah having count(mahd) <= 0

</div>

×