1) tbl_LOAISACH
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDLoaiSach Int (identity) Mã loại sách
2 TenLoaiSach Nvarchar(200) Tên loại sách
2) tbl_NGONNGU
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDNgonNgu Varchar(10) Mã ngôn ngữ của sách
2 TenNgonNgu Nvarchar(50) Tên ngôn ngữ
3) tbl_QUOCGIA
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDQuocGia Varchar(10) Mã quốc gia
2 TenQuocGia Nvarchar(100) Tên quốc gia
4) tbl_QUAYSACH
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDQuay Varchar(10) Mã quầy sách
2 TenQuay Nvarchar(100) Tên quấy sách
chinh ngoại
1 ISBN Varchar(10) Mã số sách
2 TenSach Nvarchar(200) Tên sách
3 TenTacGia Nvarchar(100) Tên tác giả
4 NamXuatBan Varchar(7) Năm xuất bản
5 LanXuatBan Varchar(2) Lần xuất bản
6 SoTrang Int Số trang
7 SoTap smallint Số tập
8 TrongLuong Float Trọng lượng sách
9 NoiDungGioiThie
u
Nvarchar(500) Nội dung tóm tắt
10 IDLoaiSach Int Mã loại sách
11 IDNgonNgu Varchar(10) Mã ngôn ngữ
12 IDQuocGia Varchar(10) Mã quốc gia
6) tbl_NHAXUATBAN
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDNhaXuatBa
n
Varchar(10) Mã nhà xuất bản
2 TenNXB Nvarchar(100) Tên nhà xuất bản
3 DiaChi Nvarchar(100) Địa chỉ nhà xuất bản
4 SoDienThoai Varchar(11) Số điện thoại
7) tbl_SACH_NXB
STT Khóa chinh
Khóa
2 IDNhaXuatBa n
Varchar(10) Mã nhà xuất bản
3 DonGiaChuan Float Đơn giá chuẩn sách
4 PhanTram Int Phần trăm hoa hồng
8) tbl_KHACHHANG
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDKhachHang Varchar(10) Mã khách hàng
2 TenKhachHan
g
Nvarchar(100) Tên khách hàng
3 DiaChi Nvarchar(200) Địa chỉ khách hàng
4 SoDienThoai Varchar(11) Số điện thoại
9) tbl_HOADONBH
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDHoaDon Varchar(20) Số hóa đơn
2 NgayHD Datetime Ngày lập hóa đơn
3 IDKhachHang Varchar(10) Mã khách hàng bán sỉ
10) tbl_DHOADON
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 ISBN Varchar(10) Mã số sách
2 IDHoaDon Varchar(20) Số hóa đơn
3 SoLuong Int Số lượng
4 DonGia Float Đơn giá
11) tbl_HOADON
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDHoaDon Varchar(20) Số hóa đơn
2 IDNhaXuatBa
n
3 NgayHD Datetime Ngày lập hóa đơn
12) tbl_GIAOHANG
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDGiaoHang Varchar(10) Mã giao hàng
2 IDNhaXuatBa
n
Varchar(10) Mã nhà xuất bản
3 NgayGiaoHan
g
Datetime Ngày giao hàng
4 NoiCat Nvarchar(50) Nơi cất hàng
13) tbl_CTHOADON
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 ISBN Varchar(10) Mã số sách
2 IDHoaDon Varchar(20) Số hóa đơn
3 SoLuong Int Số lượng
4 DonGia Float Đơn giá
5 IDGiaoHang Varchar(10) Mã giao hàng
14) tbl_DONHANG
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDDon Varchar(10) Mã số đơn đặt hàng
2 IDNhaXuatBa
n
Varchar(10) Mã nhà xuất bản
3 NgayDatHang Datetime Ngày đặt hàng
15) tbl_CTDONHANG
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 ISBN Varchar(10) Mã số sách
2 IDDon Varchar(10) Mã số đơn hàng
16) tbl_CTGIAOHANG
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 ISBN Varchar(10) Mã số sách
2 IDGiaoHang Varchar(10) Mã giao hàng
3 LuongGiao Int Lượng giao
4 IDDon Varchar(10) Mã đơn đặt hàng
17) tbl_DUTRU
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDDuTru Varchar(10) Mã số bản dự trù
2 IDQuay Varchar(10) Mã số quầy
3 NgayDT Datetime Ngày lập bản dự trù
18) tbl_KIEMKESACH
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDKiemKe Varchar(10) Mã số kiểm kê sách
2 IDQuay Varchar(10) Mã số quầy sách
3 NgayKiemKe Datetime Ngày kiểm kê sách
19) tbl_XUATNHAP
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDXuatNhap Varchar(10) Mã số nhập xuất
2 IDDuTru Varchar(10) Mã bản dự trù
3 NgayXuatNha
p
Datetime Ngày lập bản nhập xuất
4 NhapXuat Bit Kiểu nhập xuất
20) tbl_DXUATNHAP
STT Khóa chinh
Khóa
1 IDXuatNhap Varchar(10) Mã số nhập xuất
2 ISBN Varchar(10) Mã số sách
3 SoLuong Int Số lượng
21) tbl_DKIEMKE
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 ISBN Varchar(10) Mã số sách
2 IDKiemKe Varchar(10) Mã số kiểm kê
3 SoLuong Int Số lượng
22) tbl_DDUTRU
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 ISBN Varchar(10) Mã số sách
2 IDDuTru Varchar(10) Mã bản dự trù
3 SoLuong Int Số lượng
CHƯƠNG III: THIẾT KẾ HỆ THỐNG I. Thiết kế giao diện
2. Thiết kế chức năng
Chức năng cập nhật sách
Hình 3.2: Chức năng cập nhật sách
+ Nút Xoá
Muốn xoá một bản ghi dữ liệu sách, người dùng chọn bản ghi cần xoá trong GridView, sau đó nhấn nút xoá, bản ghi đó sẽ được đánh dấu xoá trong bảng tbl_SACH của csdl hệ thống. + Nút Thêm, Sửa: khi người dùng nhấn nút Thêm hoặc nút Sửa form nhập liệu xuất hiện như hình dưới
Form nhập liệu Sách tham chiếu tới các thuộc tính của các bảng như sau:
STT Tên điều khiển Tên trường Tên bảng Mô tả
1 txtISBN ISBN Tbl_SACH
2 txtTenSach TenSach Tbl_SACH
3 txtTenTacGia TenTacGia Tbl_SACH
4 cboNXB TenNhaXuatBan IDNhaXuatBan Tbl_NHAXUATBAN Tên NXB để hiển thị Mã NXB để cập nhật 5 txtNamXuatBan NamXuatBan Tbl_SACH
6 txtLanXuatBan LanXuatBan Tbl_SACH
7 txtSoTrang SoTrang Tbl_SACH
8 txtTrongLuong TrongLuong Tbl_SACH
9 cboQuocGia TenQuocGia Tbl_QUOCGIA
10 cboNgonNgu NgonNgu Tbl_NGONNGU
11 txtGioiThieu GioiThieuNoiDun g
Tbl_SACH 12 Nhóm con N IDLoaiSach Tbl_LoaiSach
II. Thiết kế kiểm soát
1. Xác định các nhu cầu bảo mật của hệ thống
Hệ thống quản lý bán sách và tối ưu hóa việc nhập xuất sách được xây dựng cho môi trường đa người dùng trên nền tảng công nghệ client - server, do đó yêu cầu bảo mật cho nghiệp vụ hệ thống là hết sức quan trọng. Chức năng bảo mật của hệ thống phải đảm bảo được một số yếu tố sau:
+ Tính đúng đắn
+ Tính ổn định
+ Độ tin cậy cao
+ Tính riêng tư
Từ quá trình khảo sát hệ thống ta thấy, nhà sách có nhiều bộ phận sử dụng hệ thống cho công việc của mình. Các nhân viên trong mỗi bộ phận sử dụng các chức năng của bộ phận đó để thao tác xử lý công việc. Do đó, chức năng bảo mật phải đảm bảo được các nhân viên của mỗi bộ phận chỉ được phép thao tác trên các chức năng của bộ phận mình mà không được can thiệp vào dữ liệu của bộ phận khác.
Hệ thống cần có nhân viên quản trị, quản lý danh sách tài khoản hệ thông, cấp phát, thu hồi quyền của người sử dụng.
Ngoài ra, để đảm bảo các yêu cầu bảo mật, hệ thống mật khẩu của người dùng cần được mã hóa theo thuật toán băm.
2. Phân định các nhóm người dùng
Từ nhu cầu bảo mật của hệ thống ta có các nhóm người sử dụng như sau: Nhóm quản trị
Nhóm quản lý kho Nhóm đặt hàng Nhóm bán hàng Nhóm thu ngân
III. Thiết kế CSDL vật lý
1. Xác định các thuộc tính tình huống
Thuộc tính Active
Khi thực hiện xóa một bản ghi ở bảng dữ liệu gốc, dữ liệu ở các bảng phụ thuộc con cũng đồng thời mất đi, làm mất mát thông tin liên quan giữa các bảng của hệ thống. Do đó, thay vì xóa trực tiếp bản ghi vật lý trên cơ sở dữ liệu chúng ta thực hiện xóa logic bản ghi đó bằng cách thêm vào thuộc tính Active để đánh dấu bản ghi
đó đã không được sử dụng nữa mà không làm ảnh hưởng tới dữ liệu của các bảng liên quan. Thực hiện thêm trường Active vào tất cả các bảng của cơ sở dữ liệu hệ thống.
Tên trường Kiểu dữ liệu Giá trị mặc định
Active bit True
Thuộc tính lưu tiền khách thanh toán trong bảng Hóa đơn bán hàng.
Khách hàng thanh toán tiền cho nhân viên thu ngân, để tránh tình trạng nhầm lẫn trong việc nhận và trả lại tiền cho khách hàng. Chúng ta sẽ thêm vào bảng hóa đơn bán hàng hai trường Nhận tiền, Tiền thừa. Khi nhân viên nhập vào số tiền khách đã trả, hệ thống sẽ tự động tính số tiền thừa của khách hàng.
Tên trường Kiểu dữ liệu Giá trị mặc định
NhanTien Float 0
TienThua Float 0
Thuộc tính lưu thông tin nhân viên lập hóa đơn bảng Hóa đơn bán hàng
Để quản lý hóa đơn bán hàng của hệ thống một cách chặt chẽ và thuận lợi cho công việc lập trình sau này, chúng ta sẽ lưu trữ luôn tên tài khoản đăng nhập của nhân viên lập hóa đơn vào bảng hóa đơn bán hàng.
Tên trường Khóa Ngoại Kiểu dữ liệu
IDUser Varchar(20)
Khi sách được nhập kho, bộ phận quản lý kho sẽ tiến hành phân loại sách. Để phân loại chi tiết các nhóm sách theo nhiều mức (nhiều hơn 2 mức) bảng Loại Sách
hiện thời chưa đáp ứng được yêu cầu trên. Mặt khác, do số mức để phân loại nhóm sách là không biết trước lên không thể xây dựng thêm bảng để thực hiện việc này. Vì vậy, ta thêm một trường IDNhom vào bảng Loại sách, trường IDNhom quan hệ với trường IDLoaiSach và bảng Loại sách trở thành bảng tự quan hệ đáp ứng nhu cầu phân loại sách theo nhiều mức.
Tên trường Khóa Ngoại Kiểu dữ liệu Giá trị mặc định
IDNhom Int NULL
Trong bảng Loại sách, trường IDNhom có giá trị NULL tức là nhóm sách ở mức 1, mức cao nhất.
2. Xác định các bảng dữ liệu phục vụ nhu cầu bảo mật
Để đáp ứng được yêu cầu bảo mật cho hệ thống chúng ta cần sử dụng một số bảng dữ liệu sau:
1) tbl_GROUP_ROLE
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDGroupRole Int (identity) Mã nhóm chức năng
2 GroupRoleName Nvarchar(200) Tên nhóm chức năng
3 Active Bit
2) tbl_ROLE
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDRole Int (identity) Mã chức năng
2 RoleName Nvarchar(200) Tên chức năng
3 IDGroupRole Int Mã nhóm chức năng
1 IDGroupUser Int Mã nhóm người dùng
2 GroupUserName Nvarchar(50) Tên nhóm người dùng
3 Active Bit
4) tbl_USER
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDUser Varchar(20) Mã người dùng
2 UserName Nvarchar(50) Tên tài khoản
3 Password Nvarchar(100) Mật khẩu
4 Active Bit
5) tbl_USER_ROLE
STT Khóa chinh
Khóa
ngoại Tên trường Kiểu dữ liệu Diễn giải
1 IDUser Varchar(20) Mã người dùng
2 IDRole Int Mã chức năng
3 allowSelect Bit Quyền truy vấn
4 allowInsert Bit Quyền thêm mới
5 allowDelete Bit Quyền xóa
6 allowUpdate Bit Quyền cập nhật
7 AllowExec Bit Quyền thực thi
I. Quản lý sách
PHỤ LỤC
TÀI LIỆU THAM KHẢO
[1]. Đào Thanh Tĩnh – Phân tích và thiết kế hệ thống thông tin – NXB Quân đội nhân dân – Năm 2004.
[2]. Kate Smith, Jatinder Gupta - Neural Networks in Bussiness: Techniques and Applications - Idea Group Publishing © 2000.
[3]. G. Peter Zhang (ed) - Neural Networks in Business Forecasting - Idea Group Publishing © 2004.