Hóa đơn (HoaDon): Tên thuộc
tính Diễn giải Kiểu dữ liệu Chiều dài Ràng buộc
MaHD Mã hóa đơn Variable
Characters 15 Khóa chính
MaNV Mã nhân viên Variable
Characters 15 Khóa phụ
MaKH Mã khách
hàng
Variable
Characters 15 Khóa phụ
NgayBan Ngày bán Date
Characters
Bảng 3-10: Bảng thơng tin thực thể hóa đơn
Phiếu kiểm kê (PhieuKiemKe): Tên thuộc
tính Diễn giải Kiểu dữ liệu Chiều dài Ràng buộc
MaPKK Mã phiếu
kiếm kê
Variable
Characters 15 Khóa chính
MaNV Mã nhân viên Variable
Characters 15 Khóa phụ
NgayKK Ngày kiểm kê Date
GhiChu Ghi chú Variable
Characters 100
Bảng 3-11: Bảng thông tin thực thể phiếu kiểm kê
Chi tiết phiếu nhập (ChiTietPhieuNhap): Tên thuộc
tính Diễn giải Kiểu dữ liệu Chiều dài Ràng buộc
MaPN Mã phiếu nhập Variable Characters 15 Khóa chính, khóa phụ MaMH Mã mặt hàng Variable Characters 15 Khóa chính, khóa phụ SoLuongNhap Số lượng nhập Integer
GiaNhap Giá nhập Integer
Bảng 3-12: Bảng thông tin thực thể chi tiết phiếu nhập
Chi tiết phiếu xuất (ChiTietPhieuXuat): Tên thuộc
tính Diễn giải Kiểu dữ liệu Chiều dài Ràng buộc
MaPX Mã phiếu xuất Variable
Characters 15
Khóa chính, khóa phụ
MaMH Mã mặt hàng Variable
Characters 15
Khóa chính, khóa phụ SoLuongXuat Số lượng xuất Integer
Bảng 3-13: Bảng thông tin thực thể chi tiết phiếu xuất
Chi tiết hóa đơn (ChiTietHoaDon): Tên thuộc
tính Diễn giải Kiểu dữ liệu Chiều dài Ràng buộc
MaHD Mã hóa đơn Variable
Characters 15 Khóa chính, khóa phụ MaMH Mã mặt hàng Variable Characters 15 Khóa chính, khóa phụ SoLuongBan Số lượng bán Integer
GiaBan Giá bán Integer
Bảng 3-14: Bảng thơng tin thực thể chi tiết hóa đơn
Chi tiết phiếu kiểm kê (ChiTietPhieuKiemKe):
Tên thuộc tính Diễn giải Kiểu dữ liệu Chiều dài Ràng buộc
MaPKK Mã phiếu kiểm kê Variable Characters 15 Khóa chính, khóa phụ MaMH Mã mặt hàng Variable Characters 15 Khóa chính, khóa phụ SoLuongNhap Số lượng nhập Integer
SoLuongBan Số lượng bán Integer SoLuongBan Số lượng bán Integer SoLuongTonQuay Số lượng tồn
quầy Integer
SoLuongTonKho Số lượng tồn
kho Integer
3.2.3 Mối quan hệ giữa các thực thể:
a) Một nhân viên chỉ quản lý được một tài khoản đăng nhập vào hệ thống. Một tài khoản đăng nhập chỉ được quản lý bởi một nhân viên.
Hình 3-2: Mối quan hệ “liên kết” giữa thực thể “tài khoản đăng nhập” với thực thể “chức vụ”
b) Một nhân viên chỉ làm một chức vụ. Mỗi chức vụ có thể có một hoặc nhiều nhân viên làm.
Hình 3-3: Mối quan hệ “làm” giữa thực thể “nhân viên” với thực thể “chức vụ”
c) Một nhân viên có thể lập một hoặc nhiều phiếu nhập. Một phiếu nhập chỉ được lập bởi một nhân viên.
Hình 3-4: Mối quan hệ “lập phiếu nhập” giữa thực thể “nhân viên” với thực thể “phiếu nhập”
d) Một nhân viên có thể lập một hoặc nhiều phiếu xuất. Một phiếu xuất chỉ được lập bởi một nhân viên.
Hình 3-5: Mối quan hệ “lập phiếu xuất” giữa thực thể “nhân viên” với thực thể “phiếu xuất”
e) Một nhân viên có thể lập một hoặc nhiều hóa đơn. Một hóa đơn chỉ được lập bởi một nhân viên.
Hình 3-6: Mối quan hệ “lập hóa đơn” giữa thực thể “nhân viên” với thực thể “hóa đơn”
f) Một nhân viên có thể lập một hoặc nhiều phiếu kiểm kê. Một phiếu kiểm kê chỉ được lập bởi một nhân viên.
Hình 3-7: Mối quan hệ “lập phiếu kiểm kê” giữa thực thể “nhân viên” với thực thể “phiếu kiểm kê”
g) Một khách hàng có thể thanh tốn một hoặc nhiều hóa đơn. Một hóa đơn chỉ chứa thơng tin của một khách hàng.
Hình 3-8: Mối quan hệ “thanh tốn” giữa thực thể “khách hàng” với thực thể “hóa đơn”
h) Một mặt hàng có thể nằm trong một hoặc nhiều chi tiết phiếu nhập. Một chi tiết phiếu nhập chứa thông tin của nhiều mặt hàng.
Hinh 3-9: Mối quan hệ “chi tiết phiếu nhập” giữa thực thể “mặt hàng” với thực thể “phiếu nhập”
i) Một mặt hàng có thể nằm trong một hoặc nhiều chi tiết phiếu xuất. Một chi tiết phiếu xuất chứa thơng tin của nhiều mặt hàng.
Hình 3-10: Mối quan hệ “chi tiết phiếu xuất” giữa thực thể “mặt hàng” với thực thể “phiếu xuất”
j) Một mặt hàng có thể nằm trong một hoặc nhiều chi tiết hóa đơn. Một chi tiết hóa đơn chứa thơng tin của nhiều mặt hàng.
Hình 3-11: Mối quan hệ “chi tiết hóa đơn” giữa thực thể “mặt hàng” với thực thể “hóa đơn”
k) Một mặt hàng có thể nằm trong một hoặc nhiều chi tiết phiếu kiểm kê. Một chi tiết phiếu kiểm kê chứa thông tin của nhiều mặt hàng.
Hình 3-12: Mối quan hệ “chi tiết phiếu kiểm kê” giữa thực thể “mặt hàng” với thực thể “phiếu kiểm kê”
l) Một mặt hàng chỉ thuộc một loại hàng. Một lồi hàng có thể có một hoặc nhiều mặt hàng.
Hình 3-13: Mối quan hệ “thuộc” giữa thực thể “mặt hàng” với thực thể “loại hàng”
m) Một nhà cung cấp cung cấp một hoặc nhiều mặt hàng. Một mặt hàng được cung cấp bởi một nhà cung cấp.
3.3 Thiết kế cơ sở dữ liệu:
3.3.1 Mơ hình dữ liệu mức quan niệm:
3.3.2 Mơ hình dữ liệu mức luận lý:
3.3.3 Mơ hình dữ liệu ức vật lý:
3.4 Sơ đồ phân cấp chức năng:
Hình 3.18: Sơ đồ phân cấp chức quản lý bán hàng
3.5 Cài đặt cơ sở dữ liệu:
3.5.1 Tạo các bảng trong Microsoft SQL Server:
Chức vụ (ChucVu):
Tài khoản đăng nhập (TaiKhoanDangNhap):
Khách hàng (KhachHang): Nhà cung cấp (NhaCungCap): Loại hàng (LoaiHang):
Mặt hàng (Mathang): Phiếu nhập (PhieuNhap):
Phiếu xuất (PhieuXuat):
Phiếu kiểm kê (PhieuKiemKe):
Chi tiết phiếu nhập (ChiTietPhieuNhap):
Chi tiết phiếu xuất (ChiTietPhieuXuat):
Chi tiết phiếu kiểm kê (ChiTietPhieuKiem):
3.5.2 Nhập dữ liệu vào các bảng trong Microsoft SQL Server:
Chức vụ (ChucVu):
Tài khoản đăng nhập (TaiKhoanDangNhap):
Loại hàng (LoaiHang): Mặt hàng (Mathang): Phiếu nhập (PhieuNhap):
Phiếu xuất (PhieuXuat):
Phiếu kiểm kê (PhieuKiemKe):
Chi tiết phiếu xuất (ChiTietPhieuXuat):
3.5.3 Sơ đồ (Diagram):
CHƯƠNG 4: HIỆN THỰC CHƯƠNG TRÌNH
4.1 Xây dựng form đăng nhập:
- Giao diện:
Hình 4-1: Giao diện đăng nhập
+ Với Server Name là tên CSDL mà người lập trình đã kết nối trước đó. + Tài khoản và mật khẩu là thơng tin đăng nhập mà mỗi người dùng sẽ được tạo bởi quản trị viên trong SQL Server như hình bên dưới:
Hình 4-2: Dữ liệu đăng nhập của người dùng
- Người dùng sẽ đăng nhập tài khoản với mật khẩu của mình sau đó ấn nút lệnh đăng nhập:
+ Nếu nhập đúng mật khẩu thì sẽ vào ngay giao diện chính của chương trình:
Hình 4-3: Giao diện đăng nhập thành cơng
+ Nếu người dùng đăng nhập sai thì sẽ xuất hiện thơng báo lỗi như hình bên dưới:
Hình 4-4: Giao diện đăng nhập thất bại
4.2 Xây dựng form giao diện chính:
- Giao diện:
Hình 4-5: Giao diện chính
+ Người dùng có thể lựa chọn các tác vụ hiện trên giao diện như: Lập hóa đơn, quản lý chi tiết hóa đơn, quản lý hàng hóa, thống kê, quản lý khách hàng, quản lý nhân viên, quản lý người dùng.
+ Người dùng có thể thực hiện tác vụ bất kỳ nào bằng nhấn trực tiếp vào tên của tác vụ hoặc nhân phím tắt được gợi ý trên menu.
+ Thông tin về tài khoản và quyền sử dụng hệ thống của người dùng được biểu thị bên dưới. Nhân viên không được sử dụng chức năng quản lý nhân nhân viên với quản lý người dùng. Nhân viên sẽ nhân thơng báo như hình bên dưới:
Hình 4-6: Giao diện thơng báo khơng cho sử dụng chức năng
4.3 Xây dựng form đổi mật khẩu:
- Giao diện:
Hình 4-7: Giao diện đổi mật khẩu
- Người dùng nhập đầy đủ thông tin tài khoản, mật khẩu cũ và mật khẩu mới vào ơ tương ứng, sau đó nhấn nút đổi:
+ Nếu người dùng nhập thơng tin đúng thì chương trình đổi mật khẩu thành công và xuất hiện thông báo như bên dưới:
Hình 4-8: Giao diện đổi mật khẩu thành cơng
+ Nếu người dùng nhập thơng tin sai thì chương trình đổi mật khẩu sẽ thất bại và xuất hiện thông báo bên dưới
Hình 4-9: Giao diện đổi mật khẩu thất bại
4.4 Xây dựng form quản lý hóa đơn:
- Giao diện: Bên trong form có 4 chức năng bao gồm (Lập hóa đơn, lập phiếu nhập, lập phiếu xuất, lập phiếu kiểm kê)
Hình 4-10: Giao diện lập hóa đơn trong chức năng “lập hóa đơn”
Hình 4-12: Giao diện lập phiếu xuất trong chức năng “lập hóa đơn”
Hình 4-13: Giao diện lập phiếu kiểm kê trong chức năng “lập hóa đơn”
- Mỗi chức năng trong form đểu có đầy đủ 4 tính năng lập phiếu, xóa, sửa, tìm kiếm. Muốn thực hiện chức năng nào thì người dùng chỉ cần chọn nút bên tay phải để thực hiện chức năng đó:
Lập phiếu:
Hình 4-13: Giao diện lập hóa đơn thất bại
+ Người dùng lập đơn thành cơng:
Hình 4-14: Giao diện lập hóa đơn thành cơng
Xóa:
Hình 4-15: Giao diện xóa hóa đơn thất bại
+ Người dùng xóa hóa đơn thành cơng:
Hình 4-16: Giao diện xóa hóa đơn thành cơng
Sửa:
Hình 4-17: Giao diện sửa hóa đơn thất bại
+ Người dùng sửa hóa đơn thành cơng:
Hình 4-18: Giao diện sửa hóa đơn thành cơng
Tìm kiếm:
Hình 4-19: Giao diện tìm kiếm hóa đơn thất bại
+ Người dùng tìm kiếm hóa đơn thành cơng:
Hình 4-20: Giao diện tìm kiếm hóa đơn thành cơng
4.5 Xây dựng form quản lý chi tiết hóa đơn:
- Giao diện: Bên trong form có 4 chức năng bao gồm (quản lý chi tiết hóa đơn, quản lý chi tiết phiếu nhập, quản lý chi tiết phiếu xuất, quản lý chi tiết phiếu kiểm kê)
Hình 4-21: Giao diện chi tiết hóa đơn trong chức năng “chi tiết hóa đơn”
Hình 4-23: Giao diện chi tiết phiếu xuất trong chức năng “chi tiết hóa đơn”
Hình 4-24: Giao diện chi tiết phiếu kiểm kê trong chức năng “chi tiết hóa đơn”
- Mỗi chức năng trong form đểu có đầy đủ 4 tính năng thêm, xóa, sửa, tìm kiếm. Muốn thực hiện chức năng nào thì người dùng chỉ cần chọn nút bên tay phải để thực hiện chức năng đó:
Thêm:
Hình 4-25: Giao diện thêm chi tiết hóa đơn thất bại
+ Người dùng thêm chi tiết hóa đơn thành cơng:
Hình 4-26: Giao diện thêm chi tiết hóa đơn thành cơng
Xóa:
Hình 4-27: Giao diện xóa chi tiết hóa đơn thất bại
+ Người dùng xóa chi tiết hóa đơn thành cơng:
Hình 4-28: Giao diện xóa chi tiết hóa đơn thành cơng
Sửa:
Hình 4-29: Giao diện sửa chi tiết hóa đơn thất bại
+ Người dùng sửa chi tiết hóa đơn thành cơng
Hình 4-30: Giao diện sửa chi tiết hóa đơn thành cơng
Tìm kiếm:
Hình 4-31: Giao diện tìm kiếm chi tiết hóa đơn thất bại
+ Người dùng tìm kiếm chi tiết hóa đơn thành cơng:
Hình 4-32: Giao diện tìm kiếm chi tiết hóa đơn thành cơng
4.6 Xây dựng form quản lý hàng hóa:
- Giao diện: Bên trong form có 3 chức năng bao gồm (quản lý mặt hàng, quản lý loại hàng, quản lý nhà cung cấp)
Hình 4-33: Giao diện quản lý mặt hàng trong chức năng “hàng hóa”
Hình 4-35: Giao diện quản lý nhà cung cấp trong chức năng “hàng hóa”
- Chức năng trong form đểu có đầy đủ 4 tính năng thêm, xóa, sửa, tìm kiếm. Muốn thực hiện chức năng nào thì người dùng chỉ cần chọn nút bên tay phải để thực hiện chức năng đó:
Thêm:
+ Người dùng thêm mặt hàng thất bại:
+ Người dùng thêm mặt hàngthành cơng:
Hình 4-37: Giao diện thêm mặt hàng thành cơng
Xóa:
+ Người dùng xóa mặt hàng thất bại:
Hình 4-38: Giao diện xóa mặt hàng thất bại
Hình 4-39: Giao diện xóa mặt hàng thành cơng
Sửa:
+ Người dùng sửa mặt hàng thất bại:
Hình 4-40: Giao diện sửa mặt hàng thất bại
Hình 4-41: Giao diện sửa thơng tin mặt hàng thành cơng
Tìm kiếm:
+ Người dùng tìm kiếm mặt hàng thất bại:
Hình 4-42: Giao diện tìm kiếm mặt hàng thất bại
Hình 4-43: Giao diện tìm kiếm mặt hàng thành cơng
4.7 Xây dựng form quản lý khách hàng:
- Giao diện:
Hình 4-44: Giao diện quản lý khách hàng
- Chức năng trong form quản lý khách hàng đểu có đầy đủ 4 tính năng thêm, xóa, sửa, tìm kiếm. Muốn thực hiện chức năng nào thì người dùng chỉ cần chọn nút bên tay phải để thực hiện chức năng đó:
Thêm:
+ Người dùng thêm khách hàng thất bại:
Hình 4-45: Giao diện thêm thông tin khách hàng thất bại
+ Người dùng thêm khách hàng thành cơng:
Hình 4-46: Giao diện thêm thơng tin khách hàng thành cơng
+ Người dùng xóa khách hàng thất bai:
Hình 4-47: Giao diện xóa thơng tin khách hàng thất bại
+ Người dùng xóa khách hàng thành cơng:
Hình 4-48: Giao diện xóa thơng tin khách hàng thành cơng
Sửa:
Hình 4-49: Giao diện sửa thơng tin khách hàng thất bại
+ Người dùng sửa khách hàng thành cơng:
Hình 4-50: Giao diện sửa thơng tin khách hàng thành cơng
Tìm kiếm:
Hình 4-51: Giao diện tìm kiếm thơng tin khách hàng thất bại
+ Người dùng tìm kiếm khách hàng thành cơng:
Hình 4-52: Giao diện tìm kiếm thơng tin khách hàng thành cơng
4.8 Xây dựng form quản lý nhân viên:
Hình 4-53: Giao diện quản lý nhân viên
- Chức năng trong form quản lý nhân viên đểu có đầy đủ 4 tính năng thêm, xóa, sửa, tìm kiếm. Muốn thực hiện chức năng nào thì người dùng chỉ cần chọn nút bên tay phải để thực hiện chức năng đó:
Thêm:
+ Người dùng thêm nhân viên thất bại:
+ Người dùng thêm nhân viên thành cơng: