Chương 3 : THIẾT KẾ HỆ THỐNG
3.2. Thiết kế kiểm soát
3.2.2. Phân định quyền hạn nhóm người dùng
3.1.1.1.2.2.1 Phân định quyền hạn về dữ liệu
Tiến trình Nhóm người dùng Quản lý nhà hàng Quản lý đồ ăn Phục vụ khách hàng Thanh tốn hóa đơn PHIEU_DATMUANL C,E,R,D R R D_DATMUANL PHIEU_YC_NHAPNL R C,E,R,D D_YC_NHAPNL MONAN C,E,R,D R R R DM_MONAN C,E,R,D R R R HD_BANAN R R C,E,R,D D_HD_BANAN PHIEU_NHAPNL R R C,E,R,D D_NHAPNL
PHIEU_DB_YCM R R C,E,R,D C,E,R,D D_DB_YCM NGUYENLIEU R C,E,R,D R GIAOHANG R R R D_GIAOHANG PHIEU_NK R C,E,R,D R D_NK NCC R R R KHACHHANG R R C,E,R,D
3.2.2.2Phân định quyền hạn về tiến trình
Ký hiệu: A: Active; not A: Not Active
Bảng dữ liệu Nhóm người dùng Quản lý nhà hàng Quản lý đồ ăn Phục vụ khách hàng Thanh tốn hóa đơn
Mở form quản lý menu A not A not A not A
Tìm và hiển thị thơng tin
món ăn A
not A
not A not A Kiểm sốt thơng tin món ăn,
giá khuyến mãi A
not A not A not A
Cập nhật menu A not A not A not A
Lưu thông tin menu A not A not A not A
In menu A not A not A not A
Mở form đặt nguyên liệu A not A not A not A
Sinh tự động số hiệu phiếu đặtn guyên liệu theo khuôn mẫu chữ cái + chữ số
A not A not A not A
Tìm kiếm thơng tin nhà cung cấp
A not A not A not A
Tìm và hiển thị nguyên liệu đặt
Kiểm soát dữ liệu nhập A not A not A not A Tính tốn trường thành tiền,
tổng tiền
A not A not A not A
Lưu thông tin phiếu đặt nguyên liệu
A not A not A not A
In phiếu đặt mua nguyên liệu A not A not A not A Mở form thống kê doanh thu A not A not A not A Kiểm sốt thơng tin thời gian
thống kê doanh thu
A not A not A not A
Tìm kiếm và hiển thị thống kê
doanh thu
A not A not A not A
Tính tốn thu chi cần thống kê
A not A not A not A
Lưu thông tin doanh thu A not A not A not A
Lập thống kê doanh thu A not A not A not A
Mở form chế biến món ăn not A A not A not A
Tìm kiếm món ăn not A A not A not A
Kiểm soát dữ kiệu nhập vào not A A not A not A Cập nhập công thức chế biến not A A not A not A
Lưu công thức chế biến not A A not A not A
Mở form yêu cầu nhập nguyên
liệu
not A A not A not A
Sinh tự động số hiệu phiếu phiếu yêu cầu nhập nguyên liệu
theo khuôn mẫu chữ cái + chữ
số.
not A A not A not A
Tìm kiếm thơng tin ngun liệu
not A A not A not A
vào
Tính tốn trường dữ liệu có cơng thức kết xuất
not A A not A not A
Lưu thông tin nguyên liệu yêu
cầu nhập
not A A not A not A
In thông tin phiếu yêu cầu nhập
nguyên liệu
not A A not A not A
Mở form nhập kho A not A not A not A
Sinh tự động số hiệu phiếu nhập kho hàng theo khuôn mẫu
chữ cái + chữ số.
A not A not A not A
Tìm kiếm thơng tin phiếu giao
hàng
A not A not A not A
Kiểm sốt thơng tin ngày nhập kho
A not A not A not A
Tìm kiếm thơng tin ngun liệu
nhập
A not A not A not A
Kiểm soát số lượng của các mặt hàng, ngày sản xuất, hạn sử dụng
A not A not A not A
Tính tốn trường dữ liệu đơn giá nhập của mặt hàng
A not A not A not A
Lưu thông tin nguyên liệu nhập
A not A not A not A
In phiếu nhập kho A not A not A not A
Mở form quản lý bàn ăn not A not A not A A
đặt
bàn và u cầu món theo khn
mẫu chữ cái + chữ số. Kiểm sốt dữ liệu ngày đặt, số
bàn, thơng tin khách hàng
not A not A not A A
Sinh tự động mã khách hàng theo khuôn mẫu chữ cái + chữ
số
not A not A not A A
Tính tốn trường dữ liệu có cơng thức kết xuất
not A not A not A A
Cập nhập thông tin bàn ăn và thông tin khách hàng
not A not A not A A
Lưu thông tin bàn ăn not A not A not A A
In phiếu đặt bàn và yêu cầu món
not A not A not A A
Mở form thanh tốn hóa đơn bàn ăn
not A not A not A A
Sinh tự động số hiệu hóa đơn
bàn ăn theo khn mẫu chữ cái
+ chữ số.
not A not A not A A
Kiểm sốt thơng tin ngày lập hóa đơn
not A not A not A A
Tìm kiếm thơng tin bàn ăn not A not A not A A Kiểm soát dữ liệu số bàn ăn not A not A not A A Tính tốn trường dữ liệu có not A not A not A A
cơng thức kết xuất
Tính tốn tổng tiền hóa đơn bàn ăn
not A not A not A A
Lưu thơng tin hóa đơn bàn ăn
not A not A not A A
In hóa đơn bàn ăn not A not A not A A
Mở form thanh tốn hóa đơn nguyên liệu
not A not A not A A
Sinh tự động số hiệu phiếu nhập nguyên liệu theo khuôn mẫu chữ cái + chữ số.
not A not A not A A
Kiểm sốt thơng tin ngày lập hóa đơn
not A not A not A A
Tìm kiếm thơng tin ngun liệu
not A not A not A A
Kiểm soát số lượng, đơn giá nhập nguyên liệu
not A not A not A A
Tính tốn trường dữ liệu thành
tiền, tổng tiền
not A not A not A A
Lưu thơng tin hóa đơn ngun
liệu
not A not A not A A
In hóa đơn nguyên liệu not A not A not A A
Mở form tổng hợp cuối ngày not A not A not A A Kiểm soát kiểu dữ liệu ngày
tổng hợp
not A not A not A A
Tìm kiếm nội dung cần tổng hợp
not A not A not A A
Lưu tổng hợp cuối ngày not A not A not A A Lập báo cáo tổng hợp trong
ngày
not A not A not A A
In tổng hợp cuối ngày not A not A not A A
Mở form phục vụ món not A not A A not A
Tìm kiếm bàn ăn và u cầu gọi món
not A not A A not A
Tìm kiếm món ăn có trong yêu
cầu của khách hàng
not A not A A not A
Kiểm sốt trạng thái phục vụ của món ăn
not A not A A not A
Cập nhập lại phiếu đặt bàn và
yêu cầu gọi món, hóa đơn bàn
ăn
not A not A A not A
Lưu thông tin phiếu đặt bàn và yêu cầu gọi món, hóa đơn bàn ăn
not A not A A not A
Mở form phục vụ gọi món not A not A A not A
Tìm kiếm phiếu đặt bàn và gọi
món
not A not A A not A
Kiểm sốt số bàn ăn hợp lệ not A not A A not A Cập nhập lại phiếu đặt bàn
và
yêu cầu gọi món, hóa đơn bàn
ăn
not A not A A not A
Lưu thơng tin phiếu đặt bàn và
yêu cầu gọi món, hóa đơn bàn
ăn
Mở form phục vụ thanh toán not A not A A not A Tìm kiếm hóa đơn cần thanh
tốn
not A not A A not A
Tìm kiếm thơng tin phiếu đặt bàn và u cầu món
not A not A A not A
Kiểm sốt số bàn ăn hợp lệ not A not A A not A Tính tốn trường dữ liệu phí
thức ăn thừa
not A not A A not A
Cập nhật hóa đơn not A not A A not A
3.3 Thiết kế cơ sở dữ liệu.
3.3.1 Thiết kế bảng dữ liệu phục vụ bảo mật.
NHOMNGUOIDUNG (IDNhom, TenNhom)
NGUOIDUNG(IDNguoiDung, TenNguoiDung, TenDangNhap, MatKhau, SDT, NgaySinh, Quyen, ChucVu, NgayTao, IDNhom)
QUYEN(IDQuyen, TenQuyen, MoTa) PHANQUYEN(IDNhom, IDQuyen, MoTa)
LICHSUTRUYCAP(IDLichSu, IDNguoiDung, BangTacDong, NoiDung)
3.3.2. Xác định thuộc tính kiểm sốt, bảng kiểm sốt.
Thêm thuộc tính IDNguoiDung vào tất cả các bảng để quản lý quyền truy cập thơng tin đối với tồn bộ dữ liệu của hệ thống.
3.3.3. Nghiên cứu gom nhóm bảng dữ liệu và thêm trường tính tốn
a. Nghiên cứu các tình huống
+ Bảng dữ liệu truy xuất hệ thống, trường ít => truy xuất vào cùng 1 bảng. + Trường tính tốn nếu thực hiện nhiều => thêm trường đó vào bảng dữ liệu - Bảng PHIEU_YC_NHAPNL và D_YC_NHAPNL thường được truy xuất cùng
- Bảng PHIEU_DATMUANL và D_DATMUANL thường được truy xuất cùng nhau=> Gom thành bảng PHIEU_DATMUANL
- Bảng PHIEU_NK và D_NK thường được truy xuất cùng nhau=> Gom thành bảng PHIEU_NK
- Bảng NCC và NL_NCC thường được truy xuất cùng nhau=> Gom thành bảng NCC
+ Thêm trường tính tốn
- Thêm trường ThanhTien vào bảng D_NHAPNL ThanhTien=SoLuong*DonGia
- Thêm trường TongTien vào bảng PHIEU_NHAPNL TongTien =
- Thêm trường ThanhTien vào bảng D_HD_BANAN ThanhTien=SoLuong*DonGia vào bảng D_HD_BANAN
- Thêm trường tongtien vào bảng HD_BANAN TongTien = + PhiDoAnThua
=> để phục vụ quá trình truy xuất dữ liệu nhanh chóng hơn khi lập báo cáo thống kê và việc tính tốn khơng phải thực hiện nhiều lần
b. Bỏ bảng dữ liệu lưu tay.
- Bảng GIAOHANG và D_GIAOHANG
c. Thêm bảng dữ liệu, thuộc tính phục vụ bảo mật.
- Thêm thuộc tính idnd vào tất cả các bảng để quản lý quyền truy cập thơng tin đối với tồn bộ dữ liệu của hệ thống
Xác định liên kết giữa các bảng NHOMNGUOIDUNG, NGUOIDUNG,
QUYEN, PHANQUYEN, LICHSUTRUYCAP
- Trong hóa đơn bàn ăn, hóa đơn mua nguyên liệu cần xác định rõ ai là người lập hóa đơn. Việc này các định thơng qua tài khoản nào thực hiện cơng việc lập hóa đơn đó. Chính vì thế ta sẽ thêm idnd vào bảng HD_BANAN, HD_NHAPNL và loại bỏ thuộc tính TenNhanVien, NguoiThanhToan
3.3.4 Mơ hình dữ liệu hệ thống.
Vẽ mơ hình dữ liệu hệ thống
3.3.5 Đặc tả bảng dữ liệu.
Bảng: NHOMNGUOIDUNG
1.Số hiệu: 1 2.Tên bảng: NHOMNGUOIDUNG 3.Bí danh:
4. Mơ tả: Lưu trữ thơng tin nhóm người dùng của hệ thống 5. Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khn dạng N
#1 IDNhom Mã nhóm người dùng N(6) Số nguyên x
2 TenNhom Tên nhóm người dùng C(100) Chữ cái x
6. Khóa ngồi
Số Tên Cột khó ngồi Quan hệ với bảng
Bảng: QUYEN
1.Số hiệu: 2 2.Tên bảng: QUYEN 3.Bí danh: QUYEN 4. Mơ tả: Lưu trữ tồn bộ thơng tin các quyền của hệ thống
5. Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
#1 IDQuyen Mã quyền N(6) Số nguyên x
2 TenQuyen Tên quyền C(50) Chữ cái x
3 MoTa Mô tả C(50) Chữ cái
6. Khóa ngồi
STT Tên Cột khóa ngồi Quan hệ với bảng
Bảng: LICHSUTRUYCAP
1.Số hiệu: 3 2.Tên bảng:
LICHSUTRUYCAP
3.Bí danh:
LICHSUTRUYCAP
4. Mơ tả: Lưu trữ tồn bộ những hoạt động của người dùng khi sử dụng hệ thống 5. Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
2 IDNguoiDung Mã người dùng N(6) Số nguyên x 3 BangTacDong Bảng tác động C(50) Chữ cái x
4 NoiDung Nội dung
tác động
C(50) Chữ cái x
6. Khóa ngồi
STT Tên Cột khóa ngồi Quan hệ với bảng
Bảng: NGUOIDUNG
1.Số hiệu: 4 2.Tên bảng: NGUOIDUNG 3.Bí danh: NGUOIDUNG 4. Mơ tả: Lưu trữ thơng tin người dùng của hệ thống
5. Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
#1 IDNguoiDung Mã người dùng N(6) Số nguyên x
2 TenNguoiDung Tên người dùng C(100) Chữ cái
3 TenDangNhap Tên đăng nhập C(50) Chữ cái+chữ số + kí tự đặc biệt
x
4 MatKhau Mật khẩu người dùng C(20) Chữ cái+chữ số + kí tự đặc biệt
x
5 SDT Số điện thoại người dùng
N(11) Số nguyên x
6 NgaySinh Ngày sửa nhóm người dùng
D(8) DD/MM/YYYY
7 Quyen Quyền hạn của người dùng khi đăng nhập vào hệ thống
C(50) Chữ cái x
8 ChucVu Chức vụ của người dùng
9 NgayTao Ngày tạo ra người dùng D(8) DD/MM/YYYY 6. Khóa ngồi Số Tên Cột khóa ngồi Quan hệ với bảng
1 IDNhom idnhom NHOMNGUOIDUNG
Bảng: PHANQUYEN
1.Số hiệu: 5 2.Tên bảng: PHANQUYEN 3.Bí danh: PHANQUYEN 4. Mơ tả: Lưu trữ tồn bộ thơng tin của các người dùng hệ thống
5. Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
#1 IDQuyen Mã quyền N(6) Số nguyên x
#2 IDNhom Mã nhóm người dùng
N(6) Số ngun x
3 MoTa Mơ tả C(50) Chữ cái
6. Khóa ngồi
STT Tên Cột khóa ngồi Quan hệ với bảng
1 IDNhom idNhomNguoiDung NHOMNGUOIDUN
G
2 IDQuyen idQuyen QUYEN
Bảng: DM_MONAN
1.Số hiệu: 6 2.Tên bảng: DM_MONAN 3.Bí danh: DM_MONAN 4. Mơ tả: Lưu trữ thơng tin danh mục các món ăn của nhà hàng
5. Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
1 IDDanhMuc Mã danh mục món ăn N(6) Số nguyên x
2 TenDanhMuc Tên danh mục món ăn C(100) Chữ cái x 3 IDNguoiDung Người dùng hệ thống N(6) Số nguyên x
6. Khóa ngồi
Số Tên Cột khóa
ngồi
Quan hệ với bảng
Bảng: MONAN
1.Số hiệu: 7 2.Tên bảng: MONAN 3.Bí danh: MONAN
4. Mơ tả: Lưu trữ thơng tin các món ăn của nhà hàng 5. Mơ tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khn dạng N
#1 IDMonAn Mã món ăn N(6) Số nguyên x
2 TenMonAn Tên món ăn C(100) Chữ cái x
3 HinhAnh Hình ảnh món ăn C(100) Chữ cái hoặc chữ số
4 DVT Đơn vị tính C(100) Chữ cái + chữ số
5 DonGiaMon Đơn giá bán N(11) Số nguyên
6 IDNguoiDung Người dùng hệ thống N(6) Số ngun x
6. Khóa ngồi
Số Tên Cột khóa
ngồi
Quan hệ với bảng
Bảng: KHACHHANG
1.Số hiệu: 8 2.Tên bảng: KHACHHANG 3.Bí danh: KHACHHANG 4. Mơ tả: Lưu trữ thơng tin của khách hàng
5. Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
#1 IDKhachHang Mã khách hàng N(6) Số nguyên x
2 TenKhachHang Tên khách hàng C(100) Chữ cái x
3 SDT Số điện thoại khách
hàng
N(11) Số nguyên
4 DiaChi Địa chỉ khách hàng C(20) Chữ cái+chữ số
5 IDNguoiDung Người dùng hệ thống N(6) Số nguyên x 6. Khóa ngồi Số Tên Cột khóa ngồi Quan hệ với bảng Bảng: PHIEU_DB_YCM
1.Số hiệu: 9 2.Tên bảng: PHIEU_DB_YCM 3.Bí danh:
PHIEU_DB_YCM 4. Mơ tả: Lưu trữ thơng tin phiếu đặt bàn và u cầu món của khách hàng
5. Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
#1 IDDaBaYeCaMo Số phiếu đặt bàn và yêu cầu món
N(6) Số nguyên x
2 SoBan Số bàn N(8) Số nguyên x
4 ThoiGian Thời gian nhận bàn D(8) DD/MM/YYYY 5 TenNhanVien Tên nhân viên C(100) Chữ cái
6 IDNguoiDung Người dùng hệ thống N(6) Số nguyên x 6. Khóa ngồi Số Tên Cột khóa ngồi Quan hệ với bảng
1 IDKhachHang IDKhachHang KHACHHANG
Bảng: D_DB_YCM
1.Số hiệu: 10 2.Tên bảng: D_DB_YCM 3.Bí danh: D_DB_YCM 4. Mô tả: Lưu trữ thơng tin dịng phiếu đặt bàn và u cầu món của khách hàng 5. Mơ tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
#1 IDDaBaYeCaMo Số phiếu đặt bàn và yêu cầu món
N(6) Số nguyên x
#2 IDMonAn Số bàn C(8) Số nguyên x
3 SoLuong Số người C(8) Số nguyên
4 IDNguoiDung Người dùng hệ thống N(6) Số nguyên x 6. Khóa ngồi Số Tên Cột khóa ngồi Quan hệ với bảng
1 IDDaBaYeCaMo IDDaBaYeCaMo PHIEU_DB_YCM
2 IDMonAn IDMonAn MONAN
Bảng: HD_BANAN
HD_BANAN 4. Mơ tả: Lưu trữ thơng tin hóa đơn bàn ăn
5. Mô tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
#1 IDHDBanAn Số hóa đơn bàn ăn N(6) Số nguyên x
2 ThoiGian Thời gian D(8) DD/MM/YYYY x
3 PhiDoAnThua Phí đồ ăn thừa N(11) Số nguyên x
4 TongTien Tổng tiền N(11) Số nguyên x
5 IDNguoiDung Người dùng hệ thống N(6) Số nguyên x 6. Khóa ngồi Số Tên Cột khóa ngồi Quan hệ với bảng
1 IDDaBaYeCaMo IDDaBaYeCaMo PHIEU_DB_YCM
2 IDKhachHang IDKhachHang KHACHHANG
Bảng: D_HD_BANAN
1.Số hiệu: 12 2.Tên bảng: D_HD_BANAN 3.Bí danh: D_HD_BANAN 4. Mơ tả: Lưu trữ thơng tin dịng hóa đơn bàn ăn
5. Mơ tả chi tiết các cột
Số Tên cột Mô tả Kiểu dữ liệu Khuôn dạng N
#1 IDHDBanAn Số hóa đơn bàn ăn N(6) Số nguyên x