Khi Công nghệ Thông tin phát triển thì máy tính điện tử đã trở thành một công cụ làm việc thông dụng của con người ở nhiều lĩnh vực như: y tế, giáo dục, kinh tế, mua bán trực tuyến, … Hiện nay, các Công ty hàng đầu trên Thế giới không ngừng đầu tư và cải thiện các giải pháp cũng như các sản phẩm nhằm cho phép tiến hành thương mại hóa trên Internet. Thông qua các sản phẩm và công nghệ này, chúng ta dễ dàng nhận ra tầm quan trọng và tất yếu của thương mại điện tử. Khi kết nối Internet bạn chỉ cần vào các trang dịch vụ làm theo hướng dẫn và chọn những gì bạn cần. Các nhà dịch vụ sẽ mang đến tận nhà cho bạn. Việt Nam có rất nhiều doanh nghiệp đang tiến hành thương mại hóa trên Internet nhưng do những khó khăn về cơ sở hạ tầng như viễn thông chưa phát triển mạnh, các dịch vụ chỉ dừng lại ở mức giới thiệu sản phẩm thông qua Website. Nắm bắt được nhu cầu đó tôi đã tìm hiểu và thực hiện đề tài “Xây dựng Website bán sản phẩm phần mềm theo đặc thù cá nhân”. Với mục đích giới thiệu đến người dùng các sản phẩm phần mềm hiện đại, tiên tiến, gần gũi, dễ sử dụng, giúp cho những nhà quản lý có thể kiểm soát được quá trình bán phần mềm bản quyền cũng như quá trình sử dụng sản phẩm của khách hàng. Ngoài ra, Website còn giúp cho người dùng tiếp cận gần hơn với thương mại điện tử.
Trang 1LỜI MỞ ĐẦU
Khi Công nghệ Thông tin phát triển thì máy tính điện tử đã trở thành mộtcông cụ làm việc thông dụng của con người ở nhiều lĩnh vực như: y tế, giáo dục,kinh tế, mua bán trực tuyến, …
Hiện nay, các Công ty hàng đầu trên Thế giới không ngừng đầu tư và cảithiện các giải pháp cũng như các sản phẩm nhằm cho phép tiến hành thương mạihóa trên Internet Thông qua các sản phẩm và công nghệ này, chúng ta dễ dàngnhận ra tầm quan trọng và tất yếu của thương mại điện tử Khi kết nối Internet bạnchỉ cần vào các trang dịch vụ làm theo hướng dẫn và chọn những gì bạn cần Cácnhà dịch vụ sẽ mang đến tận nhà cho bạn
Việt Nam có rất nhiều doanh nghiệp đang tiến hành thương mại hóa trênInternet nhưng do những khó khăn về cơ sở hạ tầng như viễn thông chưa phát triểnmạnh, các dịch vụ chỉ dừng lại ở mức giới thiệu sản phẩm thông qua Website
Nắm bắt được nhu cầu đó tôi đã tìm hiểu và thực hiện đề tài “Xây dựng Website bán sản phẩm phần mềm theo đặc thù cá nhân” Với mục đích giới
thiệu đến người dùng các sản phẩm phần mềm hiện đại, tiên tiến, gần gũi, dễ sửdụng, giúp cho những nhà quản lý có thể kiểm soát được quá trình bán phần mềmbản quyền cũng như quá trình sử dụng sản phẩm của khách hàng Ngoài ra, Websitecòn giúp cho người dùng tiếp cận gần hơn với thương mại điện tử
Trang 2LỜI CẢM ƠN
Qua bốn năm Đại học, tôi đã tiếp thu và nắm được những kiến thức do Thầy,
Cô truyền đạt qua tất cả các môn trong chương trình học của mình
Nhờ lý do trên tôi đã quyết định chọn thực hiện khóa luận tốt nghiệp để ra
trường Đề tài tôi chọn là “Xây dựng Website bán sản phẩm phần mềm theo đặc thù cá nhân” với thông điệp “Thương mại điện tử là bạn của mọi nhà”
Để hoàn thành tốt khóa luận tốt nghiệp này, tôi xin chân thành gửi lời cảm
ơn đến Thầy Ngô Thanh Huy và Cô Nguyễn Ngọc Đan Thanh đã tận tình hướngdẫn, giúp đỡ, góp ý để đề tài của tôi được hoàn thiện Bên cạnh đó, tôi cũng gửi lờicảm ơn đến tất cả Thầy, Cô đã hướng dẫn trong những ngày đầu tôi bước chân vàogiảng đường Đại học đến khi tôi hoàn thành khóa học Ngành Công nghệ Thông tin
Tuy đã cố gắng tìm hiểu, học hỏi từ Thầy, Cô và bạn bè, … để thực hiện đềtài tốt hơn nhưng chắc rằng không tránh khỏi những thiếu sót Tôi rất mong nhậnđược sự thông cảm và góp ý của quý Thầy, Cô
Xin chân thành cảm ơn !
Sinh viên thực hiện
Hồ Minh Hải
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
……….….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
Trà Vinh, ngày tháng năm 2012
Giảng viên hướng dẫn (Ký và ghi rõ họ tên)
Trang 4NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
………
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
Trà Vinh, ngày tháng năm 2012
Giảng viên hướng dẫn (Ký và ghi rõ họ tên)
Trang 5NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
……….…….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
Trà Vinh, ngày tháng năm 2012
Giảng viên phản biện (Ký và ghi rõ họ tên)
Trang 6MỤC LỤC
Chương 1 1
ĐẶT VẤN ĐỀ 1
1.1 Lý do chọn đề tài 1
1.2 Phạm vi của đề tài 1
1.3 Mục tiêu của đề tài 1
1.4 Chức năng của đề tài 2
1.5 Các bước thực hiện 3
Chương 2 4
CƠ SỞ LÝ THUYẾT 4
2.1 Khái quát môi trường lập trình Visual Studio NET 2008 4
2.1.1 Giới thiệu ngôn ngữ ASP.NET 4
2.1.2 Các thành phần của ASP.NET 4
2.1.3 Ưu điểm của ASP.NET 4
2.2 Một số khái niệm cơ bản về CSDL và ngôn ngữ truy vấn SQL 5
2.2.1 Lịch sử phát triển của SQL Server 5
2.2.2 Các tính năng mới của SQL Server 2005 so với SQL Server 2000 6
2.2.3 Các ấn bản của SQL Server 2005 6
2.2.4 Hệ quản trị CSDL 6
2.2.5 Ngôn ngữ truy vấn CSDL SQL 7
Chương 3 10
PHÂN TÍCH – THIẾT KẾ HỆ THỐNG 10
3.1 Yêu cầu chức năng 10
3.1.1 Yêu cầu lưu trữ 10
3.1.2 Yêu cầu tra cứu 10
3.1.3 Yêu cầu tính toán 10
3.1.4 Yêu cầu kết xuất 10
3.2 Yêu cầu phi chức năng 11
3.3 Thiết kế dữ liệu 12
3.3.1 Mô hình thực thể kết hợp (ERD) 12
Trang 73.3.3 Ràng buộc toàn vẹn 41
3.4 Thiết kế xử lý 51
3.4.1 Mô hình Use Case 51
3.4.2 Mô tả Use Case 52
3.5 Thiết kế giao diện 55
3.5.1 Thiết kế hệ thống thực đơn 55
3.5.2 Thiết kế màn hình 56
Chương 4 68
CÀI ĐẶT – THỬ NGHIỆM 68
4.1 Các bước chuẩn bị 68
4.2 Dữ liệu thử nghiệm 68
4.3 Một số kết quả thử nghiệm 69
Chương 5 74
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 74
5.1 Kết luận 74
5.1.1 Kết quả đạt được 74
5.1.2 Hạn chế 75
5.2 Hướng phát triển 75
DANH MỤC TÀI LIỆU THAM KHẢO 76
Trang 8DANH MỤC CÁC HÌNH
Hình 3.1 Mô hình ERD 12
Hình 3.2 Mô hình vật lý 28
Hình 3.3 Mô hình Use Case 51
Hình 3.4 Trang chủ khách hàng 58
Hình 3.5 Trang đặt mua sản phẩm 60
Hình 3.6 Trang giỏ hàng 60
Hình 3.7 Trang thông tin thiết bị 61
Hình 3.8 Trang cập nhật thiết bị 61
Hình 3.9 Trang tải sản phẩm về máy 62
Hình 3.10 Trang kết quả tìm kiếm 62
Hình 3.11 Trang chủ quản trị 63
Hình 3.12 Trang quản lý sản phẩm 63
Hình 3.13 Trang quản lý hóa đơn 64
Hình 3.14 Trang chi tiết hóa đơn 64
Hình 3.15 Trang tải sản phẩm lên 65
Hình 3.16 Trang danh sách khách hàng 65
Hình 3.17 Trang quản lý nhà cung cấp 66
Hình 3.18 Trang quản lý tin tức 67
Hình 4.1 Khung đăng ký thành viên 69
Hình 4.2 Thông báo yêu cầu kích hoạt tài khoản 69
Hình 4.3 Khung kích hoạt tài khoản 70
Hình 4.4 Khung thông báo kích hoạt tài khoản thành công 70
Hình 4.5 Kết quả tìm kiếm theo tên sản phẩm 71
Hình 4.6 Khung nhập thông tin để lấy lại mật khẩu 71
Hình 4.7 Khung thông báo đã gửi mật khẩu mới 72
Hình 4.8 Khung hiển thị mật khẩu mới 72
Hình 4.9 Trang thêm sản phẩm 73
Hình 4.10 Trang thêm mới tin tức 73
Trang 9DANH MỤC CÁC BẢNG
Bảng 3.1 Danh sách các thực thể có kết hợp 13
Bảng 3.2 Danh sách các thực thể độc lập 14
Bảng 3.3 Danh sách các mối kết hợp 16
Bảng 3.4 Mô tả thực thể tblSanPham 18
Bảng 3.5 Mô tả thực thể tblNhaCungCap 18
Bảng 3.6 Mô tả thực thể tblThongTinDacThu 19
Bảng 3.7 Mô tả thực thể tblGioHang 20
Bảng 3.8 Mô tả thực thể tblThietBi 21
Bảng 3.9 Mô tả thực thể tblKhachHang 22
Bảng 3.10 Mô tả thực thể tblDonHang 23
Bảng 3.11 Mô tả thực thể TB_ThongKe 23
Bảng 3.12 Mô tả thực thể tblBanNer 24
Bảng 3.13 Mô tả thực thể tblDanhMuc 24
Bảng 3.14 Mô tả thực thể tblNhanVien 25
Bảng 3.15 Mô tả thực thể tblTinTuc 25
Bảng 3.16 Danh sách các bảng có quan hệ 30
Bảng 3.17 Danh sách các bảng độc lập 31
Bảng 3.18 Mô tả bảng tblSanPham 33
Bảng 3.19 Mô tả bảng tblNhaCungCap 33
Bảng 3.20 Mô tả bảng tblThongTinDacThu 34
Bảng 3.21 Mô tả bảng tblGioHang 35
Bảng 3.22 Mô tả bảng tblThietBi 36
Bảng 3.23 Mô tả bảng tblKhachHang 37
Bảng 3.24 Mô tả bảng tblDonHang 38
Bảng 3.25 Mô tả bảng Thuoc_gh 38
Bảng 3.26 Mô tả bảng TB_ThongKe 39
Bảng 3.27 Mô tả bảng tblBanNer 39
Bảng 3.28 Mô tả bảng tblDanhMuc 40
Bảng 3.29 Mô tả bảng tblNhanVien 40
Trang 10Bảng 3.30 Mô tả bảng tblTinTuc 41
Bảng 3.31 Ràng buộc trên bảng tblSanPham với DanhMucCha 41
Bảng 3.32 Ràng buộc trên bảng tblSanPham với DanhMucCon 42
Bảng 3.33 Ràng buộc trên bảng tblSanPham với LoaiMay 42
Bảng 3.34 Ràng buộc trên bảng tblThongTinDacThu với TrangThai 43
Bảng 3.35 Ràng buộc trên bảng tblThongTinDacThu với ThongTinSuDung 43
Bảng 3.36 Ràng buộc trên bảng tblThietBi với LoaiMay 44
Bảng 3.37 Ràng buộc trên bảng tblThietBi với SuDung 44
Bảng 3.38 Ràng buộc trên bảng tblKhachHang với Email 45
Bảng 3.39 Ràng buộc trên bảng tblKhachHang với TenDangNhap 45
Bảng 3.40 Ràng buộc trên bảng tblKhachHang với KichHoat 46
Bảng 3.41 Ràng buộc trên bảng tblDonHang với TrangThai 46
Bảng 3.42 Ràng buộc trên bảng tblDonHang với XacNhanTT 47
Bảng 3.43 Ràng buộc trên bảng tblNhanVien với TenDangNhap 47
Bảng 3.44 Ràng buộc trên bảng tblNhaCungCap và bảng tblSanPham 48
Bảng 3.45 Ràng buộc trên bảng tblThongTinDacThu và bảng tblSanPham 48
Bảng 3.46 Ràng buộc trên bảng tblThongTinDacThu và bảng tblDonHang 49
Bảng 3.47 Ràng buộc trên bảng tblKhachHang và bảng tblDonHang 49
Bảng 3.48 Ràng buộc trên bảng tblGioHang và bảng tblKhachHang 50
Bảng 3.49 Ràng buộc trên bảng tblThietBi và bảng tblKhachHang 50
Trang 11KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
1 ASP.NET Active Server Page: Ngôn ngữ viết Web
Server
2 WTO World Trade Organization: Tổ chức Thương
mại Thế giới
4 HQTCSDL Hệ quản trị cơ sở dữ liệu
5 TMDT Thương mại điện tử
6 IDE Integrated Development Environment: Môi
trường phát triển tích hợp
7 RBTV Ràng buộc toàn vẹn
8 SQL Structured Query Language: Ngôn ngữ truy
vấn cấu trúc - kết nối đến cơ sở dữ liệu
9 IIS Internet Infomation Services: Các dịch vụ
cung cấp thông tin Internet
10 HTTP HyperText Transfer Protocol: Giao thức
truyền tải siêu văn bản
11 SEO Search Engine Optimization: Tối ưu hóa công
cụ tìm kiếm
12 CSS Cascading Style Sheets: Tập tin định kiểu
theo tầng
14 FK Foreign Key: Khóa ngoại
Trang 1215 HTML HyperText Markup Language: Ngôn ngữ
đánh dấu siêu văn bản
Trang 13Chương 1 ĐẶT VẤN ĐỀ 1.1 Lý do chọn đề tài
Ngày nay, hiệu quả của việc ứng dụng thương mại điện tử trong doanhnghiệp là rất rõ ràng và xu hướng ấy ngày càng tăng Như vậy, có thể thấy rằng cácdoanh nghiệp bây giờ rất quan tâm tới việc ứng dụng thương mại điện tử, đặc biệt làtrong bối cảnh kinh doanh hiện tại rất khó khăn và nhiều sự cạnh tranh
Vì vậy, doanh nghiệp rất cần các công cụ, phương thức mới để làm sao cóthể tồn tại trong môi trường cạnh tranh khốc liệt hiện nay Và để tiếp tục duy trìhoạt động và mục tiêu kinh doanh của mình thì thương mại điện tử là một phươngthức mới Có thể là doanh nghiệp chưa thấy cái hiệu quả ngay nhưng mà chỉ trongvòng một vài năm nữa, trong tương lai gần, họ sẽ thấy được cái lợi thế của thương
mại điện tử Xuất phát từ những thực tế trên, đề tài “Xây dựng Website bán sản phẩm phần mềm theo đặc thù cá nhân” được tôi chọn làm khóa luận tốt nghiệp 1.2 Phạm vi của đề tài
“Xây dựng Website bán sản phẩm phần mềm theo đặc thù cá nhân”
nhằm phục vụ cho doanh nghiệp có thể bán và khách hàng có thể mua những phầnmềm mà mình quan tâm
1.3 Mục tiêu của đề tài
Đề tài “Xây dựng Website bán sản phẩm phần mềm theo đặc thù cá nhân” phải bán và giao được sản phẩm phần mềm trực tuyến cho khách hàng Tùy
theo nhu cầu mà khách hàng có thể mua phần mềm cho một hay nhiều máy vàdoanh nghiệp bán được phần mềm của mình theo thông tin đặc thù của thiết bị màkhách hàng khai báo để sử dụng phần mềm, qua đó đảm bảo được tính bản quyềncủa phần mềm
Trang 141.4 Chức năng của đề tài
Trang Web phải xây dựng được các chức năng sau:
Chức năng cho người dùng:
Chức năng xem danh sách các sản phẩm
Chức năng xem chi tiết sản phẩm
Chức năng đăng ký, đăng nhập
Chức năng đổi, lấy lại mật khẩu
Chức năng đặt hàng
Chức năng tải sản phẩm về
Chức năng quản lý chi tiết khách hàng, chi tiết mua hàng
Chức năng yêu cầu cập nhật sản phẩm
Chức năng tìm kiếm thông tin sản phẩm theo tên, theo nhà cung cấp
Chức năng xem lịch sử mua hàng của khách hàng
Chức năng xem tin tức
Chức năng khai báo, cập nhật thiết bị
Chức năng cho quản trị viên:
Chức năng quản lý sản phẩm, chi tiết sản phẩm
Chức năng quản lý khách hàng, chi tiết khách hàng
Chức năng quản lý chi tiết mua hàng
Chức năng tải sản phẩm lên
Chức năng quản lý tin tức
Chức năng quản lý nhà cung cấp
Trang 151.5 Các bước thực hiện
Tìm hiểu, quan sát khách hàng về nhu cầu mua bán phần mềm trực tuyến
Phân tích và thiết kế hệ thống thông tin
Nghiên cứu việc sử dụng SQL Server 2005 để xây dựng cơ sở dữ liệu
Nghiên cứu công cụ thiết kế và lập trình Web là Visual Studio 2008
và viết bằng ngôn ngữ C#
Trang 16Chương 2
CƠ SỞ LÝ THUYẾT 2.1 Khái quát môi trường lập trình Visual Studio NET 2008
Trong môi trường Visual Studio NET 2008, IDE cung cấp nhiều tiện ích hỗtrợ cho người phát triển như: hỗ trợ phần soạn thảo mã nguồn (canh lề, màu sắc, ),tích hợp các tập tin trợ giúp, các đặc tính (Intellisense), gỡ rối (Debug) và một sốcông cụ trợ giúp khác giúp phát triển các chương trình ứng dụng Môi trường lậptrình Visual Studio.NET trình bày nhiều cửa sổ mới, nhiều cách mới để quản lý cáccửa sổ đó cùng các nội dung tích hợp với Internet
2.1.1 Giới thiệu ngôn ngữ ASP.NET
ASP.NET là công nghệ nền tảng để lập trình viên có thể tạo ra các ứng dụng
và các dịch vụ Web để thực thi dưới IIS Nó là sản phẩm của Microsoft, được tíchhợp chặt chẽ với hệ thống phần mềm của Microsoft từ hệ điều hành, Web Serverđến công cụ lập trình, kỹ thuật truy cập dữ liệu và các công cụ bảo mật dữ liệu.ASP.NET là một thành phần của NET Framework
2.1.3 Ưu điểm của ASP.NET
Tích hợp với hệ điều hành Windows và các công cụ lập trình trong môitrường NET
Các thành phần thực thi của ứng dụng Web được biên dịch để chúng thực thinhanh hơn các ngôn ngữ thông dịch khác
Trang 17Việc cập nhật, triển khai các ứng dụng Web có thể thực thi liên tục mà khôngcần phải khởi động lại Server.
Được hỗ trợ bởi các ngôn ngữ lập trình hướng đối tượng
Quản lý các điều khiển một cách tự động trên trang Web (còn gọi các điềukhiển Server)
Có khả năng tạo mới các điều khiển Server dựa trên các điều khiển đã có
Sử dụng các công cụ bảo mật có sẵn và các phương thức xác nhận, cấp phépkhác
Tích hợp với ADO.NET để cung cấp việc truy cập cơ sở dữ liệu và các công
cụ thiết kế cơ sở dữ liệu từ Visual Studio NET
Hỗ trợ đầy đủ các ngôn ngữ Extensible Markup Language (XML), CSS, vàthiết lập các tiêu chuẩn Web
Các tính năng tạo bộ nhớ đệm cho trang Web, bản đồ hóa nội dung được tíchhợp sẵn trên Server
2.2 Một số khái niệm cơ bản về CSDL và ngôn ngữ truy vấn SQL
2.2.1 Lịch sử phát triển của SQL Server
Năm 1989, Microsoft hợp tác với công ty Sybase và Ashton-Tate để cho ramột sản phẩm thuộc loại hệ quản trị cơ sở dữ liệu có tên là SQL Server 1.0 forOS/2 Sau đó một thời gian, Sybase SQL Server 3.0 được phát triển để thực thi trênmôi trường hệ điều hành UNIX và VMS Microsoft SQL Server 4.2 được giới thiệunăm 1992 Và sau đó, Microsoft SQL Server 4.21 for Windows NT được ra đờicùng thời gian với Windows NT 3.1 Microsoft SQL Server 6.0 là phiên bản đầutiên mà Microsoft phát triển độc lập không có sự hợp tác với các hãng khác
Các phiên bản SQL Server tiếp theo là: 6.5, 7.0, 2000, 2005, 2008 và mớinhất là SQL Server 2012
Trang 182.2.2 Các tính năng mới của SQL Server 2005 so với SQL Server 2000
Nâng cao tính bảo mật
Mở rộng T_SQL
Tăng cường hỗ trợ người phát triển ứng dụng
Tăng cường khả năng quản trị cơ sở dữ liệu
Tăng cường khai thác thông tin
Nâng cao độ sẵn sàng và mở rộng của cơ sở dữ liệu
2.2.3 Các ấn bản của SQL Server 2005
Microsoft SQL Server 2005 Enterprise Edition
Microsoft SQL Server 2005 Standard Edition
Microsoft SQL Server 2005 Workgroup Edition
Microsoft SQL Server 2005 Developer Edition
Microsoft SQL Server 2005 Express Edition
2.2.4 Hệ quản trị CSDL
Hệ quản trị CSDL là chương trình dùng để quản lý một CSDL nào đó Chẳnghạn như chương trình MySQL là một hệ quản trị CSDL để quản lý CSDL MySQL.Thông thường thì tên của hệ quản trị CSDL gắn liền với tên của loại CSDL
Ví dụ: CSDL Access <=> Hệ quản trị CSDL Access, CSDL MySQL <=> Hệquản trị CSDL MySQL, CSDL Oracle <=> Hệ quản trị CSDL Oracle
Trong trường hợp này thì người ta thường nhầm lẫn giữa khái niệm CSDL vàcấu trúc (dạng nhị phân) của một CSDL do hệ quản trị CSDL quy định
Người ta gọi các cột trong một bảng là các trường, các dòng trong một bảng
là các bản ghi
Mỗi trường sẽ có một kiểu dữ liệu xác định Đó có thể là kiểu số, kiểuchuỗi, kiểu ngày tháng [8]
Trang 19Ví dụ: Một bảng có chứa thông tin khách hàng Bảng này sẽ có tên làtblKhachHang, các cột (trường) là: Ma_KH, Ten_KH, Tuoi_KH, Matkhau_KH;trong đó Ma_KH có kiểu số nguyên, Ten_KH có kiểu chuỗi, Tuoi_KH có kiểu số, Matkhau_KH có kiểu chuỗi.
2.2.5 Ngôn ngữ truy vấn CSDL SQL
SQL là một ngôn ngữ được sử dụng trong các ngôn ngữ lập trình để truy vấnthông tin trong CSDL Điểm mạnh của ngôn ngữ này là cấu trúc đơn giản, có thểnhập lệnh vào dưới dạng các chuỗi văn bản, sau đó chuyển câu lệnh tới các chươngtrình điều khiển trung gian để truy vấn dữ liệu rồi trả về cho chương trình Như vậy,mọi thao tác kết xuất, truy vấn hoàn toàn dễ dàng thông qua việc điều khiển chuỗivăn bản có chứa câu lệnh SQL
Câu lệnh chèn dữ liệu vào một bảng
Cú pháp:
Insert Into table (danh_sach_truong) Values (danh_sach_gia_tri)
Trong đó:
Insert Into và Values là các từ khóa cố định.
table là tên của một bảng quan hệ trong CSDL.
danh_sach_truong là danh sách các trường trong bảng quan hệ được
sử dụng để chèn giá trị vào, mỗi trường cách nhau một dấu phẩy
danh_sach_gia_tri là danh sách các giá trị tương ứng với các trường,
có bao nhiêu trường thì phải chèn vào bấy nhiêu giá trị
Chú ý:
Thông thường, các giá trị chuỗi phải được đặt trong cặp dấu nháy hoặc dấungoặc kép tùy thuộc vào ngôn ngữ biểu diễn và kiểu dữ liệu của trường Mỗi giá trịcách nhau bởi một dấu phẩy
Trang 20Ví dụ: Với bảng dữ liệu ở trên (Bảng tblKhachHang có các cột (trường) là:
Ma_KH, Ten_KH, Tuoi_KH, Matkhau_KH), ta có thể dùng câu lệnh SQL để chènthông tin vào như sau:
Insert into tblKhachHang(Ten_KH, Tuoi_KH) values(‘Hai’,22)
Hoặc ta có thể chèn nhiều thông tin hơn:
Insert into tblKhachHang values (1, ‘Hai’,22,'852460')
Câu lệnh chỉnh sửa dữ liệu trong một bảng
Cú pháp:
Update table SET truong_1 = giatri_1[, truong_i = giatri_i]
Where Dieu_Kien
Ví dụ: Nếu ta muốn đổi mật khẩu của những người có trường Ten_KH là
Hai thành 'ABC' trong table trên, ta sẽ làm như sau:
Update tblKhachHang SET Matkhau_KH = 'ABC' Where Ten_KH='Hai'
Câu lệnh xóa dữ liệu trong bảng
Cú pháp:
Delete From table Where Dieu_Kien
Câu lệnh này sẽ xóa tất cả những bản ghi thỏa mãn điều kiện nằm sau mệnh
đề Where
Ví dụ: Xóa mẩu tin của khách hàng tên 'Hai', khi đó tất cả thông tin về người
này trong bảng tblKhachHang sẽ bị xóa mất
Delete From tblKhachHang Where Ten_KH = 'Hai'
Trang 21Câu lệnh truy vấn (tìm kiếm) dữ liệu trong bảng
Cú pháp:
Select [danh_sach_cac_truong] From [danh_sach_cac_bang]
WHERE [danh_sach cac_dieu_kien] [Order By]
Ví dụ: Để tìm thông tin của khách hàng tên 'Hai' trong bảng tblKhachHang,
ta làm như sau:
Select * From tblKhachHang Where Ten_KH='Hai' [8]
Trang 22Chương 3 PHÂN TÍCH – THIẾT KẾ HỆ THỐNG 3.1 Yêu cầu chức năng
3.1.1 Yêu cầu lưu trữ
Lưu trữ thông tin người dùng khi đăng ký thành viên, người quản trị cập nhậtthông tin người dùng
Lưu trữ thông tin sản phẩm, số lượng sản phẩm, số lượt xem, lượt mua sảnphẩm
Lưu trữ thông tin giỏ hàng khi khách hàng mua hàng
Lưu trữ thông tin chi tiết khách hàng mua hàng
Lưu trữ thông tin nhà cung cấp
Lưu trữ tin tức
Lưu trữ thông tin thiết bị của khách hàng
Lưu trữ thông tin lịch sử mua hàng của khách hàng
3.1.2 Yêu cầu tra cứu
Tra cứu thông tin sản phẩm theo các tiêu chí:
Tên sản phẩm
Đơn giá
Nhà cung cấp
3.1.3 Yêu cầu tính toán
Tính tổng số tiền khách hàng phải trả cho một đơn hàng
3.1.4 Yêu cầu kết xuất
In chi tiết mua hàng của khách hàng
Trang 233.2 Yêu cầu phi chức năng
Giao diện thân thiện, bố trí hợp lý, phù hợp với các thao tác của người sửdụng Đảm bảo giúp người sử dụng thao tác nhanh và chính xác Giúp người quảntrị dễ dàng quản lý Website
Website có dung lượng không quá lớn, tốc độ xử lý nhanh
Trang Web có thể dễ dàng chỉnh sửa và thêm các chức năng mới
Trang 243.3 Thiết kế dữ liệu
3.3.1 Mô hình thực thể kết hợp (ERD)
3.3.1.1 Mô hình
Hình 3.1 Mô hình ERD
Trang 253.3.1.2 Danh sách các đối tượng
Danh sách các thực thể:
1 Sản phẩm tblSanPham Chứa những thông tin của sản
thù tblThongTinDacThu Chứa những thông tin đặc thù
5 Thiết bị tblThietBi Chứa những thông tin về thiết
bị khách hàng đang sử dụng
6 Đơn hàng tblDonHang Chứa thông tin về đơn hàng
7 Khách Hàng tblKhachHang Chứa những thông tin về
khách hàngBảng 3.1 Danh sách các thực thể có kết hợp
Trang 264 Thống kê TB_ThongKe Chứa thông tin thống kê số
người đang truy cập trang Web
5 Tin tức tblTinTuc Chứa thông tin về những tin tức
chuyên ngành, tin khuyến mãiBảng 3.2 Danh sách các thực thể độc lập
Tên thực thể thứ nhất
Tên thực thể thứ
Trang 271 Cua_ncc
Sản phẩm của nhàcung cấp
tblSanPham tblNhaCungCap (1,1)–(1,n)
2 Thuoc_gh
Sản phẩm thuộc giỏ hàng
tblSanPham tblGioHang (1,n)–(1,n)
Sản phẩm
có thông tin đặc thù
tblSanPham tblThongTinDacThu (1,1)–(1,n)
Đơn hàng gồm có thông tin đặc thù
tblDonHang tblThongTinDacThu (1,n)–(1,1)
5 Mua_gh
Khách hàng tạo giỏ hàng để
tblKhachHang tblGioHang (1,n)–(1,1)
Trang 28sản phẩm
6 Mua_dh
Khách hàng mua đơn hàng
tblKhachHang tblDonHang (1,n)–(1,1)
7 Sohuu
Khách hàng sởhữu thiết bị
Trang 291 IdSanPham Mã sản phẩm Chuỗi 50 ký tự
2 TenSanPham Tên sản phẩm Chuỗi 100 ký tự
3 DonGia Đơn giá của một sản
6 NgayDang Ngày đăng sản phẩm Date
7 DanhMucCha Hiển thị sản phẩm theo
danh mục cha Chuỗi 100 ký tự
8 DanhMucCon Hiển thị sản phẩm theo
danh mục con Chuỗi 100 ký tự
12 Xem Số lượt xem sản phẩm Số nguyên
13 Version Phiên bản của sản
14 GhiChu Ghi chú về sản phẩm Text
15 LoaiMay
Sản phẩm dành choloại máy nào (Máy vitính, điện thoại hoặc cảhai)
Chuỗi 50 ký tự
Trang 30sản phẩm
17 Mua Số lượt mua sản phẩm Số nguyên
Bảng 3.4 Mô tả thực thể tblSanPham
Thực thể: tblNhaCungCap
1 IdNhaCungCap Mã nhà cung cấp Chuỗi 50 ký tự
2 TenNhaCungCap Tên nhà cung cấp Chuỗi 4000 ký tự
3 Logo Biểu tượng của nhà
4 GhiChu_ncc Ghi chú Text
Bảng 3.5 Mô tả thực thể tblNhaCungCap
Thực thể: tblThongTinDacThu
1 ID Mã thông tin đặc thù Số nguyên
3 TenSanPham Tên sản phẩm Chuỗi 100 ký tự
4 Gia Giá sản phẩm Số nguyên
5 MacID Địa chỉ MAC của thiết
Trang 31phẩm về
8 TrangThai Trạng thái thông tin
10 System Hệ điều hành của thiết
11 ThongTinSuDung
Mô tả tình trạng thiết
bị có sử dụng sảnphẩm hay không
Chuỗi 100 ký tự
Bảng 3.6 Mô tả thực thể tblThongTinDacThu
Thực thể: tblGioHang
1 IdGioHang Mã giỏ hàng Số nguyên
3 TenSanPham Tên sản phẩm Chuỗi 100 ký tự
4 Gia Giá sản phẩm Số nguyên
5 MacID Địa chỉ MAC của thiết
6 ThoiGian Thời gian sử dụng của
7 Model Tên thiết bị Chuỗi 100 ký tự
8 System Hệ điều hành của thiết
Bảng 3.7 Mô tả thực thể tblGioHang
Trang 32Thực thể: tblThietBi
1 IdThietBi Mã thiết bị Số nguyên
2 TenMay Tên thiết bị Chuỗi 100 ký tự
3 MacID Địa chỉ MAC của
thiết bị Chuỗi 100 ký tự
4 HeDieuHanh Hệ điều hành của
5 LoaiMay Loại thiết bị (Máy vi
tính hoặc điện thoại) Chuỗi 50 ký tự
6 SuDung
Thông tin thiết bị có
sử dụng sản phẩmhay chưa
Chuỗi 100 ký tự
7 DangSuDung Tình trạng sử dụng
sản phẩm của thiết bị Số nguyên
8 NgayNgungSuDung Ngày ngưng sử dụng
sản phẩm DateBảng 3.8 Mô tả thực thể tblThietBi
Trang 33Thực thể: tblKhachHang
1 IdKhachHang Mã khách hàng Chuỗi 100 ký tự
2 HoTen Họ tên khách hàng Chuỗi 100 ký tự
3 Email Địa chỉ Email của
7 NgayDangKy Ngày đăng ký Date
8 DienThoai Điện thoại liên hệ
của khách hàng Chuỗi 50 ký tự
9 KichHoat
Tình trạng kích hoạthay chưa của tàikhoản
Trang 34Thực thể: tblDonHang
1 MaDonHang Mã đơn hàng Chuỗi 50 ký tự
2 DonGia Tổng tiền của một
hóa đơn Số nguyên
3 NgayTao Ngày tạo hóa đơn Date
4 TrangThai Tình trạng đơn hàng Chuỗi 50 ký tự
5 ThanhToan Hình thức thanh toán
của khách hàng Chuỗi 100 ký tự
7 XacNhanTT Xác nhận thanh toán
Bảng 3.10 Mô tả thực thể tblDonHang
Thực thể: TB_ThongKe
1 MaTB Mã thống kê Số nguyên
2 ThoiGian Thời gian thống kê Date
3 SoTruyCap Số lượng truy cập Bigint
Bảng 3.11 Mô tả thực thể TB_ThongKe
Thực thể: tblBanNer
1 IdBanner Mã quảng cáo Số nguyên
Trang 353 Hinh Hình Chuỗi 100 ký tự
Bảng 3.12 Mô tả thực thể tblBanNer
Thực thể: tblDanhMuc
1 IdDanhMuc Mã danh mục Số nguyên
2 TenDanhMuc Tên danh mục sản
1 IdNhanVien Mã nhân viên Số nguyên
2 TenDangNhap Tên đăng nhập của
nhân viên Chuỗi 100 ký tự
3 MatKhau Mật khẩu đăng nhập Chuỗi 100 ký tự
Trang 36Bảng 3.14 Mô tả thực thể tblNhanVien
Thực thể: tblTinTuc
1 IdTinTuc Mã tin tức Số nguyên
2 TieuDe Tiêu đề tin tức Chuỗi 1000 ký tự
3 NoiDung Nội dung tin tức Text
4 LoaiTin Loại tin tức Chuỗi 100 ký tự
5 NgayDang Ngày đăng tin Date
Bảng 3.15 Mô tả thực thể tblTinTuc
Mô tả chi tiết các mối kết hợp:
Trong mối kết hợp “Cua_ncc” giữa thực thể tblSanPham và thực thể tblNhaCungCap:
tblSanPham (1, 1): Một sản phẩm của một nhà cung cấp duy nhất.
tblNhaCungCap (1, n): Một nhà cung cấp có thể có nhiều sản phẩm.
Trong mối kết hợp “Thuoc_gh” giữa thực thể tblSanPham và thực thể tblGioHang:
tblSanPham (1, n): Một sản phẩm có thể thuộc nhiều giỏ hàng
tblGioHang (1, n): Một giỏ hàng có thể có nhiều sản phẩm.
Trong mối kết hợp “Co” giữa thực thể tblSanPham và thực thể tblThongTinDacThu:
Trang 37 tblSanPham (1, 1): Một sản phẩm chỉ có một thông tin đặc thù.
tblThongTinDacThu (1, n): Một thông tin đặc thù có thể có nhiều
sản phẩm
Trong mối kết hợp “SoHuu” giữa thực thể tblKhachHang và thực thể tblThietBi:
tblKhachHang (1, n): Một khách hàng có thể sở hữu nhiều thiết bị.
tblThietBi (1, 1): Một thiết bị chỉ thuộc một khách hàng.
Trong mối kết hợp “Gom” giữa thực thể tblThongTinDacThu và thực thể tblDonHang:
tblThongTinDacThu (1, 1): Một thông tin đặc thù chỉ thuộc một
đơn hàng
tblDonHang (1, n): Một đơn hàng có nhiều thông tin đặc thù.
Trong mối kết hợp “Mua_dh” giữa thực thể tblDonHang và thực thể tblKhachHang:
tblDonHang (1, 1): Một đơn hàng chỉ được mua bởi một khách
hàng
tblKhachHang (1, n): Một khách hàng có thể mua nhiều đơn hàng.
Trong mối kết hợp “Mua_gh” giữa thực thể tblGioHang và thực thể tblKhachHang:
tblGioHang (1, 1): Một giỏ hàng chỉ được mua bởi một khách hàng.
tblKhachHang (1, n): Một khách hàng có thể mua nhiều giỏ hàng.
Trang 383.3.2 Mô hình vật lý
3.3.2.1 Mô hình
Trang 39Hình 3.2 Mô hình vật lý
Các bảng có mối quan hệ với bảng khác:
Trang 40 tblDonHang(MaDonHang, IdKhachHang, DonGia, NgayTao,
TrangThai, ThanhToan, GhiChu_dh, XacNhanTT)
tblKhachHang(IdKhachHang, HoTen, Email, TenDangNhap,
MatKhau, DiaChi, NgayDangKy, DienThoai, KichHoat, MaKichHoat, DaMua)
tblThietBi(IdThietBi, IdKhachHang, TenMay, MacID, HeDieuHanh,
LoaiMay, SuDung, DangSuDung, NgayNgungSuDung)
tblSanPham(IdSanPham, IdNhaCungCap, ID, TenSanPham,
DonGia, MoTaChiTiet, Hinh, NgayDang, DanhMucCha, DanhMucCon, TomTat,DungLuong, YeuCau, Xem, Version, GhiChu, LoaiMay, MaSanPham,ThoiGianSuDung, Mua)
tblThongTinDacThu(ID, MaDonHang, Anh, TenSanPham, Gia,
MacID, ThoiGian, Link, TrangThai, Model, System, ThongTinSuDung )
tblGioHang(IdGioHang, IdKhachHang, MacID, Gia, Anh,
TenSanPham, Model, System, ThoiGian)
tblNhaCungCap(IdNhaCungCap, TenNhaCungCap, Logo,
GhiChu_ncc)
Thuoc_gh(IdSanPham, IdGioHang).
Các bảng độc lập:
TB_ThongKe(MaTB, ThoiGian, SoTruyCap).
tblBanNer(IdBanner, TenBanner, Hinh).
tblDanhMuc(IdDanhMuc, TenDanhMuc, ThuTu, Parent).
tblNhanVien(IdNhanVien, TenDangNhap, MatKhau, Quyen).
tblTinTuc(IdTinTuc, TieuDe, NoiDung, LoaiTin, NgayDang).
3.3.2.2 Danh sách các bảng