Xây dựng website bán đồ thể thao

51 5 0
Xây dựng website bán đồ thể thao

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Thiết kế website bán đồ thể thao chuyên nghiệp tích hợp nhiều tính năng hỗ trợ bán hàng, mang lại khả năng thống kê lượt truy cập, đơn hàng, các sản phẩm được tìm kiếm nhiều,.... Tiết kiệm chi phí đầu tư so với hình thức kinh doanh truyền thống: Kinh doanh truyền thống yêu cầu nhiều vốn cho các khoản: thuê mặt bằng, điện, nước, sửa chữa mặt bằng,... Với kinh doanh online, chỉ cần bỏ ra chi phí thiết kế, bảo trì web là đủ.

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA HỆ THỐNG THÔNG TIN - - ĐỀ TÀI : WEBSITE BÁN ĐỒ THỂ THAO NHẬN XÉT CỦA GIÁO VIÊN MỤC LỤC GIỚI THIỆU Phần 1: Tổng quan đề tài Chương : Phát biểu toán I Mô tả đề tài Khảo sát trạng II Nghiệp vụ quy trình 2 Hiện trạng tài nguyên III Phân tích yêu cầu Yêu cầu chức Yêu cầu phi chức Chương : Thiết kế liệu I Thiết kế mô hình quan hệ Lược đồ sở liệu Mơ hình quan hệ Bảng thuyết minh quan hệ thuộc tính II Nhân viên Khách hàng Loại khách hàng Sản phẩm Nhóm sản phẩm Dòng sản phẩm 7 Khuyến Đơn đặt hàng Chi tiết đơn hàng 10 Thông tin người nhận 11 Hóa đơn 12 Chi tiết hóa đơn III Mơ tả ràng buộc tồn vẹn 10 Phần : Các vấn đề nhận diện xử lý đồng thời 11 Chương : Transaction Lock 11 I Giao tác ( Transaction ) 11 Khái niệm 11 Các tính chất giao tác 11 Các lệnh T-SQL đặc trưng giao tác 11 Các vấn đề thường gặp xây dựng giao tác: 12 Lock xử lý đồng thời ( concurrency ) 13 II Những vấn đề xử lý đồng thời 13 Những loại tài nguyên khóa 14 Deadlock 15 Các phương thức khóa 16 Sử dụng phương thức khóa 18 Các mức cô lập ( Isolation level) 19 III Các bước xây dựng giao tác 21 IV Ví dụ minh họa so sánh mức cô lập 24 Ví dụ : So sánh mức lập READ UNCOMMITTED READ COMMITTED 24 Ví dụ : So sánh READ COMMITTED REPEATABLE READ 25 Ví dụ : So sánh REPEATABLE READ SERIALIZABLE 27 Chương : Liên kết ngơn ngữ lập trình JAVA SQL Server 2008 R2 – Lập trình giao tác 29 I Stored Procedure 29 II Java 29 Sơ lược JDBC 29 Transaction JDBC 30 Thực giao tác Java 32 Phần : Cài đặt ứng dụng minh họa 35 Sơ đồ logic 35 I II Các giao tác 35 Thao tác đặt hàng 35 a Các bước thực 35 b Vấn đề tranh chấp 36 c Hướng giải 36 d Cài đặt giao tác 36 Giao tác xử lý đơn hàng 40 a Các bước thực 40 b Vấn đề tranh chấp 41 c Hướng giải 41 d Cài đặt giao tác 41 Giao tác hủy đơn hàng 44 a Các bước thực 44 b Vấn đề tranh chấp 44 c Hướng giải 44 d Cài đặt giao tác 44 Tài liệu tham khảo 46 Báo cáo hệ quản trị sở liệu 2014 GIỚI THIỆU Từ có Internet phát triển mạnh mẽ công nghệ số làm cho sống người thay đổi, số lượng người sử dụng Internet phục vụ cho công việc giải trí ngày tăng lợi ích mà mang lại Có thể nói internet công cụ thiếu đời sống ngày Như biết Hoạt động kinh doanh hoạt động góp phần khơng nhỏ vào việc thúc đẩy phát triển kinh tế quốc gia Tuy nhiên việc kinh doanh sử dụng phương thức truyền thống người mua người bán trực tiếp gặp gỡ trao đổi với nhau, với phương thức việc tiêu tốn thời gian chi phí chắn cịn mức cao hiệu mà mang lại khơng thực tốt Để giải vấn đề nhóm chúng tơi nảy sinh ý tưởng xây dựng website :”Bán đồ thể thao” giúp cửa hàng tiếp cận lượng người dùng internet quan tâm đến đồ dùng thể thao từ giảm thiểu chi phí tăng lợi nhuận cho cửa hàng , website cịn giúp cửa hàng dễ dàng quản lý thơng tin hoạt động kinh doanh Khơng hỗ trợ tốt cho cửa hàng , người mua việc sử dụng máy tính có kết nối internet để mua hàng tiện lợi nhiều, việc mua hàng không thiết phải đến trực tiếp cửa hàng mua hàng mà nhà mua hàng Trang | Báo cáo hệ quản trị sở liệu 2014 Phần 1: Tổng quan đề tài Chương : Phát biểu tốn I Mơ tả đề tài Xây dựng website Bán đồ thể thao hỗ trợ việc kinh doanh đồ thể thao trực tuyến quản lý thông tin kinh doanh cửa hàng bán đồ thể thao Trúc Quỳnh  Đối với khách hàng  Khi khách hàng truy cập vào website muốn thực mua hàng phải thực đăng ký tài khoản tài khoản phía cửa hàng chấp nhận  Sau có tài khoản đăng ký website cửa hàng khách hàng thực chức sau : - Đăng nhập vào website - Quản lý thơng tin cá nhân - Tìm sản phẩm - Mua hàng  Đối với cửa hàng  Khi sử dụng website cửa hàng có loại Tài khoản để đăng nhập vào hệ thống : Một loại tài khoản dành cho Người quản trị tài khoản có quyền cao nhất, loại tài khoản cấp giao cho cửa hàng loại tài khoản thứ hai tài khoản dành cho nhân viên bán hàng, tài khoản người Quản trị tạo cấp cho nhân viên  Các chức dành cho cửa hàng : - Quản lý hàng hóa - Quản lý khách hàng - Quản lý User - Nhập hàng - Lập hóa đơn - Thống kê II Khảo sát trạng Nghiệp vụ quy trình  Đối với người quản lý cửa hàng thực chức quản trị cửa hàng : Sao lưu phục hồi liệu toàn hệ thống Quản lý nhân viên  Đối với nhân viên đăng nhập thành công vào hệ thống Hệ thống cho phép nhân viên cửa hàng thực chức quản lý mua bán cửa hàng : Quản lý khách hàng, thống kê hàng tồn, quản lý hàng hóa, lập hóa đơn bán hàng, thống kê doanh thu hàng tháng, Trang | Báo cáo hệ quản trị sở liệu 2014  Đối với khách hàng truy cập vào website hệ thống khơng u cầu đăng nhập cho phép khách hàng tra cứu thông tin hàng hóa bày bán cửa hàng Các thơng tin tra cứu gồm giá cả, hình ảnh minh họa hàng hóa, xuất xứ hàng hóa Chỉ khách hàng có nhu cầu đặt mua sản phẩm hệ thống yêu cầu khách hàng đăng nhập Ngoài để khuyến khích khách hàng mua hàng, cửa hàng có chương trình tặng thẻ thành viên cho khách hàng thường xuyên mua sắm cửa hàng Khách hàng tra cứu thơng tin điểm tích lũy, sửa thơng tin tài khoản, cấp độ thân thiết với cửa hàng hệ thống website, khách hàng thân thiết cửa hàng có dịp khuyến tùy theo mức độ thân thiết cửa hàng hưởng sách giảm giá mua hàng hàng Tuy nhiên sau tháng kể từ lần mua cuối mà khách hàng khơng mua cửa hàng hệ thống phải tự xóa khách hàng khỏi danh sách khách hàng thân thiết cửa hàng Hiện trạng tài ngun  Server có cấu hình cao, hỗ trợ đầy đủ dịch vụ cài đặt website hoạt động tốt  Đường truyền ADSL tốc độ cao  Nhân viên khách hàng có trình độ tin học A sử dụng máy tính thành thạo  Khách hàng có Máy tính kết nối internet sử dụng thành tạo máy tính III Phân tích yêu cầu Yêu cầu chức  Cung cấp chức quản lý cho chủ cửa hàng : Quản lý nhân viên, Quản lý liệu hệ thống  Cung cấp chức cho Khách hàng bao gồm : Đăng ký tài khoản, đăng nhập vào website, quản lý thơng tin cá nhân,tìm sản phẩm,mua hàng  Cung cấp chức quản lý bán hàng cho Nhân viên bao gồm : Quản lý hàng hóa, Quản lý khách hàng, Nhập hàng, Lập hóa đơn, Thống kê Yêu cầu phi chức  Triển khai hệ thống dạng website  Giao diện quản lý gần gũi thân thiện, dễ sử dụng  Giao diện cho khách hàng thân thiện, sinh động có tính tương tác cao  Đảm bảo thơng tin hệ thống bảo mật không bị mát xảy cố Trang | Báo cáo hệ quản trị sở liệu 2014 Chương : Thiết kế liệu I Thiết kế mơ hình quan hệ Lược đồ sở liệu  NHANVIEN ( MANV, HOTENNV, NGAYSINHNV, GIOITINHNV, DIACHINV, SODTNV, TENDNNV, MATKHAUNV )  KHACHHANG ( MAKH, MALOAIKH, TENKH, GIOITINHKH, DIACHIKH, SODTKH, TENDNKH, MATKHAUKH, DIEMMUAHANG, TRANGTHAI, NGAYSINHKH, EMAILKH )  LOAIKHACHHANG ( MALOAIKH, TENLOAIKH, GHICHU )  SANPHAM ( MASP, MANHOMSP, TENSP, GIASP, XUATXU, DONVITINH, HINHANH, SOLUONG )  NHOMSANPHAM ( MANHOMSP, MADONGSP, TENNHOMSP, GHICHUSP )  DONGSANPHAM (MADONGSP, TENDONGSP, GHICHU)  KHUYENMAI ( MAKH, MASP, NGAYBATDAU, NGAYKETTHUC, GIAKM )  DONDATHANG ( MADH, MAKH, NGAYDH, TINHTRANG, TONGTIEN)  CT_DONHANG ( MADH, MASP, SOLUONG, THANHTIEN)  THONGTINNGUOINHAN ( ID, HOTEN, DIACHI, DIENTHOAI, PHUONGTHUCGIAOHANG, HINHTHUCTHANHTOAN, YEUCAUKHAC, MADH )  HOADON ( MAHD, MANV, NGAYHD, TONGTIENHD, MAKH )  CT_HOADON (MAHD, MASP, SOLUONG, THANHTIEN ) Trang | Báo cáo hệ quản trị sở liệu 2014 Mơ hình quan hệ II Bảng thuyết minh quan hệ thuộc tính Bảng mơ tả thuộc tính quan hệ có lược đồ sở liệu Nhân viên STT Thuộc tính Kiểu liệu Ý nghĩa MANV VARCHAR HOTENNV NVARCHAR Mã nhân viên ( Là khóa quan hệ ) Họ tên nhân viên NGAYSINHNV DATETIME Ngày sinh nhân viên GIOITINHNV CHAR Giới tính nhân viên DIACHINV NVARCHAR Địa nhân viên SODTNV VARCHAR Số điện thoại nhân viên TENDNNV VARCHAR Tên đăng nhập nhân viên MATKHAUNV VARCHAR Trang | Mật nhân viên Báo cáo hệ quản trị sở liệu 2014  Để lưu lại vị trí giao tác hồn thành xong câu lệnh nhóm câu lệnh mà khơng liên quan đến câu lệnh phía sau Java cung cấp cho ta phương thức setSavepoint() đối tượng Connection Để đánh dấu vị trí giao tác ta thực Savepoint sp1=cnn.setSavepoint() (cnn đối tượng Connection )  Để rollback tới Savepoint1 ta thực cnn.rollback(Savepoint1) Thực giao tác Java Việc thực giao tác ngơn ngữ lập trình Java thực cách xây dựng giao tác dạng Stored Procedure SQL Server , Java việc truyền tham số cho Stored Procedure ( có) gọi Stored Procedure thực thi thông qua đối tượng CallableStatement Hoặc xây dựng giao tác thực thi Java a Thực thi giao tác thông qua Stored Procedure  Việc thực thi Stored Procedure Java thông qua đối tượng CallableStatement JDBC  Ví dụ : Giao tác thực thêm SANPHAM Bước : Thực kết nối Connection cnn=DriverManager.getConnection(“jdbc:sqlserver://localhost:1433;dat abaseName=WEBBANHANG;useUnicode=true;characterEncoding=UTF-8”) Bước 2: Gọi Stored Procedure CallableStatement cs=cnn.prepareCall(“{ call sp_Them_SANPHAM(?,?,?,?,?,?,?,?,?)}”) Bước 3: Truyền tham số cho Stored Procedure cs.setString(1, sanpham_obj.getMaSP()); cs.setString(2, sanpham_obj.getMaNhomSP()); cs.setString(3, sanpham_obj.getTenSP()); cs.setInt(4, sanpham_obj.getGiaSp()); cs.setString(5,sanpham_obj.getMotaSP()); cs.setString(6, sanpham_obj.getXuatxu()); cs.setString(7, sanpham_obj.getDonvitinh()); cs.setString(8, sanpham_obj.getHinhanh()); Trang | 32 Báo cáo hệ quản trị sở liệu 2014 cs.setInt(9, sanpham_obj.getSoluong()); Bước 4: Thực thi giao tác cs.executeUpdate(); b Xây dựng thực thi giao tác JDBC  Để xây dựng giao tác JDBC ta sử dụng công cụ mà Java hỗ trợ kết hợp với câu lệnh SQL viết Java xây dựng dạng Stored Procedure ( Chỉ chứa câu lệnh SQL INSERT, DELETE, UPDATE )  Ví dụ xây dựng giao tác Đặt hàng  Bước 1: Kết nối tới SQL Server Connection cnn=DriverManager.getConnection(“jdbc:sqlserver://localhost:14 33;databaseName=WEBBANHANG;useUnicode=true;characterEncoding=U TF-8”)  Bước 2: Vơ hiệu hóa chế độ auto-comit thiết lập mức cô lập try { CallableStatement cs=null; cnn.setAutoCommit(false);//Tắt chế độ auto-commit cnn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABL E);//Thiết lập mức cô lập SERIALIZABLE  Bước 3: Gọi Stored Procedure thực thi câu lệnh Thêm thông tin Đơn hàng //Thêm thông tin đơn hàng Chi tiết đơn hàng cs=cnn.prepareCall("{ call sp_themDonhang(?,?,?)}"); cs.setString(1, MaDH); cs.setString(2, khachhang.getMaKH()); cs.setInt(3, giohang.Tongtien()); cs.executeUpdate(); cs=null; //Thêm chi tiết đơn hàng for(int i=0;imax) max=matam; } max=max+1000001; MaDH="DH"+Integer.toString(max).substring(1); } catch (NumberFormatException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } else Trang | 38 Báo cáo hệ quản trị sở liệu 2014 { MaDH="DH000001"; } return MaDH; }  Thực giao tác String MaDH=""; CallableStatement cs=null; try { //Tắt chế độ auto-commit, bắt đầu giao tác JDBC cnn.setAutoCommit(false); //Gọi hàm Tạo mã đơn hàng MaDH=TaomaDONHANG(); // đối tượng Thongtin truyền vào cịn thiếu thuộc tính MaDh thongtin.setMaDH(MaDH); //Thêm thơng tin đơn hàng Chi tiết đơn hàng //Gọi thực thi Stored Procedure từ CSDL cs=cnn.prepareCall("{ call sp_themDonhang(?,?,?)}"); cs.setString(1, MaDH); cs.setString(2, khachhang.getMaKH()); cs.setInt(3, giohang.Tongtien()); cs.executeUpdate(); cs=null; //Thêm chi tiết đơn hàng for(int i=0;i=500000) NEU TIEN DON HANG LON HON HOAC BANG 500K BEGIN NEU CHUA PHAI KHACH HANG VIP THI SET KHACH HANG LEN KH THAN THIET IF(@LOAIKH'LKH03') BEGIN UPDATE KHACHHANG SET MALOAIKH='LKH02' WHERE MAKH=@MAKH IF(@@ERROR0) BEGIN ROLLBACK TRAN RETURN END END END CONG THEM DIEM MUA HANG CHO KHACH HANG MOI LAN MUA HANG UPDATE KHACHHANG SET DIEMMUAHANG=DIEMMUAHANG+10 WHERE MAKH=@MAKH IF(@@ERROR0) BEGIN ROLLBACK TRAN RETURN END KIEM TRA DIEM MUA HANG CUA KHACH HANG,NEU >=200 THI DUA KHACH HANG LEN LOAI VIP IF((SELECT DIEMMUAHANG FROM KHACHHANG WHERE MAKH=@MAKH)>=200) BEGIN UPDATE KHACHHANG SET MALOAIKH='LKH03' WHERE MAKH=@MAKH IF(@@ERROR0) BEGIN ROLLBACK TRAN RETURN END END -SET @CTDH=CURSOR FOR(SELECT MASP,SOLUONG,THANHTIEN FROM CT_DONHANG WHERE MADH=@MADH) OPEN @CTDH FETCH NEXT FROM @CTDH INTO @MASP,@SOLUONG,@THANHTIEN BAT DAU CHUYEN TUNG DONG TREN CT_DONHANG QUA BANG CT_HOADON Trang | 42 Báo cáo hệ quản trị sở liệu 2014 WHILE @@FETCH_STATUS=0 BEGIN THEM TUNG DONG VAO CT_HOADON INSERT INTO CT_HOADON VALUES(@MAHD,@MASP,@SOLUONG,@THANHTIEN) IF(@@ERROR0) BEGIN ROLLBACK TRAN RETURN END BEGIN TRAN THIET LAP MUC CO LAP SET TRAN ISOLATION LEVEL READ COMMITTED CAP NHAT LAI SO LUONG SANPHAM UPDATE SANPHAM SET SOLUONG=SOLUONG-@SOLUONG WHERE MASP=@MASP IF(@@ERROR0) BEGIN ROLLBACK TRAN RETURN END COMMIT TRAN FETCH NEXT FROM @CTDH INTO @MASP,@SOLUONG,@THANHTIEN END CAP NHAT LAI TINH TRANG DON HANG UPDATE DONDATHANG SET TINHTRANG=1 WHERE MADH=@MADH IF(@@ERROR0) BEGIN ROLLBACK TRAN RETURN END END ELSE BEGIN ROLLBACK TRAN RETURN END COMMIT TRAN END  Bước 2: Gọi thực thi giao tác Java  Kết nối tới SQL SERVER Connection cnn=DriverManager.getConnection(“jdbc:sqlserver://localhost:1433;databas eName=WEBBANHANG;useUnicode=true;characterEncoding=UTF-8”)  Thực thi giao tác CallableStatement cs=null; try { //Gọi thực thi Giao tác cs=cnn.prepareCall("{ call sp_Xuly_DONHANG(?,?)}"); //Truyền tham số cho Giao tác cs.setString(1, MaDH); cs.setString(2, MaNV); cs.executeUpdate(); Trang | 43 Báo cáo hệ quản trị sở liệu 2014 } catch (SQLException e) { e.printStackTrace(); } Giao tác hủy đơn hàng a Các bước thực [1] Kiểm tra xem đơn hàng có tồn hay không Nếu không RETURN kết thúc [2] Ngược lại [2.1] Kiểm tra xem đơn hàng xử lý hay chưa Nếu RETURN kết thúc [2.2] Ngược lại [2.2.1] Xóa bỏ thơng tin người nhận đơn hàng bảng THONGTINNGUOINHAN [2.2.2] Xóa bỏ chi tiết đơn hàng đơn hàng muốn hủy bảng CT_DONHANG [2.2.3] Xóa bỏ đơn hàng khỏi bảng DONDATHANG b Vấn đề tranh chấp Tại thời điểm có nhân viên NV1 NV2 NV1 thực hủy đơn hàng NV2 thực xử lý đơn hàng gây xung đột c Hướng giải  Khi thực hủy đơn hàng ngăn chặn giao tác khác truy cập tới bảng liên quan  Với giao tác ta xây dựng dạng Stored Procedure gọi thực thi từ môi trường JAVA  Đối với giao tác ta ngăn chặn giao tác khác thực xử lý đơn hàng không ngăn chặn việc đặt hàng giao tác khác ta sử dụng mức cô lập REPEATABLE READ d Cài đặt giao tác  Bước 1: Xây dựng giao tác dạng Stored Procedure CREATE PROC sp_Huy_DONHANG @MADH VARCHAR(8) AS IF NOT EXISTS (SELECT * FROM DONDATHANG WHERE MADH=@MADH) BEGIN RETURN Trang | 44 Báo cáo hệ quản trị sở liệu 2014 END ELSE BEGIN BEGIN TRAN SET TRAN ISOLATION LEVEL REPEATABLE READ IF (SELECT TINHTRANG FROM DONDATHANG WHERE MADH=@MADH)=1 BEGIN ROLLBACK TRAN RETURN END ELSE BEGIN DELETE FROM THONGTINNGUOINHAN WHERE MADH=@MADH IF (@@ERROR0) BEGIN ROLLBACK TRAN RETURN END DELETE FROM CT_DONHANG WHERE MADH=@MADH IF (@@ERROR0) BEGIN ROLLBACK TRAN RETURN END DELETE FROM DONDATHANG WHERE MADH=@MADH IF(@@ERROR0) BEGIN ROLLBACK TRAN RETURN END END COMMIT TRAN END  Bước 2: Gọi thực thi giao tác  Kết nối tới SQL Server Connection cnn=DriverManager.getConnection(“jdbc:sqlserver://localhost:1433;dat abaseName=WEBBANHANG;useUnicode=true;characterEncoding=UTF-8”)  Thực thi giao tác CallableStatement cs=null; try { cs=cnn.prepareCall("{ call sp_Huy_DONHANG(?)}"); //Truyền tham số cho giao tác cs.setString(1, MaDH); cs.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } Trang | 45 Báo cáo hệ quản trị sở liệu 2014 Tài liệu tham khảo  Giáo trình Hệ Quản Trị Cơ Sở Dữ Liệu , ThS Đỗ Thị Minh Phụng , Khoa Hệ Thống Thông Tin , ĐH Công Nghệ Thông Tin  msdn.microsoft.com , chuyên trang SQL Server Trang | 46

Ngày đăng: 29/12/2023, 06:24

Tài liệu cùng người dùng

Tài liệu liên quan