MỤC LỤC LỜI CẢM ƠN 1 LỜI MỞ ĐẦU 2 CHƯƠNG 1. CƠ SỞ LÝ THUYẾT 3 1.1. Thương mại điện tử 3 1.1.1. Khái niệm thương mại điện tử. 3 1.1.2. Lợi ích của thương mại điện tử 3 1.1.3 Các rủi ro trong thương mại điện tử 4 1.2. Các loại hình thương mại điện tử 4 1.2.1 Các loại hình thương mại điện tử 4 1.2.2 Phân loại thương mại điện tử 5 1.2.3 Thương mại điện tử B2C 6 1.3. Tổng quan về hệ quản trị SQL Server 2008 6 1.3.1 Giới thiệu về hệ quản trị cơ sở dữ liệu SQL Server 2008 6 1.3.2 SQL là ngôn ngữ của cơ sở dữ liệu quan hệ 8 1.3.3 Vai trò của SQL 9 1.3.4 Một số bước xây dựng cơ sở dữ liệu 10 1.3.5 Các thành phần 12 1.4 Ngôn ngữ lập trình 13 1.4.1 Lập trình hướng đối tượng 13 1.4.2 Giới thiệu về ngôn ngữ trình C 14 CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG 16 2.1. Sơ đồ User Case 16 2.1.1. Các kiểu hệ thống (Actor) 16 2.1.2. Xác định các chức năng 16 2.1.3 Sơ đồ Use Case 18 2.2 Biểu đồ tuần tự (Sequence Diagram) 22 2.2 Cơ sở dữ liệu 31 2.3 Sơ đồ mô hình quan hệ 33 CHƯƠNG 3. GIAO DIỆN CỦA CHƯƠNG TRÌNH 34 3.1 Giao diện người dùng 34 3.2 Giao diện Admin 40 KẾT LUẬN 43 TÀI LIỆU THAM KHẢO 44
Trang 1TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
*****************************
SINH VIÊN: TRẦN THỊ TRANG
THIẾT KẾ WEBSITE BÁN HÀNG THỜI TRANG
QUA MẠNG
HÀ NỘI-2015
Trang 2TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
SINH VIÊN: TRẦN THỊ TRANG
THIẾT KẾ WEBSITE BÁN HÀNG THỜI TRANG
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
LỜI MỞ ĐẦU 2
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 3
1.1 Thương mại điện tử 3
1.1.1 Khái niệm thương mại điện tử 3
1.1.2 Lợi ích của thương mại điện tử 3
1.1.3 Các rủi ro trong thương mại điện tử 4
1.2 Các loại hình thương mại điện tử 4
1.2.1 Các loại hình thương mại điện tử 4
1.2.2 Phân loại thương mại điện tử 5
1.2.3 Thương mại điện tử B2C 6
1.3 Tổng quan về hệ quản trị SQL Server 2008 6
1.3.1 Giới thiệu về hệ quản trị cơ sở dữ liệu SQL Server 2008 6
1.3.2 SQL là ngôn ngữ của cơ sở dữ liệu quan hệ 8
1.3.3 Vai trò của SQL 9
1.3.4 Một số bước xây dựng cơ sở dữ liệu 10
1.3.5 Các thành phần 12
1.4 Ngôn ngữ lập trình 13
1.4.1 Lập trình hướng đối tượng 13
1.4.2 Giới thiệu về ngôn ngữ trình C# 14
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 16
2.1 Sơ đồ User Case 16
2.1.1 Các kiểu hệ thống (Actor) 16
2.1.2 Xác định các chức năng 16
2.1.3 Sơ đồ Use Case 18
2.2 Biểu đồ tuần tự (Sequence Diagram) 22
2.2 Cơ sở dữ liệu 31
2.3 Sơ đồ mô hình quan hệ 33
Trang 4CHƯƠNG 3 GIAO DIỆN CỦA CHƯƠNG TRÌNH 34
3.1 Giao diện người dùng 34
3.2 Giao diện Admin 40
KẾT LUẬN 43
TÀI LIỆU THAM KHẢO 44
Trang 5DANH MỤC HÌNH VẼ
Hình 2.1: Biểu đồ phân cấp chức năng cho khách hàng 16
Hình 2.2: Biểu đồ phân cấp chứ năng Admin 17
Hình 2.3 Sơ đồ Use-Case cho khách hàng 19
Hình 2.4 Sơ đồ Use Case cho người quản trị hệ thống 20
Hình 2.5 Sơ đồ Use Case admin quản lý sản phẩm 20
Hình 2.6 Sơ đồ Use Case admin quản lý đơn đặt hàng 21
Hình 2.7 Sơ đồ Use Case admin quản lý tin tức 21
Hình 2.8 Biểu đồ tuần tự đăng ký thành viên 22
Hình 2.9 Biểu đồ trình tự đăng nhập thành viên 22
Hình 2.10 Biểu đồ tuần tự chỉnh sửa thông tin thành viên 23
Hình 2.11 Biểu đồ tuần tự tìm kiếm sản phẩm 23
Hình 2.12 Sơ đồ trình tự xem sản phẩm 24
Hình 2.13 Sơ đồ trình tự xem chi tiết sản phẩm 24
Hình 2.14 Biểu đồ tuần tự thêm sản phẩm vào giỏ hàng 25
Hình 2.15 Biểu đồ tuần tự xem giỏ hàng 25
Hình 2.16 Biểu đồ tuần tự xóa sản phẩm trong giỏ hàng 26
Hình 2.17 Sơ đồ trình tự thêm sản phẩm 26
Hình 2.18 Sơ đồ trình tự xóa sản phẩm 27
Hình 2.19 Sơ đồ trình tự sửa sản phẩm 27
Hình 2.20 Sơ đồ trình tự tạo đơn đặt hàng 28
Hình 2.21 Sơ đồ trình tự xem chi tiết đơn đặt hàng 28
Hình 2.22 Sơ đồ trình tự xem tin tức 29
Hình 2.23 Sơ đồ trình tự tạo mới tin tức 29
Hình 2.24 Sơ đồ trình tự xóa tin tức 30
Hình 2.25 Sơ đồ trình tự cập nhật tin tức 30
Hình 2.26 Sơ đồ thực thể liên kết 33
Hình 3.1 Hình ảnh giao diện trang chủ 34
Hình 3.2 Hình ảnh giao diện form đăng ký 35
Hình 3.3 Hình ảnh giao diện form đăng nhập 35
Hình 3.4 Hình ảnh giao diện trang sản phẩm 36
Hình 3.5 Hình ảnh giao diện trang chi tiết 37
Hình 3.6 Hình ảnh giao diện trang danh mục sản phẩm 37
Hình 3.7 Hình ảnh giao diện giỏ hàng 38
Hình 3.8 Hình ảnh giao diện lịch sử mua hàng 38
Hình 3.9 Hình ảnh giao diện trang quảng cáo 39
Hình 3.10 Hình ảnh giao diện trang giới thiệu 39
Hình 3.11 Hình ảnh giao diện trang đăng nhập quản trị Admin 40
Hình 3.12 Hình ảnh giao diện trang admin 40
Hình 3.13 Hình ảnh giao diện trang quản lý đơn hàng 41
Hình 3.14 Hình ảnh giao diện quản lý sản phẩm 41
Hình 3.15 Hình ảnh giao diện trang quản lý tin tức 42
Hình 3.16 Hình ảnh giao diện trang thay đổi mật khẩu 42
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT
1 DDL Data Difinition Language Ngôn ngữ định nghĩa dữ
5 GUI Graphic User Interface Giao diện người dùng đồ
họa6
XML eXtensible Markup
Language
Ngôn ngữ Đánh dấu Mở rộng
Trang 7Trong thời gian làm đồ án vừa qua, em xin gửi lời cảm ơn sâu sắc tới côThạc sĩ Bùi Thị Thùy đã trực tiếp hướng dẫn chỉ bảo, tận tình giúp đỡ em nhiều ýkiến đóng góp quý báu về kiến thức cũng như tài liệu để em có thể hoàn thành đồ ánnày.
Em xin bày tỏ lòng cảm ơn đến gia đình, bạn bè đã động viên, giúp đỡ và tạođiều kiện cho em trong thời gian thực hiện đồ án, để có thể hoàn thành đồ án nàytrong một điều kiện tốt nhất
Sau cùng, em xin kính chúc quý Thầy cô trong khoa Công nghệ Thông tin và
cô Thạc sĩ Bùi Thị Thùy thật dồi dào sức khỏe để tiếp tục thực hiện sứ mệnh caođẹp của mình là truyền đạt kiến thức cho thế hệ mai sau
Em Xin Chân Thành Cảm Ơn!
Hà Nội, ngày ….tháng ….năm 2015.
Sinh viên
Trần Thị Trang
Trang 8LỜI MỞ ĐẦU
Thương mại điện tử (TMĐT) là lĩnh vực tương đối mới ở Việt Nam rất đượcChính phủ quan tâm thúc đẩy phát triển Cho đến nay đã có rất nhiều lý do để cácdoanh nghiệp cũng như tổ chức phải quan tâm đến ứng dụng TMĐT vào kinh doanh
để cạnh tranh, tồn tại và phát triển trong thực trạng toàn cầu hóa hiện nay Tuynhiên, hiện nay ở Việt Nam chưa có nhiều danh nghiệp hay tổ chức ứng dụngTMĐT một cách đúng nghĩa vào quá trình trao đổi mua bán trong nước và quốc tế.Hiện tại phương tiện kỹ thuật và các công cụ lập trình ứng dụng vào TMĐTchưa được ứng dụng rộng rãi trong các doanh nghiệp, để có đủ kiến thức cơ bản vềTMĐT xây dựng và vận hành một website có hiệu quả, thực hiện marketing quamạng, chọn lựa mô hình TMĐT phù hợp, xúc tiến thanh toán qua mạng, áp dụngcác biện pháp an toàn mạng tối thiểu cần thiết v.v…
Từ những lý do trên, em quyết định chon đề tài “Thiết kế website bán hàng thờitrang qua mạng” – xây dựng thử nghiệm cửa hàng bán hàng thời trang theo mô hìnhthương mại điện tử B2C Thông qua đó để em hiểu biết, nắm rõ hơn về lĩnh vựcTMĐT và kỹ năng ứng dụng lập trình cho website thương mại điện tử một cáchhiệu quả
Em xin chân thành cảm ơn cô Bùi Thị Thùy đã hướng dẫn, chỉ dạy tận tình đểluận án của em hoàn thành
Em xin chân thành cảm ơn toàn thể cán bộ, giáo viên Bộ môn CNTT đã tạođiều kiện giúp đỡ em trong suốt quá trình làm luận án này
Em xin chân thành cảm ơn!
Trang 9
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 1.1 Thương mại điện tử
1.1.1 Khái niệm thương mại điện tử.
Thương mại điên tử (còn gọi là thị trường điện tử, thị trường ảo, Commerce hay E-Business) là quy trình mua bán ảo thông qua việc truyền dữ liệugiữa các máy tính trong chính sách phân phối tiếp thị Tại đây mọi hoạt động muabán, trao đổi hàng hóa và dịch vụ giữa nhà cung cấp và khách hàng được tiến hànhthông qua môi trường mạng Internet
E-Theo nghĩa hẹp, thương mại điện tử chỉ đơn thuần bó hẹp thương mại điện tửtrong việc buôn bán hàng hóa và dịch vụ thông qua phương tiện điện tử, nhất là quaInternet và các mạng liên thông khác
Theo nghĩa rộng, thương mại điện tử là dữ liệu điện tử, chuyển tiền điện tử
và các hoạt động như gửi/ rút tiền bằng thẻ tín dụng
Theo Tổ chức Thương mại thế giới (WTO), “Thương mại điện tử bao gồmviệc sản xuất, quảng cáo, bán hàng và phân phối sản phẩm được mua bán và thanhtoán trên mạng Internet, nhưng được giao nhận một cách hữu hình, cả các sản phẩmgiao nhận cũng như những thông tin số hóa thông qua mạng Internet”
Cơ sở pháp lý điều chỉnh hoạt động thương mại điện tử ở Việt Nam ra đờikhá muộn so với nhiều nước trên thế giới
Cuối năm 2005, Việt Nam có “Luật Giao dịch điện tử” và năm 2006 mới rađời Nghị định hướng dẫn thi hành luật này
1.1.2 Lợi ích của thương mại điện tử
TMĐT giúp cho doanh nghiệp nắm được thông tin phong phú về thị trường
và đối tác
TMĐT giúp giảm chi phí sản xuất
TMĐT giúp giảm chi phí bán hàng và tiếp thị
Trang 10TMĐT qua INTERNET giúp người tiêu dùng và các doanh nghiệp giảmđáng kể thời gian và chi phí giao dịch.
TMĐT tạo điền kiện cho việc thiết lập và củng cố mối quan hệ giữa cácthành phần tham gia vào quá trình thương mại
Tạo điều kiện sớm tiếp cận nền kinh tế số hóa
1.1.3 Các rủi ro trong thương mại điện tử
Lừa đảo qua mạng xuất hiện năm 1996, là dạng kẻ lừa đảo giả dạng tổ chứchợp pháp như ngân hàng, dịch vụ thanh toán qua mạng… để gửi email hàng loạtyêu cầu người nhận tin cung cấp thông tin cá nhân và thông tin tín dụng Nếu ngườinào cả tin thì kẻ lừa đảo sẽ lấy tiền từ tài khoản của khổ chủ
Một nguy cơ khác xuất hiện nhiều gần đây là những kẻ lừa đảo tung ranhững website bán hàng, bán dịch vụ y thật trên mạng và tối ưu hóa chúng trênGoogle để nạn nhân tự tìm thấy và mua hàng trên trang web này Thực tế khi nạnnhân thực hiện việc mua sản phẩm hay dịch vụ và cung cấp đầy đủ thông tin về thẻtín dụng, nạn nhân sẽ không nhận được hàng đã mua mà bị đánh cắp hoàn toànthông tin thẻ tín dụng, dẫn đến bị mất tiền trong tài khoản
Tỷ lệ gian lận thẻ tín dụng ngày càng giảm vì công nghệ xử lý thanh toán quamạng ngày càng tiến bộ hơn Đây là điều rất tốt củng cố lòng tin của người muahàng qua mạng trong thương mại điện tử
1.2 Các loại hình thương mại điện tử
1.2.1 Các loại hình thương mại điện tử
Tùy thuộc vào đối tác kinh doanh người ta gọi đó là thị trường B2B, B2C,C2B, C2C.Thị trường mở là những thị trường mà tất cả các mọi người đăng kí vàtham gia Tại một thị trường đóng chỉ có một số thành viên nhất định được mời haycho phép tham gia Một thị trường ngang tập trung vào một quy trình kinh doanhriêng lẻ nhất định, thí dụ cung cấp doanh nghiệp có thể nhiều ngành khác nhau thamgia như người mua và liên hệ với nhóm nhà cung cấp Ngược lại, thị trường dọc mô
Trang 11phỏng nhiều quy trình kinh doanh khác nhau của một ngành duy nhất hay một nhómngười duy nhất.
1.2.2 Phân loại thương mại điện tử
Thương mại điện tử có thể phân loại theo tính cách của người tham gia, B2Cviết tắt của Business-to-Consumer là hình thức giao dịch trực tuyến giữa doanhnghiệp với người tiêu dùng, là một trong số những hoạt động chính của thương mạiđiện tử Có thể bán vô số các sản phẩm và dịch vụ qua mạng Internet Tuy nhiênmặt hàng kinh doanh có thể là gì đi chăng nữa, thì một trang web thương mại điện
tử cũng phải cung cấp đầy đủ các dịch vụ cơ bản mà khách hàng mong đợi nhưtrong trường hợp khách hàng giao dịch trực tuyễn với mình
Người tiêu dùng
C2C (Consumer-To-Comsumer) Người tiêu dùng với người tiêu dùng
C2B (Cosumer-To-Business) Người tiêu dùng với doanh nghiệp
C2G (Consumer-To-Government) Người tiêu dùng với chính phủ
Doanh nghiệp
B2C (Business-To-Consumer) Doanh nghiệp với người tiêu dùng
B2B (Business-To-Business) Doanh nghiệp với doanh nghiệp
B2G (Business-To-Goverment) Doanh nghiệp với chính phủ
B2E (Business-To-Employee) Doanh nghiệp với nhân viên
Chính phủ
G2C (Government-To-Consumer) Chính phủ với người tiêu dùng
G2B (Government-To-Business) Chính phủ với doanh nghiệp
Trang 121.2.3 Thương mại điện tử B2C
Business to Customer (B2C), là giao dịch trưc tuyến giữa doanh nghiệp vớikhách hàng, là một trong những hoạt động chính của thương mại điện tử Có thểbán vô số các sản phẩm các sản phẩm và dịch vụ qua mạng Internet, rất nhiều cáctrang bán hàng
Bạn cần quan tâm khi bắt tay vào hình thức kinh doanh này:
Giúp khách hàng thấy thứ họ cần: Bạn có thể cung cấp các đường dẫnnhìn thấy tới các danh mục hàng hóa khác nhau, một công cụ tìm kiếm để kháchhàng có thể nhín thấy tên sản phẩm hoặc sơ đồ hướng dẫn giúp khách hàng có thểtheo dõi các bước đi của họ trên trang web của bạn
Đừng bắt khách hàng phải đợi: Khi một khách hàng nhấn vào nút “Muahàng”, họ sẽ không hài lòng khi phải đợi tới vài phút có câu trả lời – hay thậm trí tệhơn là nhận được thông điệp thông báo lỗi Trên thực tế, chẳng có gì khiến kháchhàng thất vọng hơn một trang web cứ bắt buộc họ phải đoán mò về tình trạng đặthàng của chính họ
Tạo điền kiện để khách hàng quan tâm để khách hàng thanh toán dễ nhất:Các cửa hàng trực tuyến có thể chấp nhận nhiều hình thức thanh toán khác nhau: thẻtín dụng, tiền mặt và qua séc qua thư Các doanh nghiệp khác nhau sẽ chấp nhậnphương thức thanh toán khác nhau, vì thể hãy đảm bảo rằng nhà cung cấp dịch vụthương mại điện tử của bạn có thể chấp nhận những phương thức mà khách hàngcủa bạn thường được sử dụng nhiều nhất
1.3 Tổng quan về hệ quản trị SQL Server 2008
1.
1.3.1 Giới thiệu về hệ quản trị cơ sở dữ liệu SQL Server 2008
SQL Server là hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) do Microsoft pháttriển, hoạt động theo mô hình khách/chủ cho phép đồng thời cùng lúc có nhiều người dùng truy xuất đến dữ liệu
Một số tính năng của SQL Server 2008:
Trang 13 Truy cập tới cơ sở dữ liệu qua mạng
Hỗ trợ mô hình Client/Server
Kho dữ liệu (Data WareHouse)
Tương thích với chuẩn ANSI/ISO SQL-92
Hỗ trợ tìm kiếm Full-Text (Full-Text Search)
Hỗ trợ tìm kiếm thông tin trực tuyến (Books Online)
Các kiểu dữ liệu mới và các hàm thư viện làm việc với các kiểu dữ liệunày như XML, các kiểu dữ liệu giá trị lớn (lưu ảnh, video,…)
Hỗ trợ FileStream để thao tác với các đối tượng nhị phân lớn (BLOB)
Languaged-Integrated Query (LINQ)
Các câu lệnh thao tác dữ liệu (DML): gồm các lệnh SELECT, INSERT,UPDATE cho phép thao tác trên đối tượng dữ liệu
Các câu lệnh điều khiển dữ liệu (DCL): được sử dụng trong việc cấp pháthay hủy bỏ quyền của người sử dụng đối với các câu lệnh SQL hoặc trên các đốitượng cơ sở dữ liệu Gồm các câu lệnh: GRANT, REVOKE
Các công cụ của SQL Server 2008:
Server SQL Configuration Manager: là công cụ đồ họa dùng để khởi động
và dừng server cơ sở dữ liệu
SQL Server Management Studio: là công cụ đồ họa chính được nhà pháttriển sử dụng để thao tác với cơ sở dữ liệu SQL 2008
Books Online: bộ tài liệu cho SQL Server 2008
SQL Server là một cơ sở dữ liệu Client/Server Nó có hai chức năngchính:
Chứa dữ liệu người dùng nhập vào
Trang 14 Xử lý các yêu cầu gửi tới thông qua ngôn ngữ truy vấn cơ sở dữliệu và trả
về các đối tượng trong hệ quản trị cơ sở dữ liệu SQL Server
- Bảng (Table): Bảng là đơn vị lưu trữ dữ liệu chính trong cơ sở dữ liệu SQLServer, đó là tập hợp dữ liệu có liên quan với nhau, là một đối tượng lưu trữ dữ liệudưới dạng hàng (Rows), cột (Columns) Các hàng trong bảng người ta gọi là cácbản ghi chứa dữ liệu (Record), các cột là các trường chứa các thuộc tính của bảng
- Khung nhìn dữ liệu (View): Về mặt logic, bảng ảo giống như một bảngthực, nó không chứa bảng vật lý nào mà nó chỉ là kết quả của việc thực hiện các câulệnh Select trên những bảng thực và dữ liệu của nó sẽ bị mất đi khi không thực hiệncác câu lệnh đó
- Chỉ số của bảng (Index): Chỉ số là một cấu trúc được tạo ra để lưu trữ thôngtin về vị trí các bản ghi trong một bảng dữ liệu nhằm cải thiện tốc độ truy xuất dữliệu Một chỉ số được tạo nên trên một hay nhiều bảng, mọi sự thay đổi dữ liệutrong bảng đều được tự động cập nhật với các chỉ số có liên quan trong suốt quátrình sử dụng
- Thủ tục lưu trữ (Store procedure): Là một khối các câu lệnh truy vấn cơ sở
dữ liệu, được lưu trữ trong một thủ tục và có tham số vào cũng như giá trị trả về khithủ tục đó được thực hiện
1.3.2 SQL là ngôn ngữ của cơ sở dữ liệu quan hệ
SQL (Structured Query Language) là công cụ sử dụng để tổ chức, quản lý vàtruy xuất dữ liệu được lưu trữ trong các cơ sở dữ liệu SQL là một hệ thống ngônngữ bao gồm tập các câu lệnh sử dụng để tương tác với cơ sở dữ liệu quan hệ.Khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc dù đây
là mục đích ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫn còn làmột trong những chức năng quan trọng của nó SQL được sử dụng để điều khiểntất cả các chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng baogồm:
Trang 15- Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu,
các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần
dữ liệu
- Truy xuất và thao tác dữ liệu: Với SQL người dung có thể dễ dàng thực
hiện các thao tác truy xuất, bổ sung, cập nhật, và loại bỏ dữ liệu trong các cơ sở dữliệu
- Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các
thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu
- Đảm bảo toàn vẹn dữ liệu: SQL định ngĩa các ràng buộc toàn vẹn trong cơ
sở dữ liệu Nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao táccập nhật cũng như các lỗi của hệ thống
Như vậy, có thể nói SQL là một ngôn ngữ hoàn thiện được sử dụng trong các
hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị
cơ sở dữ liệu
Mặc dù, SQL không phải là một ngôn ngữ lập trình như C, C++, Java,…songcác câu lệnh mà SQl cung cấp có thể được nhúng vào trong các ngôn ngữ lập trìnhnhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu
Khác với các ngôn ngữ lập trình quen thuộc SQL là ngôn ngữ có tính khaibáo Với SQL, người dùng chỉ cần mô tả các yêu cầu cần phải thực hiện trên cơ sở
dữ liệu mà không cần phải chỉ ra cách thức thực hiện các yêu cầu như thế nào.Chính vì vậy, SQL là ngôn ngữ dễ tiếp cận và dễ sử dụng
- Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL có những vai trò như sau:
Trang 16 SQL là ngôn ngữ truy vấn có tính tương tác: Người sử dụng có thể dễdàng thông qua các trình tiện ích để gửi các yêu cầu dưới dạng các câu lệnh SQLđến cơ sở dữ liệu và nhận kết quả trả về từ cơ sở dữ liệu.
SQL là ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể nhúngcác câu lệnh SQL vào trong ngôn ngữ lập trình để xây dựng nên các chương trìnhứng dụng giao tiếp với cơ sở dữ liệu
SQL là ngôn ngữ quản trị cơ sở dữ liệu: Thông qua SQL, người quản trị
cơ sở dữ liệu có thể quản lý được cơ sở dữ liệu, định nghĩa được các cấu trúc lưu trữ
dữ liệu, điều khiển truy cập cơ sở dữ liệu,…
SQL là ngôn ngữ cho các hệ thống khách/chủ (Client/Server): Trong các
hệ thống cơ sở dữ liệu khách/chủ, SQL được sử dụng như là công cụ để giao tiếpgiữa các trình ứng dụng phía máy khách với máy chủ cơ sở dữ liệu
SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết cácmáy chủ Web cũng như các máy chủ trên Internet sử dụng SQL với vai trò là ngônngữ để tương tác với dữ liệu trong các cơ sở dữ liệu
SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở dữliệu phân tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ thống kháctrên mạng, gửi và nhận các yêu cầu truy xuất dữ liệu với nhau
SQL là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu: Trong một
hệ thống mạng máy tính với nhiều hệ quản trị cơ sở dữ liệu khác nhau, SQL thườngđược sử dụng như là một chuẩn ngôn ngữ để giao tiếp giữa các hệ quản trị cơ sở dữliệu
1.3.4 Một số bước xây dựng cơ sở dữ liệu
Các câu lệnh thao tác dữ liệu trong SQL không những chỉ sử dụng để truyvấn dữ liệu mà còn để thay đổi và cập nhật dữ liệu trong cơ sở dữ liệu
Thêm dữ liệu: Dữ liệu trong các bảng được thể hiện dưới dạng các dòng
(bản ghi) Để bổ sung thêm các dòng dữ liệu vào một bảng, ta sử dụng câu lệnhINSERT Hầu hết các hệ quản trị CSDL dựa trên SQL cung cấp các cách dưới đây
để thực hiện thao tác thêm dữ liệu cho bảng: Thêm từng dòng dữ liệu với mỗi câu
Trang 17lệnh INSERT Đây là các sử dụng thường gặp nhất trong giao tác SQL Thêm nhiềudòng dữ liệu bằng cách truy xuất dữ liệu từ các bảng dữ liệu khác.
Thêm từng dòng dữ liệu: Để bổ sung một dòng dữ liệu mới vào bảng, ta
sử dụng câu lệnh INSERT với cú pháp như sau:
INSERT INTO tên_bảng [(danh_sach _cột)] VALUES (danh_sach _gia trị)Trong câu lệnh INSERT, danh mục sản phẩm cột ngay sau tên bảng khôngcần thiết phải chỉ định nếu giá trị các trường của bản ghi mới được chỉ định đầy đủtrong danh sách Trong trường hợp này, thứ tự các giá trị trong danh mục sản phẩmtrị phải bằng với số lượng các trường của bảng cần bổ sung dữ liệu cũng như phảituân theo đúng thứ tự của các trường như khi bảng được định nghĩa Trong trườnghợp chỉ nhập giá trị cho một số cột trong bảng, ta phải chỉ định danh sản phẩm cáccột cần nhập dữ liệu ngay sau tên bảng Khi đó, các cột không được nhập dữ liệu sẽnhận giá trị mặc định (nếu có) hoặc nhận giá trị NULL(nếu cột cho phép chấp nhậngiá trị NULL).Nếu một cột không có giá trị mặc định và không chấp nhận giá trịNULL mà không đuợc nhập dữ liệu, câu lệnh sẽ bị lỗi
Thêm một tập các dòng dữ liệu vào bảng: Một cách sử dụng khác của
câu lệnh INSERT được sử dụng để bổ sung nhiều dòng dữ liệu vào một bảng, cácdòng DL này được lấy từ một bảng khác thông qua câu lệnh SELECT cách này, cácgiá trị dữ liệu được bổ sung vào bảng không được chỉ định tường minh mà thay vào
đó là một câu lệnh SELECT truy vấn dữ liệu từ bảng khác
Cú pháp câu lệnh INSERT có dạng như sau:
INSERT INTO tên_bảng[(danh_sp _cột)] câu_lệnh_SELECT
Trang 18Sau UPDATE là tên của bảng cần cập nhật dữ liệu Một câu lệnh UPDATE
có thể cập nhật dữ liệu cho nhiều cột bằng cách chỉ định các danh sản phẩm tên cột
và biểu thức tương ứng sau từ khoá SET Mệnh đề WHERE trong câu lệnhUPDATE được sử dụng để chỉ định các dòng dữ liệu chịu tác động của câu lệnh(nếu không chỉ định, phạm vi tác động của câu lệnh được hiểu là toàn bộ các dòngtrong bảng)
Xoá dữ liệu khi điều kiện liên quan đến nhiều bảng: Nếu điều kiện trongcâu lệnh DELETE liên quan đến các bảng không phải là bảng cần xóa dữ liệu, taphải sử dụng thêm mệnh đề FROM và sau đó là danh sách tên các bảng đó Trongtrường hợp này, trong mệnh đề WHERE ta chỉ định thêm điều kiện nối
Sử dụng truy vấn con trong câu lệnh DELETE
1.3.5 Các thành phần
Mỗi CSDL có các đối tượng sau:
Table: là đối tượng chính của cơ sở dữ liệu lưu trữ dữ liệu cần quản lý.Mỗi table có một hay nhiều Field Mỗi Field ứng với một loại dữ liệu cần lưutrữ
Table còn có các thành phần liên quan như:
Ràng buộc(Constraint): là các chỉ định rành buộc dữ liệu trong bảng hoặccác bảng khác nhau theo một quy tắc nào đó
Trang 19 Bẫy lỗi(Triggers): thường chứa các mã lệnh kiểm tra dữ liệu, có tính năng
tự động thực hiện khi có hành động nào đó xảy ra đối với dữ liệu trong Table nhưInsert, Update, Delete
Chỉ mục(Indexs): Hỗ trợ việc sắp xếp và tìm kiếm nhanh các thông tintrên Table
Diagram(Sơ đồ quan hệ): Thể hiện mối quan hệ dữ liệu giữa các Table vớinhau
Views (Khung nhìn hay table ảo): Là đối tượng dùng hiển thị dữ liệu đượcrút trích, tính toán từ các Table theo nhu cầu của người dùng
Stored Procedure (Thủ tục nội): Chứa các lệnh T-SQL dùng thực hiệnmột số tác vụ nào đó Stored Procedure có thể nhận và truyền tham số, được biêndịch trước, do đó thời gian thực hiện nhanh khi được gọi Có nhiều StoredProcedure hệ thống được định nghĩa với tiền tố “sp_” có nhiệm vụ thu nhậpthông tin từ các bảng hệ thống và rất có ích cho việc quản trị cơ sở dữ liệu
Users: Chứa danh sản phẩm User sử dụng cơ sở dữ liệu Người quản trị hệ
thống cao nhất có User Name là bdo, tên đăng nhập (Login Name) hệ thống mặc định là sa Tài khoản sa luôn tồn tại và không thể bỏ đi.
1.4 Ngôn ngữ lập trình
1.4.1 Lập trình hướng đối tượng
Lập trình hướng đối tượng (gọi tắt là OOP-Object Oriented Programming), là
kĩ thuật lập trình hỗ trợ công nghệ đối tượng OOP được xem là giúp tăng năngsuất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng website bằng cách chophép lập trình viên tập trung vào các đối tượng website ở bậc cao hơn Ngoài ra,nhiều người còn cho rằng OOP dễ tiếp thu hơn cho những người mới học về lậptrình hơn là các phương pháp trước đó
Một cách giản lược, đây là khái niệm và là một nỗ lực nhằm giảm nhẹ cácthao tác viết mã cho người lập trình, cho phép họ tạo ra các ứng dụng mà các yếu
tố bên ngoài có thể tương tác với các chương trình đó giống như là tương tác vớicác đối tượng vật lý
Trang 20Những đối tượng trong một ngôn ngữ OOP là các kết hợp giữa mã và dữliệu mà chúng được nhìn nhận như là một đơn vị duy nhất Mỗi đối tượng có mộttên riêng biệt và tất cả các tham chiếu đến đối tượng đó được tiến hành qua têncủa nó.Như vậy, mỗi đối tượng có khả năng nhận vào các thông báo, xử lý dữliệu (bên trong của nó), và gửi ra hay trả lời đến các đối tượng khác hay đến môitrường
1.4.2 Giới thiệu về ngôn ngữ trình C#
Để xây dựng website quản lý, ngoài hệ quản trị cơ sở dữ liệu SQL Server
2008, tác giả còn sử dụng công cụ lập trình C# để xây dựng website
Sau khi đánh giá và so sánh ưu nhược điểm của từng ngôn ngữ, tác giả lựachọn sử dụng ngôn ngữ C# để xây dựng code nguồn chương trình
C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là
phần khởi đầu cho kế hoạch NET của họ Microsoft phát triển C# dựa trên C++ và Java C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, VisualBasic, Delphi và Java
C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư website nổi tiếngvới các dự án website Turbo Pascal, Delphi, J++, WFC
C# là ngôn ngữ lập trình phản ánh trực tiếp nhất đến NET Framework mà tất
cả các chương trình NET chạy, và nó phụ thuộc mạnh mẽ vào Framework này Mọi
dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình dọn rác Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class, delegate,interface, exception, v.v, phản ánh rõ ràng những đặc trưng của NET runtime
Garbage-Ưu điểm
C# được kế thừa những ưu điểm của C/C++, bỏ đi những dư thừa khôngcần thiết gây khó khăn cho người dùng
Câu lệnh C# đơn giản, ít từ khóa
Tính năng debug rất thuận tiện
Trang 21 Ngôn ngữ lập trình C# được đánh giá là dễ học và kết hợp được nhiều ưuđiểm của các ngôn ngữ lập trình hướng đối tượng Java và C++ Do đó ngôn ngữ C#đang được ưa chuộng nhất.
Ngôn ngữ C# là cơ sở để phát triển các ứng dụng Windows form,ASP.NET, Web service …
Hỗ trợ nhiều thư viện hàn có sẵn giúp cho người lập trình lấy hàm dễdàng và thuận tiện
Nhược điểm
C# chỉ có thể chạy trên nền Windows và NET Framework Vì vậy nóhạn chế phạm vi các ứng dụng của C# Đó là nhược điểm lớn nhất của C# với cácngôn ngữ khác
Trang 22CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Sơ đồ User Case
2.1.1 Các kiểu hệ thống (Actor)
Khách hàng
Khách hàng xem và mua hàng tại Website Website cung cấp nhiều chứcnăng cho khách hàng.Các chức năng phục vụ cho khách hàng nhằm giúp kháchhàng có nhiều tiện ích khi xem và mua hàng như: xem tin tức, xem chi tiết sảnphẩm, chọn sản phẩm bỏ vào giỏ, tạo đơn đặt hàng Khách hàng có thể đăng ký tàikhoản và mật khẩu cho lần giao dịch tiếp theo
Bộ phận quản trị
Người quản trị website đăng nhập vào hệ thống nhằm mục đích quản lýthông tin, có toàn quyền sử dụng cấu hình và thêm sửa xóa cơ sở dữ liệu, xem cácchi tiết đơn hàng, quản lý danh mục, quản lý sản phẩm…
Trang 232.1.2 Xác định các chức năng
Chức năng đối với khách hàng
Hình 2.1: Biểu đồ phân cấp chức năng cho khách hàng
Khách hàng có những chức năng sau
Chức năng tìm kiếm
Chức năng tìm kiếm tên sản phẩm
Chức năng tìm kiếm giá sản phẩm
Trang 24 Chức năng thêm sản phẩm vào giỏ hàng
Chức năng xóa sản phẩm trong giỏ hàng
Đặt hàng
Chức năng xem sản phẩm
Xem sản phẩm theo danh mục
Xem chi tiết sản phẩm
Chức năng đối với người quản trị hệ thống
Mô hình phân cấp chức năng
Hình 2.2: Biểu đồ phân cấp chứ năng Admin
Trang 25 Admin là người quản lý hệ thống webstie có các chức năng sau:
2.1.3 Sơ đồ Use Case
Use-Case diagram: Là các chuỗi sự kiện mô tả sự tương tác giữa user và hệthống Cung cấp cái nhìn tổng thể về những gì mà hệ thống phải làm và ai sẽ dùngnó
Trang 26 Sơ đồ Use Case cho khách hàng
Hình 2.3 Sơ đồ Use-Case cho khách hàng
Trang 27 Sơ đồ Use Case cho bộ phận quản trị hệ thống
Hình 2.4 Sơ đồ Use Case cho người quản trị hệ thống
Sơ đồ use case Quản lí sản phẩm