báo cáo bài tập lớn đề tài quản lý cửa hàng tiện lợi circle k

46 0 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo bài tập lớn đề tài quản lý cửa hàng tiện lợi circle k

Đ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

TABLESPACETBSP1 STORAGE INITIAL50K; create tableQuanLy MaQL varchar215 primary key, MaCN varchar210 not null, HoTen nvarchar230 not null, Tuoi INT not null, DiaChi nvarchar250 not null

Trang 1

ĐỀ TÀI: QUẢN LÝ CỬA HÀNG TIỆN LỢI CIRCLE K

Giảng viên hướng dẫn: NGUYỄN THỊ THU TRANG Nhóm sinh viên thực hiện: Nhóm 2 – Lớp 02

HÀ NỘI – 2021

Trang 3

PHẦN I: THI T KẾ Ế

người dùng hướng tới C a hàng ti n lử ệ ợi chính là nơi người tiêu dùng hướng đến đểđáp ứng nhu cầu c a b n thân khi mu n s n ph m an toàn và nhanh chóng ủ ả ố ả ẩ

rất nhi u s n phề ả ẩm phong phú, đa dạng Được chia theo lo i s n ph m t ạ ả ẩ ừ đồ ăn cho đến đồ dùng thi t y u ế ế

Sau khi khách vào l a ch n sự ọ ản ph m, nhân viên s ẩ ẽ kiểm và quét mã nh ng ữ

Bên trong hóa đơn sẽ ghi rõ thông tin chi ti t các s n ph m, thế ả ẩ ời gian, nhân viên, chi nhánh…

Khi k t thúc mế ột ngày làm việc, quản lý và nhân viên s t ng h p l i các hóa ẽ ổ ợ ạ

gian nào trong ngày

Trang 4

2

1 Sơ đồ liên kết thực th (ERD) ể

Trang 5

2 Sơ đồ quan hệ

Nhóm d ự án đã hoàn thành xong thiết kế chức năng và thiết kế CSDL cho h ệthống quản lý bán hàng trong ngày 1/6/2021 Dưới đây là phần thiết kế chi tiết:

Trang 6

4

Tên trường Kiểu Độ dài/ c Ràng bu c

Tên trường Kiểu Độ dài/ c Ràng bu c

Tên trường Kiểu Độ dài/ c Ràng bu c

Trang 7

Tên trường Kiểu Độ dài/ c Ràng bu c

• BẢNG HÓA ĐƠN

Tên trườngKiểu Độ dài/ c Ràng bu c

Tên trường Kiểu Độ dài/ c Ràng bu c

Trang 8

6

Tên trường Kiểu Độ dài/ c Ràng bu c

Tên trường Kiểu Độ dài/ c Ràng bu c

Tên trường Kiểu Độ dài/ c Ràng bu c

Trang 9

MaNCC Varchar2 15 Khóa ngo i ạ

Tên trường Kiểu Độ dài/ c Ràng bu c

Trang 10

8 PHẦN II: TH C HI N ỰỆ

- Các bướ ạc t o CSDL th c hiự ện như đã được hướng dẫn trên lớp, dưới đây là hình nh k t qu nhóm t o CSDL: ả ế ả ạ

Trang 11

2.2 T o Tablespace và t o bạạảng

không gian c p phát g n cho m i user Vi c t o thêm tablespace giúp chúng ta ấ ắ ỗ ệ ạcó th ể hiện sao lưu (backup) và phục hồi dữ u t ng ph n nh m nâng cao hiliệ ừ ầ ằ ệu suất hệ th ng Tronố g cơ sở ữ liệu này chúng em đã tạo 2 tablespace là: “tbsp1” d và “tbsp2” , với tablespace “tbsp1” để lưu trữcác data file ít b ị thay đổi (Chi

đểlưu trữ nh ng data files ữ thường xuyên ph i c p nh t (S n ph m, Chi ti t kho, ả ậ ậ ả ẩ ếHoá đơn, Chi tiết HD, Phiếu nhập, Chi ti t PN, L ch làm) ế ị

data file theo t ng phừ ần

Trang 12

)

TABLESPACETBSP1 STORAGE (INITIAL50K);

create tableQuanLy(

MaQL varchar2(15) primary key, MaCN varchar2(10) not null, HoTen nvarchar2(30) not null, Tuoi INT not null,

DiaChi nvarchar2(50) not null, SDT nvarchar2(11) not null,

constraint QL_MaCN_FK foreign key(macn) references

chinhanh )

TABLESPACETBSP1 STORAGE (INITIAL50K);

CREATE SMALLFILE TABLESPACE "TBSP1"

DATAFILE 'D: APP HUNGN ORADATA BTL\\\\\tbsp1' SIZE 500M

AUTOEXTEND ON NEXT 500M MAXSIZE 4028M

LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

CREATE SMALLFILE TABLESPACE "TBSP2"

DATAFILE 'D: APP HUNGN ORADATA BTL tbsp2\\\\\' SIZE 500M

AUTOEXTEND ON NEXT 500M MAXSIZE 4028M

LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

Trang 13

DiaChi nvarchar2(50) not null, SDT varchar2(11) not null, MaCN varchar2(10) not null,

constraintNV_MaCN_FK foreign key(macn) references

chinhanh )

TABLESPACETBSP1 STORAGE (INITIAL50K);

create tableCaLam(

Ca varchar2(10) primary key , Batdau varchar2(10) not null, KetThuc varchar2(10) not null

);

TABLESPACETBSP1 STORAGE (INITIAL50K);

create tableLichLam(

Ca varchar2(5) not null, MaNV varchar2(15) not null,

constraint LL_Ca_FK foreign key (ca) referencescalam,

constraint LL_MaNv_FK foreign key (manv) references

nhanvien )

TABLESPACE TBSP2 STORAGE (INITIAL50K);

Trang 14

12

• Bảng nhà cung cấp

• Bảng kho

• Bảng chi tiết kho

create tableNhaCC(

MaNCC varchar2(15) not null primary key, TenNCC nvarchar2(50) not null

)

TABLESPACE TBSP1 STORAGE (INITIAL50K);

create tableKh(

MaKh varchar1primary key, MaC varchar1not null ,

constraintK_MaCN_Fforeign keyMaC) references chinhan

)

TABLESPACETBSP STORAGE (INITIAL50);

create table CTK

(

MaKho varchar2(10)not null, MaSP varchar2(20)not null,

SoLuongnumber not null,

NSX date not null,

HSDdate not null,

constraint CTK_MaKho_FK foreign key (MaKho) references

Trang 15

constraint SP_MaNCC_FK foreign key (MaNCC) references

nhacc )

TABLESPACE TBSP2 STORAGE (INITIAL 50K);

create tableHoadon(

MaHD varchar2(10) primary key, MaNV varchar2(15) not null, TongCong float not null, ThoiGian timestamp not null,

constraintHd_MaNV_FK foreign key(manv)

references nhanvien )

TABLESPACE TBSP2 STORAGE (INITIAL 100K);

create tablePhieuNhap(

MaPhieu varchar2(10) primary key, TongCong float not null, NgayNhap date not null

)

TABLESPACE TBSP2 STORAGE (INITIAL 100K);

Trang 16

14

• Bảng Chi tiết hoá đơn

• Bảng Chi tiết phiếu nhập

create tableCTHD(

MaHD varchar2(10) not null, MaSP varchar2(20) not null, DonVi VARCHAR2(10), SoLuong number not null, DonGiaBan float not null, ThanhTien float not null,

constraintHd_MaSP_FK foreign key(masp) references

sanpham,

constraint Hd_MaHD_FK foreign key (mahd) references

hoadon )

TABLESPACE TBSP2 STORAGE (INITIAL 100K);

create tableChiTietPhieuNhap(

MaPhieu varchar2(10) not null, MaSP varchar2(20) not null, MaNCC varchar2(15) not null, SoLuong number not null,

DonGiaNhap float not null, ThanhTien float not null,

constraint CTPN_MaNCC_FK foreign key(MaNCC) references

Trang 17

2.3 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 Chi nhánh ả

K t qu sau khi nhếảập d liệu ữ• Bảng chi nhánh

create or replace procedure INSERTCN (

Ma ChiNhanh.MACN%type, Ten ChiNhanh.TENCN%type, DC ChiNhanh.DIACHI%type

)

is begin

insert into ChiNhanh values(Ma,Ten,DC);

Trang 18

16

• Bảng qu n lý

• Bảng nhân viên

• Bảng ca làm • Bảng lịch làm

Trang 19

• Bảng nhà cung cấp • Bảng kho

• Bảng chi tiết kho

Trang 20

18

• Bảng s n phẩm ả

• Bảng hoá đơn

Trang 21

• Bảng chi tiết hoá đơn

• Bảng phiếu nhp

Trang 23

2 S n ph m còn h n s dả ẩ ạ ử ụng chưa đến 3 tháng

3 Sản phẩm đã nhập trong tháng 02/2021

5 Đưa ra số tiền lãi của m i s n ph m ỗ ả ẩselect * from ctk where (hsd sysdate-) < 90

select from * sanpham where masp in

(selecta.masp fromchitietphieunhap a inner joinphieunhap b using (maphieu) whereextract(month from b.ngaynhap)=2and extract(year from b.ngaynhap)=2021)

selecta.tensp, b.dongianhap,a.dongiaban, (a.dongiabanb.dongianhap) as TienLai

-fromsanpham a inner joinchitietphieunhap b using (masp) on a.masp=b.masp

select count(mahd) asSo_Luong_HD_Cua_CN4fromhoadon inner joinnhanvien

onhoadon.manv = nhanvien.manv

inner join chinhanh onnhanvien.macn = chinhanh.macn

Trang 24

22

select tencn,sum((cthd.dongiaban-dongianhap)*cthd.soluong) asdoanhthu

fromchitietphieunhap inner joinsanpham onchitietphieunhap.masp=sanpham.masp inner join cthd onsanpham.masp=cthd.masp inner join hoadon oncthd.mahd=hoadon.mahdinner join nhanvien onhoadon.manv=nhanvien.manvinner join chinhanh onnhanvien.macn=chinhanh.macngroup bytencn

Trang 25

7 Đưa ra thông tin và số ợng bán đượ lư c trong ngày 01/06/2021

8 Cho biết hóa đơn có số lượng bán >= 10 và đơn giá bán >= 130000 select distinct a.tensp,a.donvi, sum(b.soluong) as tongban from

sanpham a inner joincthd b using (masp) group bya.tensp,a.donvi

order by tongban asc

select * from cthd where soluong >= '10' and dongiaban >= '130000';

Trang 26

24

9 Liệt kê thông tin hóa đơn của các chi nhánh trong ca 1 trong ngày 01/06/2021)

Select hoadon.mahd,hoadon.manv,cthd.masp,cthd.soluong,cthd.donvi, cthd.thanhtien ,hoadon.tongcong

fromcthdinner joinhoadon oncthd.mahd=hoadon.mahd

inner join nhanvien

onhoadon.manv=nhanvien.manvinner joinlichlam

onnhanvien.manv=lichlam.manv

' whereca ='Ca1' andhoadon.thoigian<'01 06 2021- - 4:00:01,000000000

Trang 27

10 M i nhà cung c p, tìm tên s n ph m có giá bán s n ph m cao nh t c a nhà ỗ ấ ả ẩ ả ẩ ấ ủ

select Mancc,tensp, dongiaban from sanpham a

where dongiaban = (select max(dongiaban) from sanpham b

where a.mancc = b.mancc)

group by mancc,tensp, dongiaban

Trang 28

26

2.5 Tri n khai quy t c nghi p v ểắệụ

1 Nh p vào h ậ ọ tên đưa ra mã nhân viên, quê quán của nhân viên đó

create or replace procedure cau1(ten nhanvien.hoten%type) is

info nhanvien%rowtype; begin

-end loop; end;

Thực hiện câu nghiệp vụ: exec cau1('&ten')

Trang 29

2 Xóa nhân viên khi đưa vào mã nhân viên

create or replace procedure cau2 (

a nhanvien.manv%type; )

deletelichlam where manv=a;

deletecthd wheremahd in (selectmahd fromhoadon

Trang 30

28

3.Thêm m i d u vào nhà cung c p, báo l i n u nhà cung cớ ữ liệ ấ ỗ ế ấp đã có

create or replace procedure nccm (a nhacc.mancc%TYPE, b nhacc.tenncc%TYPE)

as

temp nhacc.mancc%TYPE; er EXCEPTION; begin

selectmancc intotemp fromnhacc where mancc=a; temp ifis not null then

raise er; end if;

exception whener then

dbms_output.put_line('Da co du lieu Khong them duoc'); whenno_data_found then

insert intonhacc (mancc,tenncc) values (a,b); dbms_output.put_line(b ||' da duoc them'); end;

Thực hi n câu nghi p v : ệệụexecNCCM('&MaNCC','&TenNCC');

Trang 31

4 Nh p vào mã khoậ , đưa ra thông tin sản phẩm n u hạn sử d ng còn 3 tháng ế ụthông báo ‘sắp h t hế ạn’, ngượ ại ‘còn hại’ c l

create or replace function kt(a ctk.masp%type) return number

is

temp number; begin

select to_date(HSD,'dd/mm/yyyy'

)-to_date(sysdate,'dd/mm/yyyy') into temp from ctk where ctk.masp=a;

temp<180 if then return 0; elsif temp>180 then return 1; end if;end;

declare

a ctk.makho%type; temp number; begin

elsiftemp=1 then

dbms_output.put_line(info.masp||' So luong: - '||info.soluong|| ||'-'' Con han'- );

end if; end loop;end;

Trang 32

30

5 Nh p vào tên chi nhánh thì s ậ ẽ tính được doanh thu c a chi ủ nhánh đó

create or replace function cau5(a in chinhanh.macn%type)

Trang 33

6 Tính t ng s ổ ố hóa đơn theo mỗi chi nhánh c n yêu cầ ầu

create or replace procedure cau6 (a inchinhanh.macn%type)

on nhanvien.macn=chinhanh.macn

wherechinhanh.macn= upper(a) or chinhanh.macn=lower(a); dbms_output.put_Line('Chi nhanh:'||upper(a)||' Hoa - don:'||sl);

end;

Thực hiện câu lệnh: execcau6('&MaCN');

Trang 34

(a>b) ifthen

forinfo1 in (selectsanpham.tensp ten1 asfrom

sanpham wheredongiaban betweenb and a) loop dbms_output.put_line(info1.ten1); end loop;

elsif(a<b) then

forinfo2 in(selectsanpham.tensp ten2 asfromsanpham

where dongiaban between and a b)

loop dbms_output.put_line(info2.ten2); end loop;

end if;

end;

Thực hi n câu l nh: ệệexeccau7('&Gia1','&Gia2');

Trang 35

8 Nh p mã s n phậ ả ẩm, thay đổi theo yêu cầu (tăng hay giảm) và nhập giá trị muốn thay đổi

create or replace procedure cau8 (ma sanpham.masp%type,act

varchar,val sanpham.dongiaban%type)

is begin

if (act='tang') then

update sanpham set dongiaban=dongiaban+val where

masp=ma;

elsif (act='giam' then)

updatesanpham set dongiaban=dongiaban-val where

masp=ma; end if;

end;

Thực hi n câu l nh: ệệexec cau8('&Masp','&Tang_hoac_giam','&val');

Trang 36

update ctk set soluong=soluong-sl where masp=ma;

end; Trigger

create or replace trigger cau9

after insert on cthd for each rowbegin

testpro(:new.masp,:new.soluong);

end;

Trang 37

10 Khi xóa m t nhân viên, thì ta s ộ ẽ lưu trữ ại d l ữ liệ nhân viên đó để trả lương u Tao table nhan vien nghi viec

create tableNV_temp(

MaNV varchar(15) primary key, Hoten varchar2(30) not null, Tuoi INTnot null, DiaChi varchar2(50) not null, SDT varchar2(11) not null, MaCN varchar2(10) not null, )

Tao procedure insert nhan vien nghi viec

create or replace procedureINSERT_NV_temp( ma NV_temp.MaNV%type,

ten NV_temp.HoTen%type, tuoi NV_temp.Tuoi%type, dc NV_temp.DiaChi%type, sdt NV_temp.SDT%type, macn NV_temp.MaCN%type

)

is begin

insert intoNV_temp values(ma,ten,tuoi,dc,sdt,macn);

end; Tao trigger

create or replace triggersaveDL after delete onnhanvien for each rowbegin

INSERT_NV_temp(:old.manv,:old.hoten,:old.tuoi,:old.diachi,:old.sdt,:old.macn);

end;

Trang 38

36

2.6 Qu n lý nguảời dùng

Yêu c u: H ầ ệ thống được s dử ụng ch y u b i 3 tác nhân ủ ế ở

• Nhân viên: thêm d u v ữ liệ ề hóa đơn, xem dữ liệ u sản ph m, kho ẩ• Quản lý: được phép ch nh sỉ ửa thay đổi

• Ban giám đốc: chỉ được phép xem các thông tin • Quản tr viên Có toàn quyị : ền trên cơ sở dữ liệu 2.6.1 User Nhân viên

GRANT CREATE SESSION TO STAFF;

AS BEGIN

ALL_TABLES WHERE USERNAME=OWNER ANDTABLESPACE_NAME IN('TBSP1' 'TBSP2',) )

Trang 39

2.6.3 User Ban giám đốc

2.6.4 Quản tr viên ị -USER QUANLY -

QUOTAS

PRIVILEGES

EXEC GRANT_SELECT('SYS' 'MAN',);

-USER BANGIAMDOC -

PRIVILEGES

-QUAN TRI VIEN -

QUOTAS

PRIVILEGES

Trang 40

38

2.7 Backup

₊ Full backup vào 23h59 ngày ch ủ nhật hàng tu n, s backup toàn b ầ ẽ ộ

• Increase backup

Trang 42

40

• Full Backup

Trang 44

42

Trang 45

PHẦN III K T LU N ẾẬ

Hiện nay h ệ thống các c a hàng tiện lợi Circle K đã và đang có mặt phổ biến ửtrên toàn qu c, hàng ngày mố ỗi chi nhánh đều ti p nhế ận các lượt cung c p s n phấ ả ẩm từ nhà cung cấp và các lượt mua t khách hàng V n d ng nhừ ậ ụ ững kiến thức đã học

nhằm th c hi n công vi c qu n lý hoự ệ ệ ả ạt động m t cách hi u quộ ệ ả nhất Đảm bảo các yêu nhanh gọn, chính xác, có tính linh động trong việc thay đổi và c p nhậ ật hóa đơn, hạn chế việc l p lặ ại và dư thừa dữ liệu mà người quản lý không thể kiểm soát th ủ

chia s ẻ cho các thành viên khác trong nhóm, ai cũng có thể dễ dàng truy c p và tiậ ếp cận dữ liệu để phục v cho công viụ ệc, giúp gi i quy t vả ế ấn đề phát sinh m t cách ộnhanh chóng

Mặc dù đã cố g ng tìm hi u và nghiên c u, song do h n ch và th i gian và kh ắ ể ứ ạ ế ờ ả năng đánh giá phân tích nên những trình bày c a nhóm v n còn nh ng h n ch v ủ ẫ ữ ạ ế ề phương pháp luận cũng như đánh giá Vì v y, nhóm r t mong nhậ ấ ận được s góp ý c a các ự ủ

Trang 46

44

Ngày đăng: 20/06/2024, 18:07