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

bài tập lớn đề tài quản lí bán hàng sách

47 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 đề Quản Lí Bán Hàng Sách
Tác giả Nguyễn Nhật Phương, Nguyễn Thị Đảm Hương, Nguyễn Thị Khánh Linh, Đỗ Thị Thu Huyền, Phạm Thị Thu Hà
Người hướng dẫn PTS. Nguyễn Thị Thu Trang
Trường học Học Viện Ngân Hàng
Chuyên ngành Cơ Sở Dữ Liệu II
Thể loại Bài Tập Lớn
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 47
Dung lượng 2,7 MB

Cấu trúc

  • I. THÔNG TIN DỰ ÁN (6)
    • 1. Nhiệm vụ của hệ thống quản lý bán hàng sách (6)
    • 2. Tổ chức quản lý bán hàng sách (6)
      • 2.1 Quản lý một số thông tin về nhân viên làm việc tại cửa hàng (6)
      • 2.2 Quản lý thông tin về sách trong cửa hàng (6)
      • 2.3 Quản lý thông tin của khách hàng (6)
      • 2.4 Quản lý quá trình bán sách (6)
    • 3. Mô tả tóm tắt dự án (7)
  • II. TRIỂN KHAI DỰ ÁN (7)
    • III.X ÂY DỰNG VÀ QUẢN LÝ CƠ SỞ DỮ LIỆU (17)
      • 1. Tạo cơ sở dữ liệu (17)
      • 2. Tablespace (17)
      • 3. Tạo tablespace và các bảng (18)
  • KẾT LUẬN (46)
    • 1. Nhận xét về nhóm (46)
    • 2. Kết quả đạt được (46)
    • 4. Hạn chế (46)

Nội dung

Việc nghiên cứu quản lý dữ liệu trong cửa hàng bán sách là giải pháp hiệuquả trong việc nâng cao năng lực vận hàng, kiểm soát hiệu quả trong kinh doanh manglại nhiều lợi ích: tiết kiệm t

THÔNG TIN DỰ ÁN

Nhiệm vụ của hệ thống quản lý bán hàng sách

Quản lý bán hàng sách là một hệ thống giúp chúng ta quản lý sách, nhân viên bán sách, nhà xuất bản, nhà cung cấp, hoá đơn bán và nhập sách Quản lý sách đã và đang bán tại cửa hàng, quản lý lượng sách của mỗi thể loại, nhà xuất bản, nhà cung cấp, thống kê được số lượng sách mỗi khách hàng mua thông qua hoá đơn bán Đồng thời quản lí về số lượng đơn mỗi nhân viên bán được.

Tổ chức quản lý bán hàng sách

2.1 Quản lý một số thông tin về nhân viên làm việc tại cửa hàng

- Quản lý về họ tên của nhân viên.

- Quản lý về địa chỉ, số điện thoại, ngày sinh, giới tính, căn cước công dân.

- Quản lý một số thông tin khác của nhân viên để phục vụ cho việc quản lý bán sách dễ dàng hơn như: quyền, tài khoản, mật khẩu

2.2 Quản lý thông tin về sách trong cửa hàng

- Quản lý nhà cung cấp, nhà xuất bản, tác giả, thể loại, năm xuất bản.

- Trong quá trình bán sách, nhân viên cần đến các thông tin của sách như số lượng tồn mỗi sách, giá bán.

2.3 Quản lý thông tin của khách hàng

- Quản lý họ tên khách hàng.

- Quản lý địa chỉ, số điện thoại(nếu có).

- Quản lý voucher giảm giá của khách hàng(nếu có).

2.4 Quản lý quá trình bán sách

- Quản lý các hóa đơn nhập và bán sách tại cửa hàng.

- Quản lý thông tin nhà cung cấp sách cho cửa hàng.

Mô tả tóm tắt dự án

Khách hàng đến cửa hàng mua sách phải tiến hành như sau:

- Mang theo voucher giảm giá (nếu có)

- Đầu tiên phải qua bộ phận đón tiếp làm thủ tục, tại đây nhân viên sẽ lấy thông tin hành chính của khách hàng để viết phiếu mua hàng (đối với khách hàng lần đầu tiên đến mua sách tại cửa hàng).

- Khách hàng được các tiếp viên hướng dẫn đến nơi chứa thể loại sách theo yêu cầu của khách hàng.

- Tại quầy sách, khách hàng được tư vấn sách Nếu có nhu cầu đổi thể loại sách sẽ được tư vấn sang quầy sách khác.

- Khách hàng phải qua bộ phận thanh toán để thanh toán hóa đơn bán hàng và làm các thủ tục khác (nếu có).

- Sau khi khách hàng thanh toán hóa đơn, xuất phiếu hóa đơn Cập nhật lại số lượng sách, tặng voucher giảm giá nếu đạt mức chi tiêu tối thiểu.

TRIỂN KHAI DỰ ÁN

ÂY DỰNG VÀ QUẢN LÝ CƠ SỞ DỮ LIỆU

1 Tạo cơ sở dữ liệu

Có cần thiết phải tạo nhiều tablespace cho cơ sở dữ liệu này không?Hãy đưa ra những giải thích hợp lý cho quyết định của anh chịViệc tạo nhiều tablespace là cần thiết cho cơ sở dữ liệu , vì:

- Dùng tablespace sẽ giúp quản lí data dễ dàng hơn, cho hiệu suất cao hơn, an toàn và bảo mật dữ liệu tốt hơn.

- Có thể cấp phát hạn ngạch không gian cho nhiều người dùng khác nhau trong hệ thống.

- Dễ dàng backup hay recover từng phần Mỗi phần này chính là 1 tablespace.

Khi dữ liệu lớn hơn khả năng lưu trữ của ổ cứng hiện tại, cần thêm ổ cứng mới để mở rộng dung lượng Lúc này, để liên kết vùng không gian mới này với vùng không gian cũ trên ổ cứng, cần sử dụng một công cụ gọi là tablespace.

- Nếu ta muốn 1 phần CSDL không được truy xuất nữa thì chỉ cần dừng 1 tablespace đó chứ không cần phải dừng toàn bộ CSDL.

- Trong bài trên nhóm sẽ chia ra 2 tablespace(tablesp1 và tablesp2) Tablesp1 sẽ lưu trữ các dữ liệu ít thay đổi còn tablesp2 sẽ lưu trữ các dữ liệu phải cập nhật thường xuyên (quyền, khách hàng, phiếu nhập, hoá đơn, chi tiết phiếu nhập, chi tiết hoá đơn) Việc phân chia như thế này sẽ giúp nâng cao hiệu suất trong việc sao lưu và phục hồi dữ liệu theo từng phần.

3 Tạo tablespace và các bảng a Tạo tablesp1

3.1.4 Tạo bảng nhanvien b Tạo tablesp2

3.2.2 Tạo bảng nhà xuất bản

3.2.8 Tạo bảng tác giả c.Nhập dữ liệu

Nhóm thực hiện đã tạo procedure để nhập dữ liệu nhanh hơn Sau đây là 1 ví dụ về tạo procedure và thực hiện nhập dữ liệu

Procedure nhập dữ liệu Bảng Nhà xuất bản

Kết quả sau khi nhập dữ liệu Bảng nhân viên

Bảng phiếu nhập Bảng hóa đơn

Bảng chi tiết phiếu nhập Bảng chi tiết hóa đơn

4.Các câu truy vấn cửa hàng thường sử dụng

4.1 Đưa ra t hông tin sách chưa có ai mua select from * sach where masach not in (select masach from chitiethoadon);

4.2 Đưa ra t hông tin sách có thể loại là sgk và xuất bản năm 2021 select from * sach where matheloai='sgk' and namxuatban 2021= ;

4.3 Đưa ra số tiền lãi của mỗi sản phẩm select distinct a.tensach b gianhap a giaban, , , ( a giaban

- b gianhap as tienlai) from sach a inner join chitietphieunhap b a.on masach b masach= ;

4.4 Thống kê những sách bán được trong tháng 2 và số lượng bán được select a.masach a tensach sum, , (soluong soluongdaban )as from chitiethoadon b join sach a aon masach b masach= where a.masach in (select b.masach from chitiethoadon b inner join hoadon c using (mahoadon) where extract month( from c.ngayxuat 2)= ) group by a.masach a tensach, ;

4.5 Thống kê khách hàng đã mua sách gì với sô lượng bao nhiêu

SQL select makhach, masach soluong , from chitiethoadon join hoadon on chitiethoadon.mahoadon hoadon mahoadon= ;

The PL/SQL block employs a cursor to iterate through rows in the chitiethoadon table, which stores customer purchases and book quantities It fetches the customer's ID, book ID, and quantity, constructing an output string for each record These details are then displayed line by line, presenting a concise summary of customer purchases.

4.6 Danh sách những sách do Nhã Nam cung cấp

SELECT distinct masach from chitietphieunhap join phieunhap on chitietphieunhap.maphieunhap = phieunhap.maphieunhap where mancc in (select mancc from nhacungcap where tenncc

4.7 Thông tin những khách hàng mua từ 2 lần trở lên select from * khachhang where makhach in (select distinct makhach from hoadon havingcount(mahoadon)>=2 group by makhach);

4.8 Đưa ra doanh thu cửa hàng theo từng tháng select extract month( from hoadon.ngayxuat)as thang,sum ((chitiethoadon dongia - chitietphieunhap gianhap chitiethoadon soluong )* ) as doanhthu from chitietphieunhap inner join sach on chitietphieunhap.masach = sach.masach inner join chitiethoadon on sach.masach chitiethoadon masach = inner join hoadon on hoadon mahoadon chitiethoadon = mahoadon group by extract month( from hoadon.ngayxuat);

4.9 Đưa ra thông tin những khách hàng có hóa đơn từ

500.000 trở lên select a.mahoadon a makhach c tenkhach, , ,sum(soluong dongia * )as

Tongtien from hoadon a join chitiethoadon b a.on mahoadon b mahoadon = join khachhang c aon makhach c makhach= having sum(soluong dongia 300000* )> group by a.mahoadon a makhach c tenkhach, , ;

4.10 Đưa ra tên các nhà cung cấp và sách có giá bán cao nhất của nhà cung cấp đó. select b.manxb tennxb masach tensach giaban , , , , from sach a join nhaxuatban b a.on manxb b manxb= where giaban=(select max(giaban )from sach c where b.manxb c manxb= ); Kết quả

5.Một số nghiệp vụ thông thường

The function `f_sodon` takes a customer code as input and returns the number of times the customer has made a purchase It does this by joining the `khachhang` and `hoadon` tables on the `makhach` field, and then counting the number of rows in the resulting table The group by clause is used to ensure that only one row is returned for each customer.

Gọi hàm select f_sodon('&makhachhang')from dual;

5.2 Cập nhật giá tăng lên 1000 cho các mã sách nhập từ bàn phím create or replace procedure giatang (msach nvarchar2) as begin update chitietphieunhap set gianhap gianhap = +1000 where masach msach= ; dbms_output.put_line('da cap nhat gia nhap'); end;

Gọi thủ tục exec giatang('01');

Nhập mã sách cho biết tên sách, tên thể loại, tên nhà xuất bản, giá bán, số lượng tồn kho set serveroutput on declare ts nvarchar2( );50 ttl nvarchar2( );50 gban number; sltonkho number; begin ts :='&ts'; select tentheloai giaban soluongton , , into ttl gban , , sltonkho from sach natural join theloai where ts tensach= ; dbms_output.put_line('ten sach: '|| ||ts', ten the loai: '|| ttl||', gia ban: '||gban||', so luong ton kho: '||sltonkho); end;

Nhập mã: Hoang tu be

5.4 Nhập tên sách cho biết sách đó có tồn tại trong CSDL không create or replace procedure tt(ten_sach nvarchar2) as n number; begin select count (tensach) into n from sach where tensach = ten_sach; if n>0 then dbms_output.put_line('ton tai sach '||ten_sach||' trong csdl'); else dbms_output.put_line('khong ton tai sach '||ten_sach||' trong csdl'); end if; end;

Gọi thủ tục set serveroutput on exec tt('Khu vuon tren may');

5.5 Nhập mã phiếu nhập cho biết phiếu đó do nhân viên nào lập và tổng tiền phiếu nhập đó set serveroutput on create or replace function caunam (mpn nvarchar2) return number as x number 0:= ; cursor ds is select nhanvien.manhanvien gianhap soluong , , from chitietphieunhap join phieunhap chitietphieunhap.maphieunhapon

= phieunhap maphieunhap join nhanvien on nhanvien manhanvien phieunhap manhanvien. where chitietphieunhap.maphieunhap mpn= ; d ds%rowtype; begin dbms_output put_line ('nhan vien nhap la '); open ds; loop fetch ds into d; exit when ds%notfound; x x d gianhap := + * d soluong; dbms_output.put_line d manhanvien( ); end loop; dbms_output put_line ('tong tien cua phieu la '); return x; close ds; end;

Gọi thủ tục set serveroutput on declare mpn nvarchar2( );10 x number; begin mpn := &mpn; x caunam:= (mpn); dbms_output.put_line(x); end;

5.6 Nhập tháng cho biết tháng đó có bao nhiêu khách hàng đến mua declare thang number; so_khach number; begin thang thang := & ; select count(makhach) into so_khach from hoadon where extract month( from ngayxuat) = thang; dbms_output put_line ('so khach hang den trong thang '||thang||' la:

5.7 Thêm mới dữ liệu vào nhà cung cấp, báo lỗi nếu nhà cung cấp đã có create or replace procedure nccm (a nhacungcap mancc %type, b nhacungcap tenncc %type) as temp nhacungcap.mancc%type; er exception; begin select mancc into temp from nhacungcap where mancc= ;a temp if is not nullthen raise er; end if; exception when er then dbms_output.put_line('Da co du lieu Khong them duoc.'); when no_data_found then insert into nhacungcap(mancc tenncc, )values ( , );a b dbms_output.put_line(b ||' da duoc them'); end;

Thực thi set serveroutput on exec nccm('&MaNCC' '&TenNCC', );

5.8 Xoá nhân viên khi đưa vào mã nhân viên create or replace procedure xoanv

Ngày đăng: 19/06/2024, 17:05

HÌNH ẢNH LIÊN QUAN

Bảng tacgia - bài tập lớn đề tài quản lí bán hàng sách
Bảng tacgia (Trang 13)

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

TÀI LIỆU LIÊN QUAN

w