Sau khi khảo sát hiện trạng, phân tích yêu cầu, thiết kế dữ liệu và xây dựng chương trình. Chúng em nhận thấy rằng: sự phát triển công nghệ thông ngày càng mạnh cùng với sự phát triển nâng cao đời sống xã hội nên việc xây dựng chương trình cho phép người quản trị quản lý việc mua bán hàng hoá là việc hết sức cần thiết. Những công việc được thực hiện được trong chương trình:
- Khách hàng có thể đặt hàng trực tiếp thông qua nhân viên, không thể đặt hàng gián tiếp
- Khách hàng chỉ có thể thanh toán trực tiếp cho nhân viên. Sau khi mua và thuê đĩa thì khách hàng phải thanh toán trực tiếp cho nhân viên tại cửa hàng. Khách hàng không thể thanh toán gián tiếp cho cửa hàng.
- Đối với cửa hàng, nhân viên cũng chỉ có thể giao hàng trực tiếp cho khách hàng. Cửa hàng không thể giao hàng tận nơi cho khách hàng.
107 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3404 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Quản lý việc mua bán và cho thuê đĩa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Phân phối đĩa
Phân chia đĩa
Thông tin cho thuê đĩa
Thông tin đĩa cho thuê
Thông tin cho thuê đĩa
Thông tin khách hàng
Thông tin trả đĩa
Thông tin mượn đĩa
Báo cáo thông tin mượn đĩa
Thống kê về đĩa thuê
Thống kê doanh thu thuê đĩa
Thống kê doanh thu bán đĩa
Gửi báo cáo
Thông tin đĩa bán
Thông tin khách hàng
Thông tin bán đĩa
Thông tin đĩa bán
Thông tin của hóa đơn
Mức 2
Mức 2.1
Nhập hàng
Phiếu nhập
Thông tin y/c đăt đĩa
Xử lý đặt hàng
Thông tin về đĩa
NHÀ CUNG CẤP
Thông tin đĩa yêu cầu
Nhập hàng
Chi tiết đĩa nhập
Mức 2.2
Phân phối đĩa
Thông tin phiếu nhập hàng
Kiểm tra đĩa
Phân loại đĩa
Phiếu nhập
Đĩa thuê
Đĩa bán
Số lượng đĩa
Sau khi kiểm tra
Mức 2.3
Quản lý đĩa
Cập nhật đĩa bán
Doanh thu bán đĩa
Cung cấp doanh thu định kỳ
Khách hàng
Cập nhật yêu cầu đĩa
Báo cáo doanh thu bán
Lập hóa đơn bán
Yêu cầu thông tin về đĩa
Lưu thông tin yêu cầu
Hoá đơn bán hàng
Lấy thông tin báo cáo
Yêu cầu xem báo cáo doanh thu
Lưu thông tin chi tiết
Thông báo hoá đơn
Nhân viên thu ngân
Ban giám đốc
Gửi báo cáo
Mức 2.4
Quản lý thuê đĩa
Ghi nhận thuê đĩa
Khách hàng
Tìm kiếm đĩa
Thông tin đĩa thuê
Đĩa thuê
Đặt tiền cọc
Hóa đơn thuê
Khách hàng
Tiền đặt cọc
Thông tin khách hàng
Thông tin chi tiết
Thông tin hóa đơn thuê
Thông tin đĩa được thuê
Danh sách đĩa thuê
Danh mục đĩa thuê
Tìm kiếm đĩa cho thuê
Thỏa quy định thuê đĩa của cửa hàng
Tiền cọc
Chấp nhận thuê
Mức 2.5
Thống kê và báo cáo tổng hợp
Thông tin đĩa thanh lý
Gửi báo cáo
Ban giám đốc
Thông tin phiếu nhập
Thông tin đĩa bán
Đĩa thuê
Đĩa bán
Đĩa thanh lý
Thống kê đĩa thuê nhiều nhất
Thống kê bán chạy nhất
Thống kê số lượng đĩa thanh lý
Thống kê lượng đĩa cho thuê
Thông tin đĩa thuê
Phiếu nhập
Thống kê phiếu nhập
Lượng đĩa từng phiếu nhập
THIẾT KẾ HỆ THỐNG
Thiết kế dữ liệu
Mô hình quan hệ
Ràng buộc toàn vẹn và bảng tầm ảnh hưởng
Ràng buộc trên một quan hệ
Bảng NHACUNGCAP
Hai nhà cung cấp đĩa bất kỳ tồn tại trong bảng NHACUNGCAP thì phải có mã nhà cung cấp khác nhau.
ncc1 NHACUNGCAP, ncc2 NHACUNGCAP
ncc1 ncc2, ncc1.MANCC ncc2. MANCC
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
NHACUNGCAP
+
-
+(MANCC)
Bảng PHIEUNHAP
Hai phiếu nhập đĩa bất kỳ tồn tại trong bảng PHIEUNHAP thì phải có số phiếu nhập khác nhau.
pn1 PHIEUNHAP, pn2 PHIEUNHAP
pn1 pn2, pn1.SOPN pn2. SOPN
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
PHIEUNHAP
+
-
+(SOPN)
Bảng THELOAI
Hai thể loại đĩa bất kỳ tồn tại trong bảng THELOAI thì phải có mã thể loại khác nhau.
tl1 THELOAI, tl2 THELOAI
tl1 tl2, tl1.MATL tl2. MATL
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
THELOAI
+
-
+(MATL)
Bảng LOAIDIA
Hai loại đĩa bất kỳ tồn tại trong bảng LOAIDIA phải có mã loại đĩa khác nhau.
ld1 LOAIDIA, ld2 LOAIDIA
ld1 ld2, ld1.MALOAIDIA ld2. MALOAIDIA
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
LOAIDIA
+
-
+(MALOAIDIA)
Bảng NHANVIEN
Hai nhân viên bất kỳ tồn tại trong bảng NHANVIEN thì luôn có mã nhân viên khác nhau.
vn1 NHANVIEN, nv2 NHANVIEN
nv1 nv2, nv1.MANV nv2. MANV
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
NHANVIEN
+
-
+(MANV)
Bảng KHACHHANG
Hai khách hàng bất kỳ tồn tại trong bảng KHACHHANG thì luôn có mã khách hàng khác nhau.
kh1 KHACHHANG, kh2 KHACHHANG
kh kh2, kh1.MAKH kh2. MAKH
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
KHACHHANG
+
-
+(MAKH)
Bảng DIATHANHLY
Hai đĩa thanh lý bất kỳ tồn tại trong bảng DIATHANHLY thì luôn có số thứ tự thanh lý khác nhau.
stt1 DIATHANHLY, stt2 DIATHANHLY
stt1 stt2, stt1.MADIA stt2. MADIA
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DIATHANHLY
+
-
+(STTTHANHLY)
Bảng DIATHUE
Hai đĩa cho thuê bất kỳ tồn tại trong bảng DIATHUE phải bao gồm các thuộc tính như mã đĩa, mã thể loại, mã loại đĩa phải khác nhau.
dt1 DIATHUE, dt2 DIATHUE
dt1 dt2, dt1. (MADIA, MATL, MALOAIDIA) dt2. (MADIA, MATL, MALOAIDIA)
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DIATHUE
+
-
+
Bảng DIABAN
Hai đĩa bán bất kỳ tồn tại trong bảng DIABAN phải bao gồm các thuộc tính như mã đĩa, mã thể loại, mã loại đĩa phải khác nhau.
db1 DIABAN, db2 DIABAN
db1 db2, db1. (MADIA, MATL, MALOAIDIA) db2. (MADIABAN, MATL, MALOAIDIA)
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DIATHUE
+
-
+
Bảng DONGIABAN
Hai đĩa bán bất kỳ tồn tại trong bảng DONGIABAN thì luôn luôn có mã bộ khác nhau.
db1 DONGIABAN, db2 DONGIABAN
db1 db2, db1. (MABO) db2. (MABO)
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DONGIABAN
+
-
+
Bảng DONGIATHUE
Hai đĩa thuê bất kỳ tồn tại trong bảng DONGIATHUE thì luôn luôn có loại khác nhau.
db1 DONGIATHUE, db2 DONGIATHUE
db1 db2, db1. (MALOAI) db2. (MALOAI)
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DIATHUE
+
-
+
Bảng HOADON
Hai hóa đơn bất kỳ tồn tại trong bảng HOADON thì luôn có số hóa đơn khác nhau.
hd1 HOADON, hd2 HOADON
hd1 hd2, hd1.SOHD hd2. SOHD
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
HOADON
+
-
+(SOHD)
Ràng buộc trên nhiều quan hệ
Bảng CT_THELOAI và bảng DIATHUE
Với bất kỳ mọi đĩa thuê có trong cửa hàng có mã chi tiết thể loại tồn tại trong bảng DIATHUE thì mã chi tiết thể loại đó phải tồn tại trong bảng CT_THELOAI.
dt DIATHUE, cttl CT_THELOAI
dt.MACTTL= cttl.MACTTL
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DIATHUE
-
+
+(MACTTL)
CT_THELOAI
+
-
+(MACTTL)
Bảng CT_THELOAI và bảng DIABAN
Với bất kỳ mọi đĩa bán có trong cửa hàng có mã chi tiết thể loại tồn tại trong bảng DIABAN thì mã chi tiết thể loại đó phải tồn tại trong bảng CT_THELOAI.
db DIABAN, cttl CT_THELOAI
db. MACTTL = cttl. MACTTL
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DIABAN
-
+
+(MACTTL)
CT_THELOAI
+
-
+(MACTTL)
Bảng LOAIDIA và bảng DIATHUE
Với bất kỳ mọi đĩa thuê có trong cửa hàng có mã loại đĩa tồn tại trong bảng DIATHUE thì mã loại đĩa đó phải tồn tại trong bảng LOAIDIA.
dt DIATHUE, ld LOAIDIA
dt. MALOAIDIA= ld. MALOAIDIA
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DIATHUE
-
+
+(MALOAIDIA)
LOAIDIA
+
-
+(MALOAIDIA)
Bảng LOAIDIA và bảng DIABAN
Với bất kỳ mọi đĩa bán có trong cửa hàng có mã loại đĩa tồn tại trong bảng DIABAN thì mã loại đĩa đó phải tồn tại trong bảng LOAIDIA.
db DIABAN, ld LOAIDIA
db. MALD= ld. MALD
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DIABAN
-
+
+(MALD)
LOAIDIA
+
-
+(MALD)
Bảng KHACHHANG và bảng HOADON
Với bất kỳ mọi khách hàng có mã khách hàng tồn tại trong bảng HOADON thì khách hàng đó phải có mã khách hàng tồn tại trong bảng KHACHHANG.
hd HOADON, kh KHACHHANG
hd. MAKH= kh. MAKH
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
HOADON
-
+
+(MAKH)
KHACHHANG
+
-
+(MAKH)
Bảng NHANVIEN và bảng HOADON
Với bất kỳ mọi nhân viên có mã nhân viên tồn tại trong bảng HOADON thì nhân viên đó phải có mã nhân viên tồn tại trong bảng NHANVIEN.
hd HOADON, nv NHANVIEN
hd. MANV= nv. MANV
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
HOADON
-
+
+(MANV)
NHANVIEN
+
-
+(MANV)
Bảng NHANVIEN và bảng DIATHANHLY
Với bất kỳ mọi nhân viên có mã nhân viên tồn tại trong bảng DIATHANHLY thì nhân viên đó phải có mã nhân viên tồn tại trong bảng NHANVIEN.
dtl DIATHANHLY, nv NHANVIEN
dtl. MANV= nv. MANV
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DIATHANHLY
-
+
+(MANV)
NHANVIEN
+
-
+(MANV)
Bảng KHACHHANG và bảng DIATHANHLY
Với bất kỳ mọi khách hàng có mã khách hàng tồn tại trong bảng DIATHANHLY thì khách hàng đó phải có mã khách hàng tồn tại trong bảng KHACHHANG.
dtl DIATHANHLY, kh KHACHHANG
dtl. MAKH= kh. MAKH
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DIATHANHLY
-
+
+(MAKH)
KHACHHANG
+
-
+(MAKH)
Bảng THELOAI và bảng CT_THELOAI
Với bất kỳ mọi chi tiết thể loại có mã thể loại tồn tại trong bảng CT_THELOAI thì có mã thể loại đó phải tồn tại trong bảng THELOAI.
cttl CT_THELOAI, tl THELOAI
cttl. MATL= tl. MAKH
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
CT_THELOAI
-
+
+(MATL)
THELOAI
+
-
+(MATL)
Bảng NHANVIEN và bảng PHIEUNHAP
Với bất kỳ mọi nhân viên có mã nhân viên tồn tại trong bảng PHIEUNHAP thì mã nhân viên đó phải tồn tại trong bảng NHANVIEN.
pn PHIEUNHAP, nv NHANVIEN
pn. SOPN= nv. SOPN
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
PHIEUNHAP
-
+
+(SOPN
NHANVIEN
+
-
+(SOPN
Bảng NHACUNGCAP và bảng PHIEUNHAP
Với bất kỳ mọi nhà cung cấp có mã nhà cung cấp tồn tại trong bảng PHIEUNHAP thì mã nhà cung cấp đó phải tồn tại trong bảng NHACUNGCAP
pn PHIEUNHAP, ncc NHACUNGCAP
pn. MANCC= ncc. MANCC
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
PHIEUNHAP
-
+
+(MANCC)
NHACUNGCAP
+
-
+(MANCC)
Bảng PHIEUNHAP và bảng CT_PHIEUNHAP
Với bất kỳ mọi phiếu nhập có số phiếu nhập tồn tại trong bảng CT_PHIEUNHAP thì số phiếu nhập đó phải tồn tại trong bảng PHIEUNHAP.
ctpn CT_PHIEUNHAP, pn PHIEUNHAP
ctpn. SOPN= pn. SOPN
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
CT_PHIEUNHAP
-
+
+(SOPN)
PHIEUNHAP
+
-
+(SOPN)
Bảng PHIEUNHAP và bảng DIABAN
Với bất kỳ mọi phiếu nhập có số phiếu nhập tồn tại trong bảng DIABAN thì số phiếu nhập đó tồn tại trong bảng PHIEUNHAP.
db DIABAN, pn PHIEUNHAP
db. SOPN= pn. SOPN
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DIABAN
-
+
+(SOPN)
PHIEUNHAP
+
-
+(SOPN)
Bảng PHIEUNHAP và bảng DIATHUE
Với bất kỳ mọi phiếu nhập có số phiếu nhập tồn tại trong bảng DIATHUE thì số phiếu nhập đó phải tồn tại trong bảng PHIEUNHAP.
dt DIATHUE, pn PHIEUNHAP
dt. SOPN= pn. SOPN
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DIATHUE
-
+
+(SOPN)
PHIEUNHAP
+
-
+(SOPN)
Bảng DONGIABAN và bảng DIABAN
Với bất kỳ mọi đĩa bán có mã bộ tồn tại trong bảng DONGIABAN thì mã bộ đó phải tồn tại trong bảng DIABAN
dgb DONGIABAN, db DIABAN
dgb. MABO= db. MABO
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DONGIABAN
-
+
+(MABO)
DIABAN
+
-
+(MABO)
Bảng DIABAN và bảng CT_HOADONBAN
Với bất kỳ mọi đĩa được bán có mã đĩa bán tồn tại trong bảng CT_HOADONBAN thì mã đĩa đó phải tồn tại trong bảng DIABAN.
cthdb CT_HOADONBAN, db DIABAN
cthdb. MADIABAN= db. MADIABAN
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
CT_HOADONBAN
-
+
+(MADIABAN)
DIABAN
+
-
+(MADIABAN)
Bảng DIATHUE và bảng CT_HOADONTHUE
Với bất kỳ đĩa thuê có mã đĩa thuê tồn tại trong bảng CT_HOADONTHUE thì mã đĩa thuê đó phải tồn tại trong bảng.
cthdt CT_HOADONTHUE, dt DIATHUE
cthdt. MADIATHUE= dt. MADIATHUE
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
CT_HOADONTHUE
-
+
+(MADIATHUE)
DIATHUE
+
-
+(MADIATHUE)
Bảng DONGIATHUE và bảng DIATHUE
Với mọi đĩa thuê có mã loại tồn tại trong bảng DONGIATHUE thì mã loại đó phải tồn tại trong DIATHUE
dgt DONGIATHUE, dt DIATHUE
dt. MALOAI= pn. MALOAI
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
DONGIATHUE
-
+
+(MALOAI)
DIATHUE
+
-
+(MALOAI)
Bảng HOADON và bảng CT_HOADONBAN
Với bất kỳ mọi hóa đơn có số hóa đơn tồn tại trong bảng CT_HOADONBAN thì số hóa đơn đó phải tồn tại trong bảng .
cthdb CT_HOADONBAN, hd HOADON
cthdb. SOHD= hd. SOHD
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
CT_HOADONBAN
-
+
+(SOHD)
HOADON
+
-
+(SOHD)
Với mọi hóa đơn bán tồn tại trong bảng HOADON thì phải tồn tại một chi tiết hóa đơn bán trong bảng CT_HOADONBAN
hd HOADON, cthdb CT_HOADONBAN
hd. SOHD= cthdb. SOHD
Thêm
Xóa
Sửa
CT_HOADONBAN
+
-
+(SOHD)
HOADON
-
+
+(SOHD)
Tổng thành tiền trong một hóa đơn bán phải bằng tổng thành tiền của chi tiết hóa đơn đó
hd HOADON, cthdb CT_HOADONBAN
hd. TONGTHANHTIEN= cthdb CT_HOADONBAN
cthdb.SOHD=hd.SOHD
Thêm
Xóa
Sửa
CT_HOADONBAN
+
+
+(SOHD)
HOADON
+
+
+(SOHD)
Bảng HOADON và bảng CT_HOADONTHUE
Với bất kỳ mọi hóa đơn có số hóa đơn tồn tại trong bảng CT_HOADONTHUE thì số hóa đơn đó phải tồn tại trong bảng HOADON.
cthdt CT_HOADONTHUE, hd HOADON
cthdt. SOHD= hd. SOHD
Bảng tầm ảnh hưởng
Thêm
Xóa
Sửa
CT_HOADONTHUE
-
+
+(SOHD)
HOADON
+
-
+(SOHD)
Với mọi hóa đơn thuê tồn tại trong bảng HOADON thì phải tồn tại một chi tiết hóa đơn thuê trong bảng CT_HOADONTHUE
hd HOADON, cthdt CT_HOADONTHUE
hd. SOHD= cthdt. SOHD
Thêm
Xóa
Sửa
CT_HOADONTHUE
-
+
+(SOHD)
HOADON
+
-
+(SOHD)
Tổng thành tiền trong một hóa đơn thuê phải bằng tổng thành tiền của chi tiết hóa đơn đó.
hd HOADON, cthdb CT_HOADONTHUE
hd. TONGTHANHTIEN= cthdb CT_HOADONTHUE
cthdb.SOHD=hd.SOHD
Thêm
Xóa
Sửa
CT_HOADONTHUE
+
+
+(SOHD)
HOADON
+
+
+(SOHD)
Từ điển dữ liệu
Bảng bài hát ca sĩ
BAIHAT_CASI
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MABH
Mã bài hát
Khóa chính
Varchar
10
Not null
2
MACS
Mã ca sĩ
Khóa chính
Varchar
10
Not null
Bảng bài hát tên đĩa
BAIHAT_TENDIA
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MABH
Mã bài hát
Khóa chính
Varchar
10
Not null
2
MABO
Mã tên đĩa
Khóa chính
Varchar
10
Not null
Bảng chi tiết đĩa thuê
CT_DIATHUE
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MABO
Mã bộ
Khóa chính
Varchar
10
Not null
2
MADV
Mã diễn viên
Khóa chính
Varchar
10
Not null
Bảng Chi tiết hóa đơn bán
CT_HOADONBAN
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
SOHD
Số hóa đơn
Khóa chính
Varchar
10
Not null
2
MABO
Mã bộ
Khóa chính
Varchar
10
Not null
3
SOPN
Số phiếu nhập
Khóa chính
Varchar
10
Not null
4
DIAGOC
Đĩa gốc
Khóa chính
Nvarchar
20
Not null
5
DONGIA
Đơn giá
Float
8
Not null
6
SLBAN
Số lượng bán
Float
8
Not null
7
THANHTIEN
Thành tiền
Float
8
Not null
Bảng chi tiết hóa đơn thuê
CT_HOADONTHUE
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
STTTHUE
Số thứ tự thuê
Khóa chính
Varchar
10
Not null
2
SOHD
Số hóa đơn
Varchar
10
Not null
3
TAP
Tập
Numeric
9
Not null
4
TIENTHUE
Tiền thuê
Numeric
9
Not null
5
TIENDC
Tiền đặt cọc
Numeric
9
Not null
6
NGAYTRA
Ngày trả
Smalldatetime
4
Null
7
TIENPHAT
Tiền phạt
Numeric
9
Not null
Bảng chi tiết phiếu đặt hàng
CT_PHIEUDATHANG
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MADH
Mã đặt hàng
Khóa chính
Varchar
10
Not null
2
MABO
Mã bộ
Khóa chính
Varchar
10
Not null
3
DIAGOC
Đĩa gốc
Khóa chính
Nvarchar
20
Not null
4
SL
số lượng
Numeric
9
Null
5
DG
Đơn giá
Numeric
9
Null
6
THANHTIEN
Thành tiền
Numeric
9
Null
Bảng chi tiết phiếu nhập
CT_PHIEUNHAP
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
SOPN
Số phiếu nhập
Khóa chính
Varchar
10
Not null
2
MABO
Mã bộ
Varchar
10
Not null
3
DIAGOC
Đĩa gốc
Nvarchar
20
Not null
4
DONGIANHAP
Đơn giá nhập
Numeric
9
Not null
5
SLCUABO
Số lượng đĩa /bộ
Numeric
9
Not null
6
SLBO
Số lượng bộ
Numeric
9
Not null
7
SLSAUKHICHIA
Sl sau khi bán
Numeric
9
Null
Bảng chi tiết thể loại
CT_THELOAI
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MACTTL
Mã chi tiết thể loại
Khóa chính
Varchar
10
Not null
2
MATL
Mã thể loại
Varchar
10
Not null
3
TENCTTL
Tên chi tiết thể loại
Nvarchar
100
Not null
Bảng đĩa bán
DIABAN
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
SOPN
Số phiếu nhập
Khóa chính
Varchar
10
Not null
2
MABO
Mã bộ
Khóa chính
Varchar
10
Not null
3
DIAGOC
Đĩa gốc
Khóa chính
Nvarchar
20
Not null
4
SOLUONGBAN
Sl bán
Numeric
9
Not null
5
SLSAUKHIBAN
Sl sau khi bán
Numeric
9
Not null
6
DONGIABAN
Đơn giá bán
Numeric
9
Not null
Bảng đĩa thanh lý
DIATHANHLY
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
STTTL
Số thứ tự thanh lý
Khóa chính
Varchar
10
Not null
2
STTTHUE
Số thứ tự thuê
Varchar
10
Null
3
MABO
Mã bộ
Varchar
10
Not null
4
SOPN
Số phiếu nhập
Varchar
10
Not null
5
DIAGOC
Đĩa gốc
Nvarchar
20
Not null
6
BANHAYTHUE
Bán hay thuê
Bit
1
Not null
7
MANV
Mã nhân viên
Varchar
10
Not null
8
MAKH
Mã khách hàng
Varchar
10
null
9
SLTHANHLY
Sl thanh lý
Numeric
9
Not null
10
SOTIENTL
Số tiền thanh lý
Numeric
9
Not null
11
NGAYTL
Ngày thanh lý
Text
16
Not null
12
TINHTRANGTL
Tình trạng thanh lý
Nvarchar
50
Not null
Bảng đĩa thuê
DIATHUE
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
STTTHUE
Số thứ tự thuê
Khóa chính
Varchar
10
Not null
2
TAP
Tập
Khóa chính
Numeric
9
Not null
3
MABO
Mã bộ
Varchar
10
Not null
4
SOPN
Số phiếu nhập
Varchar
10
Not null
5
SOLANTHUE
Số lần thuê
Numeric
9
Not null
6
HIENTRANG
Hiện trạng
Numeric
9
Not null
7
MANV
Mã nhân viên
Varchar
10
Not null
8
NGAYLAMVIEC
Ngày làm việc
Text
16
Not null
Bảng danh mục bài hát
DM_BAIHAT
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MABH
Mã bài hát
Khóa chính
Varchar
10
Not null
2
TENBH
Tên bài hát
Nvarchar
50
Not null
Bảng danh mục ca sĩ
DM_CASI
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MACS
Mã ca sĩ
Khóa chính
Varchar
10
Not null
2
TENCS
Tên ca sĩ
Nvarchar
50
Not null
Bảng danh mục diễn viên
DM_DIENVIEN
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MADV
Mã diễn viên
Khóa chính
Varchar
10
Not null
2
TENDV
Tên diễn viên
Nvarchar
50
Not null
Bảng hóa đơn
HOADON
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
SOHD
Số hóa đơn
Khóa chính
Varchar
10
Not null
2
MANV
Mã nhân viên
Varchar
10
Not null
3
MAKH
Mã khách hàng
Varchar
10
Null
4
NGAYLAPHD
Ngày lập hóa đơn
Smalldatetime
4
Not null
5
TONGSLBAN
Tổng số lượng bán
Numeric
9
Not null
6
TONGTIEN
Tổng tiền
Numeric
9
Not null
7
TIENCOC
Tiền cọc
Numeric
9
Not null
8
TT
Tình trạng
bit
1
Not null
Bảng khách hàng
KHACHHANG
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MAKH
Mã khách hàng
Khóa chính
Varchar
10
Not null
2
TENKH
Tên khách hàng
Nvarchar
50
Not null
3
DIACHIKH
Địa chỉ khách hàng
Nvarchar
50
Null
4
SODTKH
Số điện thoại khách hàng
Text
16
Null
Bảng loại đĩa
LOAIDIA
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MALD
Mã loại đĩa
Khóa chính
Varchar
10
Not null
2
TENLD
Tên loại đĩa
Nvarchar
50
Not null
3
DONGIATHUE
Đơn giá thuê
Numeric
9
Not null
Bảng nhà cung cấp
NHACUNGCAP
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MANCC
Mã nhà cung cấp
Khóa chính
Varchar
10
Not null
2
TENNCC
Tên nhà cung cấp
Nvarchar
50
Not null
3
DIACHINCC
Địa chỉ nhà cung cấp
Nvarchar
50
Null
4
SODTNCC
Số điện thọai nhà cung cấp
Text
16
Null
Bảng nhân viên
NHANVIEN
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MANV
Mã nhân viên
Khóa chính
Varchar
10
Not null
2
TENNV
Tên nhân viên
Nvarchar
50
Not null
3
DIACHINV
Địa chỉ nhân viên
Nvarchar
50
Null
4
SODTNV
Số điện thoại nv
Text
16
Null
5
TT
Tình trạng
Bit
1
Null
Bảng phiếu đặt hàng
PHIEUDATHANG
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MADH
Mã đặt hàng
Khóa chính
Varchar
10
2
MANV
Mã nhân viên
Varchar
10
3
MAKH
Mã khách hàng
Varchar
10
4
NGAYDH
Ngày đặt hàng
Text
16
Null
5
TONGSLDH
Tổng sl đặt hàng
Numeric
9
6
TONGTIENDH
Tổng tiền đặt hàng
Numeric
9
7
GIAMGIA
Giảm giá
Numeric
9
8
TONGSOTIENDH
Tồng tiền
Numeric
9
Bảng phiếu nhập
NHANVIEN
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
SOPN
Số phiếu nhập
Khóa chính
Varchar
10
Not null
2
NGAYNHAP
Ngày nhập
Smalldatetime
4
Not null
3
MANV
Mã nhân viên
Varchar
10
Not null
4
MANCC
Mã nhà cung cấp
Varchar
10
Not null
5
TONGSLNHAP
Tổng sl nhập
Numeric
9
Not null
6
TONGTIENNHAP
Tổng tiền nhập
Numeric
9
Not null
Bảng phiếu thanh toán
PHIEUTHANHTOAN
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MATT
Mã thanh toán
Khóa chính
Varchar
10
Not null
2
MANV
Mã nhân viên
Varchar
10
Not null
3
SOPN
Số phiếu nhập
Varchar
10
Not null
4
NGAYTT
Ngày thanh toán
Smalldatetime
4
Not null
5
SOTIENTT
Số tiền thanh tóan
Numeric
9
Not null
6
SOTIENCL
Số tiền còn lại
Numeric
9
Not null
Bảng tên đĩa
TENDIA
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MABO
Mã bộ
Khóa chính
Varchar
10
Not null
2
TENDIA
Tên đĩa
Nvarchar
100
Not null
3
MALD
Mã loại đĩa
Varchar
10
Not null
4
MACTTL
Mã chi tiết thể loại
Varchar
10
Not null
Bảng thể loại
THELOAI
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MATL
Mã thể loại
Khóa chính
Varchar
10
Not null
2
TENTL
Tên thể loại
Nvarchar
50
Not null
Bảng tiền đặt hàng
TIENDATHANG
STT
Tên thuộc tính
Mô tả
Khóa
Kiểu dữ liệu
Kích thước
Cho phép
1
MADH
Mã đặt hàng
Khóa chính
Varchar
10
Not null
2
MANV
Mã nhân viên
Varchar
10
Null
3
MAKH
Mã khách hàng
Varchar
10
Not null
4
NGAYDATTIEN
Ngày đặt tiền
Text
16
Not null
5
TIENTRATRUOC
Trả tiền trước
Numeric
9
Not null
Thiết kế xử lý
Mô hình chức năng
Quản lý mua bán và cho thuê đĩa
Thoát
Cập nhật dữ liệu
Tìm kiếm
Lập hóa đơn
Lập đơn đặt hàng
Báo cáo thống kê
Quản lý hệ thống
Hướng dẫn
Quản lý hệ thống
Đăng nhập
Đổi mật khẩu
Thoát
Sao lưu dữ liệu
Cập nhật dữ liệu
Chi tiết thể loại – loại đĩa
Diễn viên – bài hát – ca sỹ
Tên đĩa
Chi tiết đĩa
Phiếu nhập
Thanh toán phiếu nhập
Đĩa bán
Đĩa thuê
Thanh lý đĩa
Nhà cung cấp
Nhân viên
Khách hàng
Tìm kiếm
Tên đĩa
Đĩa mới – Đĩa bán chạy
Đĩa phim – hà - cải lương
Đĩa nhạc
Khách hàng mua và thuê dĩa
Lập hóa đơn
Hóa đơn thuê
Hóa đơn bán
Trả đĩa thuê
Lập đơn đặt hàng
Thanh toán đơn đặt hàng
Lập đơn đặt hàng
Hướng dẫn
Ý kiến
Trợ giúp
Giới thiệu
Báo cáo và thống kê
Đĩa bán chạy nhất
Đĩa tồn kho
Doanh thu bán và thuê
Đĩa thanh lý
Phiếu đặt hàng
Khách hàng mua và thuê
Đĩa thuê chưa trả
Công not nợ nhà cung cấp
Thiết kế giao diện
Các chức năng chung của các Form chương trình.
Lưới: hiển thị tất cả record trong bảng có trong cơ sở dữ liệu.
Nút Đầu: trên form sẽ thể hiện record đầu tiên của lưới.
Nút Tiếp: trên form sẽ hiển thị record tiếp theo của lưới.
Nút Trước: trên form sẽ hiển thị record trước record hiện tại của lưới.
Nút Cuối: trên form sẽ thể hiện record cuối cùng của lưới.
Nút Thêm: hệ thống cho bạn nhập mới một thông tin.
Nút Cập nhật: cho bạn chỉnh sửa lại thông tin trên form Nhà cung cấp nhưng bạn không thể chỉnh sửa trên thông tin mã Nhà cung cấp.
Nút Lưu: hệ thống sẽ lưu lại thông tin mới mà bạn vừa nhập
Nút Xoá: hệ thống sẽ xoá một record trong một bảng của c
Nút Huỷ bỏ: Hệ thống sẽ bỏ qua những thông tin mà bạn vừa nhập.
Thoát: thoát khởi form
Màn hình Hệ thống
Gồm có các chức năng như: Đăng nhập hệ thống, Đổi mật khẩu, Sao lưu dữ liệu, Thoát.
Form Đăng nhập
Textbox tên đăng nhập và textbox mật khẩu: nhập vào tên đăng nhập và mật khẩu đăng nhập.
Nút Đăng nhập: Nếu nhập đúng thì vào chương trình vào Form Hệ thống. Tùy theo quyền đăng nhập của tên đăng nhập mà form Hệ thống đưa ra các chức năng tương ứng với quyền đăng nhập.
Nút Hủy bỏ: hủy bỏ thông tin đã nhập từ textbox tên đăng nhập và mật khẩu.
Nút Thoát: thoát khỏi chương trình.
Đổi mật khẩu
Nút Đồng ý: bạn phải nhập đầy đủ thông tin thì hệ thống sẽ chấp nhận cho bạn thay đổi mật khẩu khi bạn đăng nhập.
Nút Huỷ bỏ: Hệ thống sẽ bỏ qua những thông tin mà bạn vừa nhập
Nút Thoát: thoát khởi form Đổi mật khẩu.
Màn hình Cập nhật thông tin
Có các chức năng cập nhật thông tin lưu trữ trong cơ sở dữ liệu: Nhà cung cấp, Phiếu nhập, Thanh toán Phiếu nhập, Loại đĩa, Thể loại, Chi tiết thể loại, Đĩa bán, Đĩa thuê, Tên đĩa, Đơn giá bán, Đơn giá thuê, Đĩa thanh lý, Nhân viên, Khách hàng.
Form Chi tiết thể loại – loại đĩa
Textbox Mã thể loại: sẽ phát sinh tự động khi thêm một thể loại mới.
Textbox Tên thể loại: miêu tả tên thể loại.
Textbox Mã chi tiết thể loại: sẽ phát sinh tự động khi thêm một chi tiết thể loại mới.
Textbox Tên chi tiết thể loại: miêu tả tên chi tiết thể loại.
Combobox tên thể loại: thể hiện tên chi tiết thể loại
Textbox Mã loại đĩa: thể hiện mã của loại đĩa.
Textbox Tên loại đĩa: thể hiện tên của loại đĩa đó
Textbox Đơn giá thuê: thể hiện đơn giá thuê cho loại đĩa đó.
Form Diễn viên – bài hát – ca sỹ
Textbox Mã ca sỹ: thể hiện mã của ca sỹ đó.
Textbox Tên ca sỹ: thể hiện tên của ca sỹ đó.
Textbox Mã bài hát: thể hiện mã của bài hát đó.
Textbox Tên bài hát: thể hiện tên của bài hát đó.
Combobox Tên bài hát : thể hiện tên bài hát.
Combobox Tên ca sỹ: thể hiện tên của ca sỹ trình bày bài hát đó.
Textbox Mã diễn viên: thể hiện mã của diễn viên đó.
Textbox Tên diễn viên: thể hiện tên của diễn viên đó.
Form Tên đĩa
Textbox Mã bộ: mã lưu trữ của đĩa nhập về.
Textbox Tên đĩa: nhập thông tin tên đĩa của đĩa nhập về.
Combobox Tên Loại đĩa: hiển thị tất cả tên loại đĩa có trong bảng Loại đĩa.
Combobox Tên chi tiết thể loại: hiển thị tất cả tên chi tiết thể loại có trong bảng Chi tiết thể loại.
Form Chi tiết đĩa
Combobox Tên đĩa: thể hiện tên đĩa.
Combobox Tên bài hát: thể hiện tên các bài hát trong đĩa đó.
Form Nhà cung cấp
Textbox Mã nhà cung cấp: sẽ phát sinh mã số tự động khi thêm một nhà cung cấp mới.
Textbox Tên nhà cung cấp: nhập thông tin họ tên của nhà cung cấp.
Textbox Địa chỉ: nhập thông tin địa chỉ của nhà cung cấp.
Textbox Điện thoại: nhập thông tin số điện thoại của nhà cung cấp.
Form Phiếu nhập
Textbox Số phiếu nhập: sẽ được phát sinh tự động khi thêm một số phiếu nhập mới.
Combobox Nhà cung cấp: hiển thị tất cả nhà cung cấp có trong bảng Nhà cung cấp.
Combobox Nhân viên: hiển thị tất cả nhân viên trong bảng Nhân viên.
Textbox Ngày nhập: lấy ngày giờ hệ thống hiện tại.
Textbox Tổng tiền: tổng tiền khi nhập hàng về của phiếu nhập đó.
Form Thanh toán Phiếu nhập
Textbox Mã thanh toán: sẽ phát sinh tự động khi thêm một phiếu thanh toán mới.
Combobox Số phiếu nhập: hiển thị tất cả phiếu nhập có trong bảng Phiếu nhập.
Textbox Ngày thanh toán: lấy ngày giờ hệ thống hiện tại.
Textbox Số tiền: số tiền thanh toán cho phiếu nhập đã chọn ở trên với một số tiền phải nhỏ hơn hoặc bằng tổng tiền trong phiếu nhập đó.
Form Đĩa bán
Combobox Số phiếu nhập: hiển thị tất cả số phiếu nhập có trong bảng Phiếu nhập.
Combobox Tên đĩa: hiển thị tên đĩa có trong bảng Tên đĩa.
Combobox Đĩa gốc: lựa chọn đĩa bán đó là đĩa gốc hay là đĩa sao chép.
Combobox Tập: lựa chọn thông tin về số thứ tự tập của đĩa bán đó.
Textbox Số lượng: nhập vào số lượng đĩa bán.
Form Đĩa thuê
Textbox Số lượng: nhập vào số lượng đĩa thuê.
Combobox Số phiếu nhập: hiển thị tất cả số phiếu nhập có trong bảng Phiếu nhập.
Combobox Tên đĩa: hiển thị tất cả tên đĩa có trong bảng Tên đĩa.
Combobox Tập: lựa chọn số thứ tự tập của đĩa thuê.
Form Đĩa thanh lý
Textbox Số thứ tự thanh lý: sẽ phát sinh tự động khi thêm một đĩa thanh lý mới.
Combobox Số phiếu nhập: hiển thị tất cả số phiếu nhập có trong bảng Phiếu nhập.
Combobox Tên đĩa: hiển thị tất cả tên đĩa có trong bảng Tên đĩa.
Combobox Tập: lựa chọn số thứ tự tập của đĩa.
Combobox Nhân viên: hiển thị tất cả các nhân viên có trong bảng Nhân viên.
Combobox Khách hàng: hiển thị tất cả các khách hàng có trong bảng Khách hàng.
Textbox Tiền thanh lý: nhập vào số tiền thanh lý từ đĩa.
Combobox Lý do thanh lý: lựa chọn lý do thanh lý cho đĩa.
Textbox Số lượng thanh lý: nhập vào số lượng thanh lý của đĩa.
Textbox Ngày thanh lý: lấy ngày giờ hệ thống hiện hành.
Form Nhân viên
Textbox Mã Nhân viên: sẽ phát sinh mã số tự động khi thêm một nhân viên mới.
Textbox Tên nhân viên: nhập thông tin họ tên của nhân viên.
Textbox Địa chỉ: nhập thông tin địa chỉ của nhân viên.
Textbox Điện thoại: nhập thông tin số điện thoại của nhân viên.
Form Khách hàng
Textbox Mã khách hàng: sẽ phát sinh mã số tự động khi thêm một khách hàng mới.
Textbox Tên khách hàng: nhập thông tin họ tên của khách hàng.
Textbox Địa chỉ: nhập thông tin địa chỉ của khách hàng.
Textbox Điện thoại: nhập thông tin số điện thoại của khách hàng.
Màn hình Lập Hóa đơn
Có các chức năng Lập hóa đơn bán và hóa đơn thuê.
Form Hóa đơn bán
Textbox Số hóa đơn: nhập vào số hóa đơn bán khi thêm một chi tiết bán đĩa.
Combobox Tên đĩa: hiển thị tất cả tên đĩa có trong bảng Tên đĩa.
Combobox Số phiếu nhập: hiển thị tất cả số phiếu nhập có trong Phiếu nhập
Combobox Đĩa gốc: lựa chọn thông tin đĩa mà khách hàng mua là đĩa gốc hay là đĩa sao chép.
Combobox Tập: lựa chọn số thứ tự tập mà khách hàng mua đĩa.
Combobox Nhân viên: hiển thị tất cả tên nhân viên có trong bảng Nhân viên
Combobox Khách hàng: hiển thị tất cả khách hàng có trong bảng Khách hàng. Nếu là khách hàng mới thì vào Form Khách hàng để thêm một khách hàng mới.
Textbox Số lượng: nhập vào số lượng đĩa mà khách hàng mua.
Textbox Tổng tiền: xử lý thành tiền từ số lượng mua và đơn giá bán của đĩa đó.
Textbox Ngày lập hóa đơn: hiển thị ngày giờ hiện hành của hệ thống.
Form Hóa đơn thuê
Textbox Số hóa đơn: nhập vào số hóa đơn thuê khi thêm một chi tiết thuê đĩa.
Combobox Số thứ tự: hiển thị tất cả số thứ tự có trong bảng Đĩa thuê.
Combobox Nhân viên: hiển thị tất cả tên nhân viên có trong bảng Nhân viên
Combobox Khách hàng: hiển thị tất cả khách hàng có trong bảng Khách hàng. Nếu là khách hàng mới thì vào Form Khách hàng để thêm một khách hàng mới.
Textbox Ngày thuê: hiển thị ngày giờ hiện hành của hệ thống.
Textbox Ngày trả: để trống khi khách hàng đến thuê đĩa. Sẽ cập nhật lại thông tin ngày trả khi khách hàng trả lại đĩa thuê, lấy ngày giờ hiện hành của hệ thống.
Textbox Tiền đặt cọc: nhập vào số tiền đặt cọc mà khách hàng đến thuê.
Textbox Tiền thuê: nhập số tiền thuê của đĩa đó.
Textbox Tiền phạt: để trống khi khách hàng đến thuê. Sẽ cập nhật lại số tiền phạt khi khách hàng đến trả đĩa trễ.
Màn hình Tìm kiếm thông tin
Có các chức năng tìm kiếm thông tin về: Khách hàng, Đĩa bán, Đĩa thuê, Đĩa mới nhập về, Đĩa bán hay thuê nhiều nhất.
Form Tìm kiếm tên đĩa
Textbox Tên đĩa: ta nhập tên đĩa cần tìm vào.
Combobox Chi tiết thể loại: ta chọn thể loại của đĩa mà ta cần tìm.
Có hai cách chọn trong tìm kiếm đó là tìm kiếm chính xác và tìm kiếm không chính xác.
Tìm kiếm đĩa thuê nhiều đĩa bán chạy
Combobox Chi tiết thể loại: dùng để chọn thể loại mà ta muốn tìm đĩa mới đĩa, đĩa bán chạy, đĩa thuê nhiều.
Tìm kiếm đĩa Nhạc
Textbox Tên bài hát: nhập tên bài hát mà ta cần tìm.
Textbox Tên ca sỹ: nhập tên ca sỹ thể hiện bài hát mà ta cần tìm.
Combobox Chi tiết thể loại: ta chọn thể loại của đĩa mà ta cần tìm.
Có hai cách tìm kiếm đó là tìm kiếm theo và hay hoặc.
Tìm kiếm đĩa Phim – Hài – Cải lương
Textbox Tên diễn viên: nhập tên diễn viên mà ta cần tìm.
Combobox Chi tiết thể loại: ta chọn thể loại của đĩa mà ta cần tìm.
Có hai cách tìm kiếm đó là tìm kiếm theo và hay hoặc. Kết quả là ta tìm được những tên đĩa thuộc thể loại ta đã chọn của diễn viên ta cần tìm đóng.
Tìm kiếm khách hàng
Textbox Tên khách hàng: nhập thông tin tên khách hàng cần tìm kiếm. Có hai cách tìm kiếm là tìm gần đúng và tìm đúng.
Màn hình lập đơn đặt hàng
Form Chi tiết phiếu đặt hàng
Màn hình Báo cáo
Có các chức năng thống kê và báo cáo như: công nợ nhà cung cấp, đĩa chạy nhất, đĩa tồn kho, đĩa thanh lý, tổng doanh thu thuê và bán, khách hàng.
Các chức năng chung của các nút lệnh:
Nút In Báo Cáo:
Nút Lưu Báo Cáo:
Nút Xuất Báo Cáo:
Nút Thoát: thoát khỏi form báo cáo hiện tại.
Báo cáo đĩa bán chạy nhất
Báo cáo đĩa tồn kho
Báo cáo Đĩa thuê chưa trả
Báo cáo Đĩa thanh lý
Báo cáo Doanh thu bán và thuê
Báo cáo Phiếu đặt hàng
Báo cáo Khách hàng mua và thuê
Báo cáo Công nợ nhà cung cấp
Màn hình chức năng hướng dẫn
HƯỚNG MỞ RỘNG VÀ PHÁT TRIỂN
Những yêu cầu đạt được
Sau khi khảo sát hiện trạng, phân tích yêu cầu, thiết kế dữ liệu và xây dựng chương trình. Chúng em nhận thấy rằng: sự phát triển công nghệ thông ngày càng mạnh cùng với sự phát triển nâng cao đời sống xã hội nên việc xây dựng chương trình cho phép người quản trị quản lý việc mua bán hàng hoá là việc hết sức cần thiết. Những công việc được thực hiện được trong chương trình:
Khách hàng có thể đặt hàng trực tiếp thông qua nhân viên, không thể đặt hàng gián tiếp
Khách hàng chỉ có thể thanh toán trực tiếp cho nhân viên. Sau khi mua và thuê đĩa thì khách hàng phải thanh toán trực tiếp cho nhân viên tại cửa hàng. Khách hàng không thể thanh toán gián tiếp cho cửa hàng.
Đối với cửa hàng, nhân viên cũng chỉ có thể giao hàng trực tiếp cho khách hàng. Cửa hàng không thể giao hàng tận nơi cho khách hàng.
Hướng phát triển
Phải giải quyết được các giới hạn của chương trình:
Có thể phát triển phần mềm này chạy trên môi trường mạng nhằm giúp cho cửa hàng ngày càng phát triển hơn.
Phải hỗ trợ cho khách hàng có những điều kiện tốt nhất nhằm cho khách hàng không mất nhiều thời gian để tìm kiếm đĩa hoặc mua và thuê đĩa.
Giới hạn của chương trình
Do không đủ điều kiện nghiên cứu kỹ thực tế nên chương trình còn nhiều hạn chế.
Do không có đủ thời gian nên không thể đi sâu vào hướng phát triển chương trình.
Vấn đề đặt hàng của khách hàng chưa thể chấp nhận được thông qua điện thoại, chưa thể giao hàng cho khách tận nơi.
Vấn đề thanh toán của khách hàng chưa thể tính toán thông qua thẻ ATM, hay tài khoản của khách.
Trước mắt, chương trình này chỉ được sử dụng cho những cửa hàng nhỏ và vừa.
TÌM HIỂU NGÔN NGỮ VB.NET
Giới thiệu ngôn ngữ VB.Net
Trong những năm trước, Visual Basic là ngông ngữ lập trình thông dụng nhất. Theo nhiều nhà lập trình, chìa khóa thành công của Visual Basic chính là tính dễ sử dụng và còn do khả năng tạo nhanh giao diện người dùng bằng thao tác kéo thả các Control lên form. Song nhiều người vẫn không thừa nhận Visual Basic là ngôn ngữ lập trình chuyên nghiệp, vì theo các nhà lập trình, Visual Basic tuy cung cấp cách thức xây dựng prototype một cách thuận tiện nhưng sau này phải viết lại mã bằng ngôn ngữ như C++ nhằm đạt hiệu suất khi thi hành cao hơn.
Khi đưa ra môi trường .NET, Microsoft đã đưa ra hai ngôn ngữ lập trình mới: Visual Basic.NET và C# (Visual C++.NET là một phần của môi trường .NET). Môi trường .NET cung cấp thủ tục và lớp độc lập với ngôn ngữ lập trình dành cho Visual Basic .NET và C#, có nghĩa là Visual Basic .NET hay C# đều có cùng tính năng .NET. Trong môi trường .NET, chương trình viết băng Visual Basic .NET hay Visual C++ .NET khai thác phương thức và lớp do Common Language Runtime và Base Class Library cung cấp để thực hiện các tác vụ cụ thể. Do mỗi ngôn ngữ lập trình dùng chung thư viện (và do cải tiến trình biên dịch Visual Basic ), chương trình .NET sẽ đạt hiệu suất trương tự bất kể trình ứng dụng nào.
Sự khác biệt giữa VB.Net so với VB.Net
Visual Basic .NET không hỗ trợ kiểu gõ dữ liệu Variant. Tất cả lớp .NET đều thừa hưởng kiểu System.Object.
Visual Basic .NET không hỗ trợ kiểu Currency. Thay vào đó chương trình sử dụng kiểu Decimal.
Visual Basic .NET không gán giá trị cho biến bằng câu lệnh LET. Chương trình chỉ dùng tóan tử gán.
Visual Basic .NET không hỗ trợ câu lệnh DefType định kiểu dữ liệu mặc định như những phiên bản Visual Basic cũ. Chương trình khai báo từng biến.
Visual Basic .NET không hỗ trợ kiểu do người dùng qui định. Chương trình nhóm thông tin liên quan thông qua cấu trúc hay lớp.
Visual Basic .NET không hỗ trợ hàm IsMissing. Chương trình dùng IsNothing để xác định đối tượng chứa giá trị hay không.
Visual Basic .NET không gọi thủ tục con bằng GoSub. Thay vào đó nó tham chiếu tên thủ tục con kèm theo cặp ngoặc chứa các tham số tùy vào từng thủ tục.
Visual Basic .NET không hỗ trợ hàm hay thủ tục con Static. Nếu biến trong thủ tục hay hàm phải duy trì giá trị lâu từ lần gọi này sang lần gọi kế tiếp, khai báo biến là Static.
Visual Basic .NET không cho phép khai báo biến kiểu String có độ dài cố định.
Visual Basic .NET đổi kiểu Integer sang 32 bit, cho phép biến Integer lưu trữ giá trị trong khoảng -2.147.483.648 đến 2.147.483.647.
Visual Basic .NET biểu diễn giá trị 16 bit bằng kiểu Short, lưu trữ số trong khoảng -32.768 đến 32.767
Visual Basic .NET đổi biên dưới của mảng sang phần tử 0. Visual Basic .NET không cho phép định rõ biên trên và biên dưới khi khai báo mảng. Tất cả mảng Visual Basic .NET đều dùng biên dưới 0.
Visual Basic .NET thực hiện phép tính số học và lượng giác bằng các phương thức thuộc lớp Math.
Khi chương trình Visual Basic .NET gọi thủ tục con hay hàm, chương trình phải định rõ cặp ngoặc sau tên thủ tục, mặc dù thủ tục không dùng cặp ngoặc.
Theo mặc định Visual Basic .NET chuyển viến cho hàm và thủ tục con theo giá trị (dùng từ khóa ByVal), nghĩa là thủ tục không thể thay đổi giá trị biến ban đầu. Nếu thủ tục con hay hàm bắt buộc thay đổi biến thì phải chuyển biến cho thủ tục theo tham chiếu (dùng từ khóa Byeft).
Mặc dù Visual Basic .NET hỗ trợ hàm MsgBox, nhưng đa số chương trình mới đều áp dụng phương thức Show() thuộc lớp MessageBox.
Visual Basic .NET thay câu lệnh Wend cho biết kết thúc vòng lặp While bằng câu lệnh End While.
Visual Basic .NET thay câu lệnh Debug.Print bằng câu lệnh Debug.WriteLine.
Visual Basic .NET cho biết đối tượng không chứa giá trị bằng giá trị Nothing, không hỗ trợ Null hay Empty.
Lập trình Form Visual Basic .NET
Một trong những lý do chủ yếu đem lại thành công cho Visual Basic là dễ tạo giao diện người dùng bằng thao tác kéo thả đối tượng lên Form. Khi thiết kế giao diện người dùng bằng bộ công cụ trong Visual Studio, Visual Studio sẽ tạo mã chương trình tương ứng.
Visual Studio thi hành Form dưới dạng lớp. Trong lớp, Visual Studio cung cấp phương thức xây dựng New() và Disspose() để loại bỏ đối tượng Form. Visual Studio tạo đoạn mã đứng giữa #Region và EndRegion, thông thường sẽ đặt câu lệnh của chương trình bên ngoài #EndRegion.
Để tạo một trình ứng dụng Windows đơn giản thông qua Visual Studio:
Chọn File à New à Project.
Visual Studio hiển thị hộp thoại New Project
Trong hộp thoại chọn biểu tượng Windows Application rồi gõ tên vào vị trí thư mục, Visual Studio sẽ hiển thị Form trống.
Để xây dựng một chương trình chọn Build à Build Solution.
Để chạy chương trình chọn Debug hoặc Start
Để xem câu lệnh đã tạo chọn View à Code.
Các thành phần cơ sở của một Form
Lớp Control: là lớp cơ sở trong lớp System.Windows.Forms.Form, các thuộc tính của System.Windows.Forms.Control cho phép cấu hình kích cỡ và vị trí của một Control, quản lý các thao tác nhập liệu từ bàn phím và chuột.
Các thuộc tính của kiểu Control
Ý nghĩa
Top, Left, Right, Bottom, Bound
Mỗi thuộc tính chỉ định kích cỡ của Control hiện hành.
ClientRectangle, Height, Width
Trả về một kiểu Rectangle chỉ định kích cỡ của Control hiện hành.
Created, Dissposed, Enabled, Focused, Visible
Từng thuộc tính trả về mộ giá trị Boolean chỉ định trạng thái của Control hiện hànhq
Handle
Trả về một trị số nguyên là giá trị của Control hiện hành.
ModifierKeys
Kiểm tra trạng thái hiện hành của các phím chuyển (Shift, Ctrl, Alt) và trả về trạng thái bằng một kiểu Keys.
MouseButtons
Kiểm tra trạng thái hiện hành của các nút chuột (trái, phải, giữa)
Parent
Trả về một đối tượng Control là cha của Control hiện hành
TabIndex, TabStop
Quy định thứ tự tab của Control
Text
Chỉ định văn bản hiện hành kết hợp cùng với Control này.
Lớp cơ sở Control định nghĩa một số phương thức kết hợp với các kiểu Control
Các phương thức của kiểu Control
Ý nghĩa
GetStyle(), SetStyle()
Các phương thức này dùng để điều khiển các cờ kiểu dáng của Control hiện hành, sử dụng các kiểu ControlStyle.
Hide(), Show()
Phương thức này gián tiếp ấn định trạng thái của thuộc tính Visible.
Invalidate()
…
Lập trình Form với các Control
TextBox Control
Công cụ này lưu trữ một hay nhiều dòng văn bản. Lớp cơ sở trực tiếp của TextBox là TextBase.
Các thuộc tính của TextBox
Ý nghĩa
ACCEPTSTAB
Xác định thao tác nhấn phím Tab trong một TextBox Control đa dòng có chuyển tab vào chính nó hay dời đến Control kế tiếp trong thứ tự Tab đã quy định.
AutoSize
Xác định xem kích cỡ của một Control có tự động điều chỉnh hay không khi font chữ được gán thay đổi.
BackColor
Tìm hoặc ấn định màu nền của Control.
ForeColor
ấn định màu của font chữ lựa chọn cho Control.
HideSelection
Tìm hoặc ấn định một giá trị văn bản được lựa chọn trong TextBox Control có giữ nguyên tình trạng khi Control mất Focus
MaxLength
Quy định số lượng ký tự tối đa có thể được nhập trong TextBox Control.
Modified
Tìm hoặc ấn định một giá trị trong TextBox Control đã được sửa đổi bởi người dùng kể từ khi Control được tạo hoặc nội dung của nó được ấn định lần chót.
MultiLine
Chỉ định TextBox này có thể chứa nhiều dòng văn bản hay không.
ReadOnly
Đánh dấu TextBox này chỉ đọc (không được sửa đổi)
SelectedText
Chứa văn bản được lựa chọn trong Control
SelectionLength
Chứa các ký tự đang được lựa chọn trong Control
SelectionStart
Tìm hoặc ấn định điểm khởi đầu của văn bản được lựa chọn trong TextBox.
WordWrap
Cho biết một TextBox Control đa dòng có tự động đóng khung các từ theo đầu dòng kế tiếp khi cần hay không.
Kiểu TextBoxBase cũng định nghĩa một số phương thức: Cut(), Copy(), Paste(), Undo(), Clear(), AppendText(),….
Ngoài ra TextBoxBase còn định nghĩa các sự kiện: cần chú ý nhất là sự kiện TextChanged, sự kiện này sẽ khởi phát mỗi khi có sự thay đổi về nội dung trong TextBoxBase.
Ngoài các thuộc tính thừa hưởng từ TextBoxBase, TextBox Control còn có các thuộc tính riêng:
Các thuộc tính của TextBox
Ý nghĩa
AcceptsReturn
Tìm hoặc ấn định một giá trị nêu rõ thao tác nhấn Enter trong một TextBox Control đa dòng sẽ tạo một dòng văn bản mới trong TextBox hay kích hoạt Button ngầm định của Form.
Characterr
TÌM HIỂU VỀ SQL SERVER
Giới thiệu
Mỗi ứng dụng trong thực tế xử lý và lưu thông tin dưới nhiều hình thức khác nhau, và hầu hết đều sử dụng cơ sở dữ liệu. Loại cơ sở dữ liệu được chọn cho ứng dụng sẽ phụ thuộc vào giải pháp và nhu cấu của nhà quản trị.
Tuỳ vào các yếu tố như: môi trường, ứng dụng cần bảo mật cao, khả năng tài chính, quy mô của ứng dụng, mục đích sử dụng…., cơ sở dữ liệu được chọn sẽ có quy mô khác nhau, nhằm mục đích lưu trữ, xử lý và tìm kiếm dữ liệu tối ưu.
Mục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trữ (storage), truy cập (accessibility), tổ chức (organization) và xử lý (manipulation).
Hệ quản lý cơ sở dữ liệu (Database management system) bao gồm phần cứng (Hardware), phần mềm (Software), dữ liệu (data) và người dùng (Users).
Hệ quản lý cơ sở dữ liệu không nhất thiết là cơ sở dữ liệu Data người dùng như Sql Server, Oracle, Informic mà nó cũng có thể là cơ sở dữ liệu dùng cho ứng dụng như Microsoft Access, Foxpro….
Với ứng dụng quản lý thư viện điện tử hỗ trợ việc lưu trữ, cập nhật dữ liệu thường xuyên, tìm kiếm thông tin, bảo mật và phân quyền cho người sử dụng. Mặt khác, ứng dụng thư viện điện tử có quy mô sử dụng không lớn, hỗ trợ đa người dùng và khả năng về tài chính là một vấn đề gặp phải nên SQL Server là sự chọn lựa hợp lý nhất làm hệ quản trị cơ sở dữ liệu.
Đặc điểm của SQL Server
SQL SERVER là một hệ quản trị cơ sở dữ liệu quan hệ mạnh có tính mở, đáng tin cậy, là một hệ quản trị cơ sở dữ liệu theo mô hình Client/Server và có thể dễ dàng phát triển theo mô hình dữ liệu phân tán.
SQL SREVER chỉ có các đối tượng table (bảng dữ liệu), Views (bảng ảo), Diagram (sơ đồ quan hệ), Stored procedures (thủ tục), Users (người dùng cơ sở dữ liệu), Rules (các quy tắc do người dùng định nghĩa), Roles (các vai trò áp dụng cho người dùng trên cơ sở dữ liệu), Default (khai báo các giá trị mặc định), Functions (cho phép người dùng khai báo các hàm người dùng).
Cơ sở dữ liệu SQL Server là cơ sở dữ liệu đa người dùng chạy trên hệ điều hành Windows. Điều này có nghĩa là bạn cài đặt cơ sở dữ liệu SQL Server trên hệ điều hành đa người dùng Windows NT, Windows 2000…
Dễ dàng xây dựng một cơ sở dữ liệu quan hệ lớn, mỗi cơ sở dữ liệu có thể chứa 2 tỷ quan hệ và mỗi quan hệ có thể chứa đến 1024 thuộc tính.
Giải quyết tình trạng va chạm giữa các user khi cùng truy xuất một dữ liệu tại một thời điểm.
Bảo đảm các ràng buộc toàn vẹn trên cơ sở dữ liệu.
Bảo vệ an toàn cơ sở dữ liệu (quản lý nhiều mức độ để truy cập vào cơ sở dữ liệu).
Truy vấn dữ liệu nhanh.
Hệ thống quản lý tự động không gian làm việc của các giao dịch (transaction).
SQL SERVER cho phép ứng dụng xử lý dữ liệu, thực hiện các thao tác cập nhật dữ liệu, tính toán ngay trên Server.
Các đối tượng của SQL Server
Table - Bảng
Là thành phần chính trong cơ sở dữ liệu. Bảng là đối tượng lưu trữ dữ liệu thực, khi cần giao tiếp với cơ sở dữ liệu khác, bảng là đối tượng căn bản nhất trong bất kỳ loại cơ sở dữ liệu nào, chúng được coi là một miền dữ liệu.
Mỗi bảng được định nghĩa nhiều trường, mỗi trường (field còn gọi là column name) ứng với một loại kiểu dữ liệu. Dữ liệu nhập vào có thể chấp nhận hoặc từ chối tuỳ thuộc vào nguyên tắc ràng buộc dữ liệu tương thích do hệ thống hay người dùng định nghĩa
Datagram – Lược đồ quan hệ
Khi xây dựng cơ sở dữ liệu ứng dụng hay thương mại điện tử, đều phải dựa trên trình phân tích thiết kế hệ thống. Sau những bước phân tích và thiết kế, bạn sẽ thiết lập quan hệ dữ liệu giữa các thực thể ERD. Diagram là công cụ duy nhất giúp bạn thực hiện công việc kết nối trên
Chỉ mục Indexs
Đối tượng này chỉ tồn tại trong bảng hay khung nhìn, chỉ mục có ảnh hưởng đến tốc độ truy cập dữ liệu, khi tìm kiếm thông tin trên bảng chỉ mục giúp tăng tốc độ cho việc tìm kiếm.
View
Bảng View trong SQL Server:
View là đối tượng cơ sở dữ liệu. chúng được biết đến như một bảng ảo (Virtual table). Bảng thân View không chứa dữ liệu mà chỉ truy vấn, kết hợp dữ liệu từ một hay nhiều bảng có quan hệ lại với nhau.
Sử dụng View nhằm cải thiện quá trình truy cập, bằng cách định nghĩa trước phát biểu SQL dạng Select với các điều kiện cố định như phép kết nối, tiêu chuẩn so sánh cố định,…
Để thiết kế View trước tiên cần xác định những cột dữ liệu nào cần kết xuất, sau đó xem xét những cột dữ liệu này thuộc về bảng dữ liệu nào.Từ đó bạn có thể tạo ra một View từ các bảng dữ liệu có quan hệ với nhau.
Views có thể thêm trường mới dựa vào những phép toán, biểu thức của SQL Server
Views có thể kết nối nhiều bảng dữ liệu lại với nhau theo quan hệ nhất định cùng với những tiêu chuẩn, nhằm tạo ra một bảng dữ liệu theo nhu cầu của người dùng.
Cú pháp :
CREATE VIEW
[ . ] [ . ] view_name [ ( column [ ,..n ] ) ] [ WITH [ ,...n ] ] AS select_statement [ WITH CHECK OPTION ] ::= { ENCRYPTION | SCHEMABINDING | VIEW_METADATA }
Trong đó:
Database_name :Tên View do chúng ta đặt .
Các tùy chọn:
WITH CHECK OPTION:Bắt buộc tất cả việc hiệu chỉnh dữ liệu áp dụng qua bảng nhìn
WITH ENCRYPTION :Mã hóa phát biểu CREATE VIEW trong bảng hệ thống syscomments,sau khi mã hóa bảng nhìn rồi thì không ai có thể xem nó cả .
Khi ta sử dụng View thì ta cũng có thể select ,insert,update,delete data như đối với table .
Back up – Restore
Back up
Ta có thể dùng công cụ Backup trong sql để sao lưu dự phòng database một cách an toàn hơn để phòng trừ khi server của chúng ta có vấn đề .
Để Backup database ta có thể dùng hai cách là bằng Wizard hay là bằng những câu lệnh.
Backup bằng wizard
Chọn database mà chúng ta cần Backup rồi kích phải database chọn All tasks -> Backup database
Trong đó có các tùy chọn
Database-complete:backup toàn bộ database .
Database-differntial:backup dữ liệu theo cách khác.
Transaction log :backup các chuểyn tác .
File and filegroup :backup nhóm file.
Backup bằng lệnh
Vào sql analyzer để làm .
Cú pháp
Tạo thiết bị để backup
Exec sp_addumpdevice 'physical_backup_device_name' ,‘backup_devicename’,
’ filename.bak’
thực hiện backup
BACKUP DATABASE ‘database_name’ to ‘backup_devicename’ WITH INIT
Trong đó :
'physical_backup_device_name' :Là những thiết bị backup trong máy như DISK,TAPE,PIPE .
‘backup_devicename’:Tên thiết bị backup mà chúng ta đặt .
’ filename.bak’:tên file mà ta sẽ lưu trữ bắt buộc phải có phần mở rộng là .bak
Restore
Restore bằng wizard
Ta đặt tên cho database của chúng ta, phải nhớ là tên của database này phải trùng với tên database khi chúng ta backup .
Ta click phải database chọn all tasks->restore database…nếu như chúng ta đã từng backup trên chính máy này thì tự sql sẽ tìm thiết bị backup và đưa ra để cho chúng ta restore lại .
Nếu như chúng ta lấy file backup của chúng ta đi retore trên hệ thống sql khác thì chúng ta phải chọn mục from device để chỉ dẫn đến file backup mà ta sao chép đi .Sau cùng ta chọn OK để sql sẽ restore dữ liệu cho chúng ta
Restore bằng lệnh
Cú pháp:
RESTORE DATABASE ‘database_name’ FROM ‘backup_devicename’
Ví dụ:
RESTORE DATABASE BANSACHDTTP from bansach
TÌM HIỂU VỀ CRYSTAL REPORT
Tổng quan về Crystal Report
Đây là sản phẩm và kết quả đầu ra của một phần mềm. Dùng để hiển thị các thông tin theo ý muốn của mình. Với các chương trình, báo cáo có thể gồm các trường tính toán, các tổng số trung gian, các tổng số, các giá trị trung bình, và các giá trị khác được in ra từ dữ liệu. Crystal report là một công cụ hổ trợ giúp cho việc kết xuất dữ liệu dễ dàng, chính xác bảo đảm cho việc thống kê báo cáo.
Để hiển thị nhưng thông tin như trên chúng ta sử dụng bộ công cụ Crystal Report. Trong bộ Visual Studio.Net đã cung cấp sẵng Crystal Report dành cho .Net và các công cụ sử dụng rất dễ dàng cho việc thiết kế, cho phép nhóm các dữ liệu theo mong muốn cũng như hiển thị các thông tin kết nối từ CSDL trong các ứng dụng của ASP.NET.
Các đối tượng của Crystal Report
Crystal Reports viewer: hiển thị các report được xây dựng lên trên trang web.
Reportsource: gán report cho report viewer.
Databind: đối tượng dùng để hiển thị các report đã được load từ report source trên.
ReportDocument: là một instance dùng để lưu trữ report.
ReportDocment.load: load report lên reportdocument.
tbCurrent.LogOnInfo: gán các thông tin kết nối cho tất cả các bản sử dụng trong report.
severName: lấy tên của server
UserID: lấy username của đối tượng sử dụng.
Password: lấy password của đối tượng sử dụng.
DatabaseName: lấy dữ liệu từ SQL.
CrystalDecisions.Shared: là tập các đối tượng dùng để truyền tham số cho report.
Zoom(): đối tượng dùng để điều chỉnh kích thước của report.
TÀI LIỆU THAM KHẢO
Bí quyết và thủ thuật trong Visual Basic.Net (Nhà xuất bản Thống Kê)
Các chương trình mẫu .Net của Hồ Hoàng Triết
Bài tập và bài giải tham khảo SQL Server (Nhà xuất bản Thanh Niên)
Crystal Report
Các file đính kèm theo tài liệu này:
- 72012003-Quan-Ly-Mua-Ban-Va-Cho-Thue-Dia.doc