![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](https://123docz.net/image/doc_normal.png)
Đang tải... (xem toàn văn)
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 3PHẦ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 42
1 Sơ đồ liên kết thực th (ERD) ể
Trang 52 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 64
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 7Tê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 86
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 9MaNCC Varchar2 15 Khóa ngo i ạ
Tên trường Kiểu Độ dài/ c ỡ Ràng bu c ộ
Trang 108 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 112.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 13DiaChi 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 1412
• 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 15constraint 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 1614
• 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 172.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 1816
• 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 2018
• Bảng s n phẩm ả
• Bảng hoá đơn
Trang 21• Bảng chi tiết hoá đơn
• Bảng phiếu nhập
Trang 232 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 2422
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 257 Đư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 2624
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 2710 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 2826
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 292 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 3028
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 314 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 3230
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 336 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 358 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 36update 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 3710 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 3836
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 392.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 4038
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 4240
• Full Backup
Trang 4442
Trang 45PHẦ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 4644
Ngày đăng: 20/06/2024, 18:07
Xem thêm:
Tài liệu cùng người dùng
Tài liệu liên quan