Quản lý việc mua bán và cho thuê đĩa

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.

doc107 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3395 | Lượt tải: 4download
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:

  • doc72012003-Quan-Ly-Mua-Ban-Va-Cho-Thue-Dia.doc