o Nhân viên thu ngân sẽ tiến hành lập hóa đơn cho khách và để hóa đươn đó ở trạng thái chờ thanh toán.. Khi khách hàng dùng xong sản phẩm và muốn thanh toán thì sẽ đi ra đi ra quầy thu n
Trang 1Chương I : Mô hình và bài toán nghiệp vụ của quán café
A Những vẫn đề cần đặt ra
1 Nhiệm vụ và mục đích hoạt động
- Nhiệm vụ của quàn café là bằng cách đáp ứng nhu cầu của khách hàng một cách tốt nhất với những đồ
ăn, đồ uống và thư dãn để đạt được thu nhâ[pj cao troing điều kiện có thể Rõ ràng là, để đáp ứng được nhu cầu của khách hàng một cách tốt nhất, cửa hàng cần phải có danh mục sản phẩm da dạng và chất lượng Bên cạnh đó là sự phục vụ nhanh chóng và niềm nởi của nhân viên Những yêu cầu đặt ra tuy đơn giản nhưng không dễ thực hiện vì mỗi cửa hàng luôn tồn tại những hạn chế về không gian, quy mô và nguồn lực
2 Mô hình tổ chức và cơ chế hoạt động
- Quản lý nhóm sản phẩm
Do quán kinh doanh nhiều loại sản phẩm nên nhóm sản phẩm được đưa ra để phân loại những sản phẩm cũng loại Mỗi một nhóm sẽ có một mã để định danh
và đi kèm theo là tên nhóm
- Quản lý danh mục sản phẩm
Mỗi một sản phẩm đều được chia vào 1 nhóm sản phẩm Những sản phẩm này cũng được đánh mã sản phẩm và được ghi tên cùng với giá cả để cho khách hàng dễ dàng chọn lựa
- Quản lý bàn:
Khi khách vào quán thì khách sẽ chọn chỗ ngồi phù hợp( một mình, nhóm từ 3 đến 5 người, nhóm 10 người) Mỗi bàn được đánh mã số(được ghi ở trên mặt bàn) để thuận tiện cho việc quản lý cũng như việc phục vụ khách hàng được nhanh chóng Khi bàn đang có khách thì trạng trái sẽ là bận còn khi khách rời đi thì sẽ trở lại trạng thái chờ
- Quản lý bán hàng
o Khi khách hàng đã ngồi vào bàn thò sẽ có nhân viên đến để phục vụ Nhân viên sẽ đưa menu để cho khách hàng lựa chọn sản phẩm Các sản phẩm khách yêu cầu sẽ được nhân viên ghi lại
và đưa về quầy
Trang 2o Nhân viên thu ngân sẽ tiến hành lập hóa đơn cho khách và để hóa đươn đó ở trạng thái chờ thanh toán Khi khách hàng dùng xong sản phẩm và muốn thanh toán thì sẽ đi ra đi ra quầy thu ngân để thanh toán hóa đơn Sau khi nhân tiền từ khách thì nhân viên thu ngân sẽ xuất hóa đơn và đưa cho khách hàng
o Mỗi một hóa đơn sẽ bao gồm: Mã hóa đơn,Mã nhóm sản phẩm, Mã SP, Mã bàn, Số lượng,…
- Quản lý nhân viên
Mỗi một nhân viên sẽ có một nghiệp vụ riêng: thu ngân, phục vụ,pha chế,… Mỗi nhân viên sẽ được quản lý bởi mã nhân viên Thông tin về nhân viên bao gồm: Mã nhân viên, Tên nhân viên,…
- Báo cáo
Hàng tuần , tháng, nhân viên quản lý quản lý quầy phải làm báo cáo cho chủ cửa hàng thông tin về
doanh thu và các mặt hàng bán được Những thông tin này giúp chủ cửa hàng có thể lập kế hoạch mua các vật tư và thực phẩm phục vụ việc chế biến sản phẩm đáp ứng yêu cầu của khách hàng ngày
3 Hiện trạng của cửa hàng và những vấn đề đặt ra
- Do vị trí và danh tiếng nên cửa hàng thường rất đông khách Vào những lúc này khách thường phải chờ đợi lâu mới được phục vụ
- Sự biến động lớn của khách hàng: lúc thì rất đông, lúc lại bình thường do đó gây ra sự thiếu nhân sự gay gắt Việc tổng kết chậm( hàng tuần) và không phân tích kịp nhu cầu người dùng nên không thỏa mãn nhiều nhu cầu mà khách hàng mong muốn
4 Giải pháp nâng cao hiệu quả quản lý ở quán café
Những vấn đề đặt ra bên trên cho thấy, cần có một giải pháp để nâng cao hiệu quả hoạt động của quán
để tăng doanh thu và đáp ứng yêu cầu của khách hàng một cách tốt nhất
Một trong các phương pháp để nâng cao hiệu quả là tin học hóa các hoạt động quản lý và vận hành trong điều kiện trang thiết bị cho phép Từ nghững vấn đề
Trang 3phát hiện ta có thể có những giải pháp tương ứng sau đây:
o Thanh toán dự vào phần mềm đẽ Chương II: Phân tích hệ thống quản lý
1 Xây dựng mô hình thực thể liên kết
Tên được chính
xác của các đặc
trưng
Viết gọn tên đặc trưng
Đánh dấu loại đi ở mỗi bước
A.Nhóm sản
phẩm
B.Danh mục sản
phẩm
C.Bàn
D.Hóa Đơn
Thành tiền Thành
E.Nhân viên
Trang 42 Xác định các thực thể, thuộc tính định danh
Thuộc tính tên gọi
tìm được
Thực thể tương ứng
Thuộc tính Định danh
Tên nhóm SP
Tên SP Giá
Mã NV
Mã bàn Ngày lập
Tên NV SDT Địa chỉ
Vị trí Trạng thái
3 Xác định mối quan hệ và thuộc tính giữa chúng
3.1 Các mối quan hệ tương tác
Động từ tìm được LẬP
Câu hỏi cho động từ LẬP
Thực thể Thuộc tính
Lập cái gì? HÓA ĐƠN
3.2 Các mối quan hệ phụ thuộc
Xét từng cặp thực thể Mối quan hệ Thuộc tính
4 Vẽ mô hình quan hệ thực thể liên kết
Trang 5Chương III Thiết kế logic về hệ thống cơ sở dữ liệu
1 Chuyển ERD sang mô hình quan hệ
- NHÓM SP( Mã nhóm SP, Tên nhóm SP) <1>
- SP( Mã SP, Mã nhóm SP ,Tên SP, Giá) <2>
- HÓA ĐƠN(Mã HĐ , Mã SP,Ngày lập,Số lượng, ĐVT)
<3>
Chuẩn hóa <5>
- HÓA ĐƠN(MÃ HĐ, Mã NV, Mã Bàn, Ngày lập) <3>
- CHI TIẾT HÓA ĐƠN(Mã HĐ, Mã SP, Tên SP,ĐVT, SL,
Đơn giá) <4>
- NHÂN VIÊN( Mã NV,Tên NV, SDT, Địa chỉ) <5>
- BÀN (Mã bàn, Vị trí , Trạng thái) <6>
2 Lập bảng xác định liên kết
Thuộc tính
khóa <1> <2> <3> <4> <5> <6> Liên kết
Trang 6Mã Bàn C K <6>-<3>
3 Vẽ biểu đồ
I Bảng cơ sở dữ liệu
Tên bảng: nhommon
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Ghi chú (ý nghĩa)
MaNhom INT khóa chính, unique,
not null, auto_increment
Mã nhóm
TenNhom VARCHAR 45 not null Tên nhóm
2 Bảng Thực đơn
Trang 7Tên bảng: thucdon
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Ghi chú (ý nghĩa)
MaMon INT khoá chính, unique,
not null, auto_increment
Mã món
TenMon VARCHAR 45 not null Tên món
MaNhom INT khóa ngoại, not null Mã nhóm
DonGia FLOAT not null,check Đơn giá
DVTinh VARCHAR 20 not null Đơn vị tính
3 Bảng Hóa đơn
Tên bảng: hoadon
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Ghi chú (ý nghĩa)
MaHD VARCHAR 15 khóa chính, unique,
not null
Mã hóa đơn
MaBan INT khóa ngoại, not null Mã bàn
TenNV VARCHAR 45 not null Mã nhân viên GioDen DATETIME not null Giờ khách đến GioCapNhat DATETIME not null Giờ cập nhật lại hóa
đơn
TrangThai VARCHAR 45 not null Trạng thái thanh
toán hay chưa thanh toán
4 Bảng Chi tiết hóa đơn
Tên bảng: cthoadon
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Ghi chú (ý nghĩa)
MaHD VARCHAR 15 khóa chính,
khóa ngoại, not null
Mã hóa đơn
not null
Mã món
Trang 8TenMon VARCHAR 45 not null Tên món
check
Số lượng
DVTinh VARCHAR 20 not null Đơn vị tính
check
Đơn giá
ThanhTien FLOAT not null Thành Tiền
5 Bảng Bàn
Tên bảng: ban
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Ghi chú (ý nghĩa)
MaBan INT khóa chính, not
null, unique, auto_increment
Mã bàn
TenBan VARCHAR 45 not null Tên bàn
TrangThai VARCHAR 45 not null Trạng thái
6 Bảng Nhân viên
Tên bảng: nhanvien
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Ghi chú (ý nghĩa)
MaNV VARCHAR 10 khóa chính,
not null, unique
Mã nhân viên
TenNV VARCHAR 45 not null Tên nhân viên Sdt VARCHAR 10 not null Số điện thoại DiaChi VARCHAR 150 not null Địa chỉ
TrangThai VARCHAR 45 not null Trạng thái
7 Bảng Tài khoản
Trang 9Tên bảng: taikhoan
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Ghi chú (ý nghĩa)
UserName VARCHAR 45 khóa chính,
khóa ngoại, not null, unique
Tên tài khoản
Password VARCHAR 45 not null Mật khẩu
Level INT not null Phân cấp tài khoản
III Những truy vấn dùng để giải quyết các vấn đề của bài toán
Tìm
kiếm
Tìm kiếm dữ
liệu có trong các
cột có của Table
Select Select * From thucdon where Trangthai='1'
Trạng thái là để bọn em phân biệt giữa sản phẩm xóa
và giữ nguyên, vì do khóa ngoại của cthd nên thucdon không xóa được
Thêm Thêm dữ liệu
vào Table
Insert INSERT INTO
thucdon(TenMon,MaNhom,DVTinh,DonGia,TrangThai ) VALUE(?,?,?,?)
Sửa Sửa dữ liệu đã
có trong Table
Update update thucdon set TenMon = ?, MaNhom = ?, DVTinh
= ? ,DonGia = ? WHERE MaMon = ? Xóa Xóa dữ liệu đã
có trong Table
Delete DELETE FROM ban WHERE MaBan = ?
Thanh
toán hóa
đơn
Để tránh việc
khi lưu trữ hóa
đơn không đồng
bộ, như tổng
tiền của hóa đơn
không bằng tổng
tiền của các món
ăn trong hóa
đơn
Transactio n
Giờ đến,
giờ cập
nhật của
hóa đơn,
trạng
Tự động cập
nhật thời gian
khi hóa đơn
được tạo(thời
gian sửa hóa
Trigger CREATE DEFINER=`root`@`localhost` TRIGGER
`autoAddData` BEFORE INSERT ON `hoadon` FOR EACH ROW BEGIN
set @mahd1 =
Trang 10thái của
hóa đơn,
nhân
viên,
bàn
đơn sẽ tự động
cập nhật cùng
thời gian tạo hóa
đơn), khi ta sửa
hóa đơn vào 1
khoảng thời
gian sau khi
khách đã thanh
toán sẽ tự động
được cập nhật
lại giờ cập nhật
Khi thêm dữ
liệu vào 1 bảng
thì trạng thái có
thể tự động
thêm vào mà
không cần nhập
dữ liệu
CONCAT('HD',date_format(date(now()),'%Y%m%d')); SELECT Count(MaHD) into @countMaHD FROM hoadon WHERE MaHD Like concat(@mahd1, '%'); set @countMaHD = @countMaHD+1;
if @countMaHD > 999 then
set @mahd2 = @mahd1;
set @mahd = CONCAT(@mahd2 ,
@countMaHD);
elseif @countMaHD > 99 then
set @mahd2 = CONCAT(@mahd1, '0'); set @mahd = CONCAT(@mahd2,
@countMaHD);
elseif @countMaHD < 9 then
set @mahd2 = CONCAT(@mahd1, '000'); set @mahd = CONCAT(@mahd2,
@countMaHD);
else
set @mahd2 = CONCAT(@mahd1, '00'); set @mahd = CONCAT(@mahd2, @countMaHD);
end if;
SELECT count(MaHD) into @countMaHD1 FROM hoadon WHERE MaHD = @mahd;
if(@countMaHD1=1) then set @countMaHD = @countMaHD+1;
set @mahd = CONCAT(@mahd2,
@countMaHD);
end if;
set new.MaHD = @mahd;
set new.Gioden = now();
set new.GioCapNhat = now();
set new.TrangThai = 'Chưa thanh toán';
END
Mã hóa
đơn
Tự động cập
nhật mã hóa đơn
Trigger
Tính
tổng hóa
đơn hay
update
tổng hóa
đơn
Khi CTHD được
thêm vào thì
tổng của tất cả
món trong
CTHD đó sẽ đc
tính vào cột tổng
tiền của HD và
trạng thái hóa
đơn sẽ chuyển
Trigger CREATE DEFINER=`root`@`localhost` TRIGGER
`addTongTienHD` AFTER INSERT ON `cthoadon` FOR EACH ROW BEGIN
declare tong float;
select sum(ThanhTien) into tong from cthoadon where MaHD=new.MaHD;
UPDATE hoadon set TongTien = tong,
Trang 11sang “Đã thanh
toán”
TrangThai='Đã thanh toán' where MaHD = new.MaHD;
END Xóa
CTHD
Khi ta xóa HD
sẽ tự dộng xóa
CTHD
Trigger CREATE DEFINER=`root`@`localhost` TRIGGER
`deleteCTHD` BEFORE DELETE ON `hoadon` FOR EACH ROW BEGIN
delete from cthoadon where MaHD = old.MaHD;
END Thống
kê
Tạo 1 Table dựa
trên các Table
đã có sẵn, từ đó
có thể xem được
các thông tin mà
ta muốn mà
không cần phải
tìm từng Table
để xem các
thông tin cần
thiết
ALGORITHM = UNDEFINED DEFINER = `root`@`localhost`
SQL SECURITY DEFINER VIEW `quanlyquancaphe`.`view_tksoluong_all` AS SELECT
`quanlyquancaphe`.`cthoadon`.`MaMon` AS
`MaMon`, `quanlyquancaphe`.`cthoadon`.`TenMon` AS
`TenMon`, SUM(`quanlyquancaphe`.`cthoadon`.`SoLuong`)
AS `TongTieuThu`
FROM `quanlyquancaphe`.`cthoadon`
GROUP BY `quanlyquancaphe`.`cthoadon`.`MaMon` , `quanlyquancaphe`.`cthoadon`.`TenMon`
ORDER BY
`quanlyquancaphe`.`cthoadon`.`SoLuong` DESC Tổng
tiền từ
các hóa
đơn
được
thống kê
theo thời
gian
Tính tổng toàn
bộ tổng tiền có
trong cột
TongTien của
hóa đơn theo
khoảng thời
gian mà ta tìm
kiếm
Stored Procedures
CREATE DEFINER=`root`@`localhost` PROCEDURE
`sp_tongtienHD`(in day1 datetime, in day2 datetime) BEGIN
DROP TEMPORARY TABLE IF EXISTS sp_tongtienAllHD;
CREATE TEMPORARY TABLE IF NOT EXISTS sp_tongtienAllHD AS
SELECT sum(TongTien) FROM hoadon where GioDen BETWEEN day1 AND day2;
select * from sp_tongtienAllHD;
END