Việc thanh toán cũng qua mạng và thực hiện rất dễ dàng bằng cách chuyển khoản hoặc sử dụng thẻ tín dụng.Còn đối với các nước đang phát triển như Việt Nam thì thương mại điện tử điqua gia
Trang 1Đặc biệt em xin chân thành cảm ơn ThS NguyễnThị Mười Phương đã tận
tình hướng dẫn, chỉ bảo cho em trong suốt thời gian qua
Sinh viên : Nguyễn Thanh Hiền
Trang 2MỤC LỤC
Trang
LỜI NÓI ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ INTERNET VÀ THƯƠNG MẠI ĐIỆN TỬ 2
1.1 Khái niệm Internet 2
1.2 Thương mại điện tử 3
1.2.1 Thương Mại Điện Tử là gì? 3
1.2.2 Vai trò Thương mại điện tử. 4
1.3.Thanh toán điện tử 4
1.4 Quảng cáo trên internet 5
1.5 Pháp luật về thương mại điện tử 5
1.6 Các loại hình giao dịch TMĐT 6
1.7 Tình hình Thương mại trên Thế giới và Việt Nam. 8
1.7.1 Thế giới 8
1.7.2 Việt Nam 8
CHƯƠNG 2: GIỚI THIỆU VỀ NGÔN NGỮ PHP VÀ MYSQL 10
2.1 NGÔN NGỮ PHP 10
2.1.1 Khái niệm PHP 10
2.1.2Các kiểu dữ liệu của PHP 10
2.1.3 Các toán tử 10
2.1.4 Các câu lệnh có điều kiện 10
2.1.5 Các loại vòng lặp 11
2.1.6 Lập trình Form – Lập trình cơ cở dữ liệu 12
2.1.7 Xử lý file 16
2.1.8 XML – WEB SERVICE 18
2.2 MYSQL 22
2.1.1 MySQL là gì ? 22
2.1.2 Lý do chọn MySQL 22
Trang 32.1.3 Các kiểu dữ liệu trong MySQL 26
2.1.4 Các mệnh đề trong MySQL 28
2.1.5 Các hàm thông dụng trong MySQL 29
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 33
3.1 Phân tích thiết kế 33
3.1.1 Người sử dụng hệ thống 33
3.1.2 Hệ thống chức năng 33
3.2 THIẾT KẾ HỆ THỐNG 45
3.3 Lưu đồ thuật toán 51
3.3.1 Đăng ký 51
3.3.2 Đăng nhập 52
3.3.3 Thoát 53
3.3.4 Thêm vào giỏ hàng 54
3.3.5 Đặt hàng 55
3.3.6 Sửa thông tin cá nhân 56
3.3.7 Thay đổi mật khẩu 57
3.3 8 Thông tin phản hồi 58
3.3.9 Thêm sản phẩm 59
3.3.10 Xóa sản phẩm 60
3.3.11 Xóa tài khoản của thành viên 61
3.3.12 Thông tin đặt hàng 62
3.4 Sơ đồ thực thể dữ liệu 63
3.5 Thiết kế cơ sở dữ liệu 64
CHƯƠNG 4: GIAO DIỆN CHƯƠNG TRÌNH VÀ HƯỚNG DẪN CÀI ĐẶT 68
4.1 Giao diện của chương trình 68
4.2 Hướng dẫn cài đặt 71
Kết luận 77
TÀI LIỆU THAM KHẢO 79
Trang 4MỞ ĐẦU
Ngày nay tại các nước phát triển, thương mại điện tử là một loại hìnhthương mại đã rất phổ biến Người dùng Internet tại các nước phát triển có thểmua, bán, trao đổi hầu như mọi thứ qua mạng Việc thanh toán cũng qua mạng
và thực hiện rất dễ dàng bằng cách chuyển khoản hoặc sử dụng thẻ tín dụng.Còn đối với các nước đang phát triển như Việt Nam thì thương mại điện tử điqua giai đoạn đầu của quá trình phát triển
Trong hoạt động sản xuất kinh doanh thương mại điện tử đã khẳng địnhđược vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp Đối với mộtcông ty hay một cửa hàng việc quảng bá và giới thiệu đến khách hàng các sảnphẩm hàng hóa mới trong từng thời điểm một cách hiệu quả và kịp thời là yếu tốmang tính quyết định cho sự tồn tại và phát triển của công ty Vì vậy, sẽ là thiếusót nếu công ty của bạn chưa xây dựng được một website để giới thiệu rộng rãicác sản phẩm hàng hóa đến với khách hàng Và một vấn đề đặt ra song song với
nó là làm sao để có thể quản lý và điều hành website một cách dễ dàng và hiệuquả, có như vậy, thì mới tránh được sự nhàm chán cho những khách hàngthường xuyên của website và thu được những kết quả như mong muốn Đây làvấn đề hết sức cấp thiết và luôn là nỗi trăn trở của hầu hết các công ty hay cửahàng và cả các doanh nghiệp
Các website giới thiệu, bán hàng qua mạng đang ngày một phát triển.Điều đó đã khẳng định một vai trò không thể thiếu của thương mại điện tử trongcuộc sống hôm nay Người được hưởng lợi nhiều nhất trước xu thế này đó là nhàsản xuất và người tiêu dùng vì họ tiết kiệm được khá nhiều chi phí và thời
gian.Từ yêu cầu thực tế đó em đã chọn để tài: “Xây dựng website bán điện thoại”.
Sinh viên thực hiện
Nguyễn Thanh Hiền
Trang 5CHƯƠNG 1 TỔNG QUAN VỀ INTERNET VÀ THƯƠNG MẠI ĐIỆN TỬ
1.1 Khái niệm Internet
Internet là một hệ thống thông tin toàn cầu có thể được truy nhập côngcộng gồm các mạng máy tính được liên kết với nhau Hệ thống này truyền thôngtin theo kiểu nối chuyển gói dữ liệu (packet switching) dựa trên một giao thứcliên mạng đã được chuẩn hóa (giao thức IP) Hệ thống này bao gồm hàng ngànmạng máy tính nhỏ hơn của các doanh nghiệp, của các viện nghiên cứu và cáctrường đại học, của người dùng cá nhân, và các chính phủ trên toàn cầu
Tiền thân của mạng Internet ngày nay là mạng ARPANET Cơ quan quản
lý dự án nghiên cứu phát triển ARPA thuộc bộ quốc phòng Mỹ liên kết 4 địađiểm đầu tiên vào tháng 7 năm 1969 bao gồm: Viện nghiên cứu Stanford, Đạihọc California, Los Angeles, Đại học Utah và Đại học California, Santa Barbara
Đó chính là mạng liên khu vực (Wide Area Network - WAN) đầu tiên được xâydựng
Thuật ngữ "Internet" xuất hiện lần đầu vào khoảng năm 1974 Lúc đómạng vẫn được gọi là ARPANET Năm 1983, giao thức TCP/IP chính thứcđược coi như một chuẩn đối với ngành quân sự Mỹ và tất cả các máy tính nốivới ARPANET phải sử dụng chuẩn mới này Năm 1984, ARPANET được chia
ra thành hai phần: phần thứ nhất vẫn được gọi là ARPANET, dành cho việcnghiên cứu và phát triển; phần thứ hai được gọi là MILNET, là mạng dùng chocác mục đích quân sự
Giao thức TCP/IP ngày càng thể hiện rõ các điểm mạnh của nó, quan trọngnhất là khả năng liên kết các mạng khác với nhau một cách dễ dàng Chính điềunày cùng với các chính sách mở cửa đã cho phép các mạng dùng cho nghiên cứu
và thương mại kết nối được với ARPANET, thúc đẩy việc tạo ra một siêu mạng
Trang 6(SuperNetwork) Năm 1980, ARPANET được đánh giá là mạng trụ cột củaInternet.
Mốc lịch sử quan trọng của Internet được xác lập vào giữa thập niên 1980khi tổ chức khoa học quốc gia Mỹ NSF thành lập mạng liên kết các trung tâmmáy tính lớn với nhau gọi là NSFNET Nhiều doanh nghiệp đã chuyển từARPANET sang NSFNET và do đó sau gần 20 năm hoạt động, ARPANETkhông còn hiệu quả đã ngừng hoạt động vào khoảng năm 1990
Sự hình thành mạng xương sống của NSFNET và những mạng vùng khác
đã tạo ra một môi trường thuận lợi cho sự phát triển của Internet Tới năm 1995,NSFNET thu lại thành một mạng nghiên cứu còn Internet thì vẫn tiếp tục pháttriển
Với khả năng kết nối mở như vậy, Internet đã trở thành một mạng lớnnhất trên thế giới, mạng của các mạng, xuất hiện trong mọi lĩnh vực thương mại,chính trị, quân sự, nghiên cứu, giáo dục, văn hoá, xã hội Cũng từ đó, các dịch
vụ trên Internet không ngừng phát triển tạo ra cho nhân loại một thời kỳ mới: kỷnguyên thương mại điện tử trên Internet
1.2 Thương mại điện tử
1.2.1 Thương Mại Điện Tử là gì?
Thương mại điện tử ( EC ) là một từ dùng để mô tả quá trình mua , bán vàtrao đổi mặt hàng, dịch vụ và thông tin thông qua mạng máy tính bao gồm cảmạng Internet
Thương mại được gọi là thương mại điện tử hay không là tùy thuộc vào mức
độ số hóa của mặt hàng được bán, của tiến trình và các đại lý phân phối Nếu cótối thiểu một yếu tố được số hóa thì chúng ta xem nó là một EC, nhưng khôngphải là thuần EC
Thương mại điện tử không chỉ là bán hàng trên mạng hay bán hàng trênInternet mà là hình thái hoạt động trong kinh doanh như: giao dịch, mua bán,
Trang 7thanh toán, đặt hàng, quảng cáo và kể cả giao hàng Các phương pháp điện tử ởđây không chỉ có Internet mà bao gồm việc sử dụng các phương tiện công nghệnhư: điện thoại, máy Fax, truyền hình, mạng máy tính ( trong đó có Internet) Thương mại điện tử cũng bao hàm cả việc trao đổi thông tin kinh doanhthông qua các phương tiện công nghệ điện tử Thông tin ở đây không chỉ lànhững số liệu hay văn bản, tin tức mà nó còn bao gồm cả hình ảnh, âm thanh vàvideo.
Các hình thứ hoạt động Thương mại điện tử:
Thư tín điện tử
Thanh toán điện tử
Trao đổi dữ liệu điện tử
Trao đổi số các dung liệu
Mua bán hàng hóa hữu hình
1.2.2 Vai trò Thương mại điện tử.
Tuy mới phát triển mạnh mẽ khoảng 15 năm qua, nhưng Thương Mại Điện
Tử đã khẳng định được vị thế và xu hướng tất yếu của nền kinh tế hiện đại.Trước sức mạnh cạnh tranh mạnh mẽ trên phạm vi toàn cầu, Internet và ThươngMại Điện Tử đã mở ra một thì trường không biên giới khắp toàn cầu, tạo cho cácdoanh nghiệp nhiều cơ hội mới để tiếp cận với bạn hàng khắp nơi trên thế giới.Thực sự thì trường kinh doanh điện tử đã tạo ra một sân chơi mà nơi các nhàcung cấp nhỏ có thể cạnh tranh tốt với những công ty lớn
1.3.Thanh toán điện tử
Thanh toán điện tử là hình thức thanh toán tiến hành trên môi trường
internet, thông qua hệ thống thanh toán điện tử người sử dụng qua mạng có thểtiến hành hoạt động thanh toán, chi trả, chuyển tiền…
Trang 8Thanh toán điện tử được sử dụng khi chủ thể tiến hành mua hàng trên cácsiêu thị ảo và thanh toán qua mạng Để thực hiện việc thanh toán thì hệ thốngmáy chủ siêu thị phải được có phần mềm thanh toán trong website của mình.
1.4 Quảng cáo trên internet
Cũng như các hình thức quảng cáo khác, quảng cáo trên mạng nhằm cungcấp đầy đủ thông tin đẩy nhanh tiến độ giao dịch giữa người bán và người mua.Tuy nhiên quảng cáo trên mạng khác hẳn với quảng cáo trên các phương tiệnthông tin đại chúng vì nói giúp người tiêu dùng có thể tương tác với quảng cáo.Trên mạng mọi thứ đều có thể đưa vào quảng cáo, từ bố trí sản phẩm đến thiết
kế các ảnh nền phía sau nội dung quảng cáo làm cho logo hoặc bất cứ nhãn hiệusản phẩm nào cũng trở lên nổi bật Quảng cáo trên internet cũng tạo cơ hội chocác nhà quảng cáo nhắm chính xác vào đối tượng khác hàng của mình và giúp
họ quảng cáo với đúng sở thích và thị hiếu người dùng Ngoài ra quảng cáo quamạng còn là sự kết hợp của quản lý truyền thống và tiếp thị trực tiếp Đó là sựkết hợp của hàng cung cấp nhãn hiệu, cung cấp thông tin và trao đổi buôn bán ởcùng 1 nơi
* Các hình thức quảng cáo trên internet
- Quảng cáo bằng banner, đường link qua các website khác
- Quảng cáo qua e-mail, yahoo…
- Quảng cáo trên website
1.5 Pháp luật về thương mại điện tử
Ngày 1/3/2006, Luật Giao dịch điện tử Việt Nam chính thức có hiệu lực.Đến cuối năm 2007, bốn trong số năm nghị định hướng dẫn Luật Giao dịch điện
tử đã được ban hành, về cơ bản hoàn thành khung pháp lý cho việc triển khaiứng dụng giao dịch điện tử trong các lĩnh vực lớn của đời sống xã hội
Ngày 9/6/2006, Chính phủ ban hành Nghị định về Thương mại điện tử vớiviệc thừa nhận chứng từ điện tử có giá trị pháp lý tương đương chứng từ truyền
Trang 9thống trong mọi hoạt động thương mại từ chào hàng, chấp nhận chào hàng, giaokết hợp đồng cho đến thực hiện hợp đồng.
Ngày 15/2/2007, Nghị định số 26/2007/NĐ-CP quy định chi tiết về Chữ ký
số và Dịch vụ chứng thực chữ ký số được ban hành Nghị định này quy định vềchữ ký số và các nội dung cần thiết liên quan đến sử dụng chữ ký số, bao gồmchứng thư số và việc quản lý, cung cấp và sử dụng dịch vụ chứng thực chữ ký
số Đây là những quy định nền tảng để thiết lập một cơ chế đảm bảo an ninh antoàn cũng như độ tin cậy của các giao dịch điện tử, là điều kiện tiên quyết vềmặt kỹ thuật để thúc đẩy ứng dụng thương mại điện tử rộng rãi trong xã hội Ngày 23/2/2007,Chính phủ ban hành Nghị định số 27/2007/NĐ-CP quyđịnh chi tiết thi hành Luật Giao dịch điện tử trong hoạt động tài chính Nghịđịnh này ra đời nhằm đảm bảo các điều kiện cần thiết để hình thành và phát triểnmột môi trường giao dịch điện tử an toàn, hiệu quả; giúp Chính phủ quản lýđược giao dịch điện tử trong hoạt động nghiệp vụ tài chính, giảm thiểu hậu quảxấu phát sinh trong giao dịch điện tử như trốn thuế, gian lận khi lập hóa đơnchứng từ
Ngày 8/3/2007, Nghị định số 35/2007/NĐ-CP về Giao dịch điện tử tronghoạt động ngân hàng được ban hành tập trung hướng dẫn việc áp dụng LuậtGiao dịch điện tử cho các hoạt động ngân hàng cụ thể, bảo đảm những điều kiệncần thiết về môi trường pháp lý để củng cố, phát triển các giao dịch điện tử antoàn và hiệu quả đối với hệ thống ngân hàng
1.6 Các loại hình giao dịch TMĐT
Trong TMĐT có ba chủ thể tham gia: Doanh nghiệp (B) giữ vai tròđộng lực phát triển TMĐT, người tiêu dùng (C) giữ vai trò quyết định sựthành công của TMĐT và chính phủ (G) giữ vai trò định hướng, điều tiết vàquản lý Từ các mối quan hệ giữa các chủ thể trên ta có các loại giao dịchTMĐT: B2B, B2C, B2G, C2G, C2C trong đó B2B và B2C là hai loại hình
Trang 10giao dịch TMĐT quan trọng nhất.
*Business-to-business (B2B) : Mô hình TMĐT giữa các doanh nghiệp
với doanh nghiệp
TMĐT B2B (Business-to-business) là việc thực hiện các giao dịch giữacác doanh nghiệp với nhau trên mạng
Các loại giao dịch B2B cơ bản:
−Bên Bán — (một bên bán nhiều bên mua) là mô hình dựa trêncông nghệ web trong đó một công ty bán cho nhiều công ty mua
−Bên Mua — một bên mua - nhiều bên bán
−Sàn Giao Dịch — nhiều bên bán - nhiều bên mua
−TMĐT phối hợp — Các đối tác phối hợp nhau ngay trong quá trìnhthiết kế chế tạo sản phẩm
*Business-to-consumer (B2C): Mô hình TMĐT giữa doanh nghiệp và
người tiêu dùng
Trang 11Hình : các loại giao dịch B2B trong TMĐT
Đây là mô hình bán lẻ trực tiếp đến người tiêu dùng Trong TMĐT, bán
lẻ điện tử có thể từ nhà sản xuất, hoặc từ một cửa hàng thông qua kênh phânphối Hàng hoá bán lẻ trên mạng thường là hàng hoá, máy tính, đồ điện tử,dụng cụ thể thao, đồ dùng văn phòng, sách và âm nhạc, đồ chơi, sức khoẻ và
mỹ phẩm, giải trí v.v…
Hai loại giao dịch trên là giao dịch cơ bản của TMĐT Ngoài ra trongTMĐT người ta còn sử dụng các loại giao dịch: Govement-to-Business(G2B) là mô hình TMĐT giữa doanh nghiệp với cơ quan chính phủ,Government-to-citizens (G2C) là mô hình TMĐT giữa các cơ quan chính phủ
và công dân còn goi là chính phủ điện tử, consumer-to- consumer (C2C) là
mô hình TMĐT giữa các người tiêu dùng và mobile commerce commerce) là TMĐT thực hiện qua điện thoại di động
(m-1.7 Tình hình Thương mại trên Thế giới và Việt Nam.
1.7.1 Thế giới
TMĐT hiện vẫn chủ yếu được ứng dụng ở các nước phát triển, trong đóriêng Mỹ chiếm 50% tổng doanh số TM ĐT toàn cầu Sự phát triển TM ĐT gắnliền với sự phát triển công nghệ thông tin ( CNTT ), dựa trên nền tảng củaCNTT
1.7.2 Việt Nam
Sự phát triển TMĐT của Việt Nam còn quá chậm so với tốc độ phát triểnTMĐT trên thế giới Chúng ta chưa có lộ trình, chưa có kế hoạch tổng thể choviệc khai thác và ứng dụng TMĐT ở Việt Nam Chúng ta chưa có một tổ chứcđầu mối ở tầm quốc gia để có thể điều hành, chỉ đạo, giúp chính phủ hoạch địnhcác chính sách liên quan tới phát triển TMĐT
Về nhận thức: Trong khi TMĐT đang phát triển rất mạnh trong khu vựccũng như trên thế giới thì ở Việt Nam, hầu hết các doang nghiệp vẫn quen với
Trang 12nếp kinh doanh cũ bề bộn công việc bàn giấy cũng như hàng loạt các ràng buộc
về thủ tục hành chính… Người tiêu dùng Việt Nam vẫn quen tập quán sinh hoạt
cũ đó là ra chợ hay của hàng lựa chọn và thanh toán bằng tiền mặt Hiện chỉ cókhoảng 5% doanh nghiệp vừa và nhỏ quan tâm tới TMĐT Phần lớn các doanhnghiệp không có chút hiểu biết về TMĐT
Về cơ sở hạ tầng CNTT và nhân lực: Hầu hết các doanh nghiệp khó tiếp thuđược công nghệ mới, đặc biệt có những doanh nghiệp chưa có máy tính Doangnghiệp lúng túng trong việc tìm kiếm thông tin, quảng bá hoạt động kinh doanhtrên Internet Các loại phần mềm cao cấp hỗ trợ việc kinh doanh thì chưa đượcbiết đến Mặt khác do các nhà cung cấp dịch vụ Internet quy mô nhỏ lẻ nhưng
bộ máy cồng kềnh, quản lý kém, năng lực sản xuất thấp nên giá thành sản xuấtlớn, các dịch vụ đưa ra thực sự còn quá cao so với khả năng chi trả của thịtrường
Thực trạng về cơ chế chính sách và cơ sở hạ tầng công nghệ quốc gia: Cướctruy nhập Internet còn cao, tốc độ quá thấp so với các nước trong khu vực Nhànước chưa có một văn bản pháp lý nào về TMĐT như công nhận chữ ký điện tử,chứng thực điện tử…Hệ thống thanh toán điện tử chưa phát triển đủ đáp ứng yêucầu của TMĐT
Trang 13CHƯƠNG 2: GIỚI THIỆU VỀ NGÔN NGỮ PHP VÀ MYSQL2.1 NGÔN NGỮ PHP
2.1.1 Khái niệm PHP
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lậptrình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứngdụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rấtthích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưuhóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễhọc và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữkhác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biếnnhất thế giới.
2.1.2Các kiểu dữ liệu của PHP
- Kiểu số nguyên: int
- Kiểu số thực: float , double
- Kiểu chuỗi: string
- Kiểu logic: boolean
- Kiểu đối tượng: object
b Toán tử Logic: ! (not) , && (and) , || (or)
c Toán tử so sánh: == , === (so sánh bằng trong mảng) , > , >= , < , <= , !=
d Toán tử gán, phép nối: =; +=; -=; *=; /=; =
e Toán tử tăng giảm: ++$i; $i++; $i; $i—
2.1.4 Các câu lệnh có điều kiện
Trang 14- Vòng lặp while
while (<điều kiện>)
{
-}
Trang 15- Vòng lặp do while
do
{
-}
-while (<điều kiện>);
2.1.6 Lập trình Form – Lập trình cơ cở dữ liệu
<form id="form1" name="form1" method="get" action="login.php">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
Trang 17* Giải thích: Là dạng ghi dữ liệu tại máy client theo cú pháp: key = value
Trang 18- Hàm trả về 1 recordset nếu câu lệnh select được thực hiện thành công.
- Hàm trả về false nếu câu lệnh SQl không được thực hiện
Trang 19-MYSQL_NUM: Hàm trả về 1 mảng có số phần tử bằng với số trường lấy
Trang 21chdir(<Name>);
Trang 23-XML được tạo ra nhằm mục đích:
+ Lưu trữ dữ liệu dạng file
+ Trao đổi, chia sẻ dữ liệu
+ Quy tắt trong file XML
-Được mở đầu bằng tag <?xml …?>
-Có 1 tag làm gốc (Chỉ mở và đóng 1 lần)
-Các tag phải có mở và có đóng và theo thứ tự: mở trước đóng sau
-Thuộc tính của các tag nằm trong 2 dấu nháy kép
+ Các thuật ngữ thường sử dụng
-Entity: Thực thể, là đơn vị lưu trữ
-Element: Dữ liệu của đối tượng cần lưu trữ, có thể chứa các thành phần con hoặc các thuộc tính (attribute)
-Document Type Declaration (DTD): Đặc tả cấu trúc XML
-Well-formed: XML tuân thủ theo đúng quy tắt
-Valid: 1 file XML được gọi là valid nếu được được thiết kế đúng chuẩn và
Trang 25+ SOAP
Giới thiệu
- SOAP (Simple Object Access Protocol): là một giao thức hổ trợ xây dựngWeb service nhằm chia sẻ dữ liệu
- Một ứng dụng có thể gởi yêu cầu (request) đến một dịch vụ (web service)
và nhận kết quả (response) thông qua các SOAP envelop
- SOAP sử dụng XML để trao đổi dữ liệu
- SOAP được dùng dưới dạng dữ liệu WSDL (Web Service DescriptionLanguage) hoặc Non-WSDL
Truy xuất dịch vụ SOAP
Sử dụng đối tượng SoapClient:
- REST nhận yêu cầu theo phương thức GET và trả kết quả dạng XML
Truy xuất dịch vụ REST
Sử dụng đối tượng SimpleXMLElement để tiếp nhận kết quả trả về
Trang 262.2 MYSQL
2.1.1 MySQL là gì ?
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và
được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng VìMySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển,hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện íchrất mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứngdụng có truy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn
có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hànhkhác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac
OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu
quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác,
nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,
Trang 27+ Tính thực thi cao
Kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấu hình máychủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù Dù ứng dụng làmột hệ thống xử lý giao dịch tốc độ cao hay web site dung lượng lớn phục vụhàng triệu yêu cầu mỗi ngày, MySQL có thể đáp ứng khả năng xử lý những đòihỏi khắt khe nhất của bất kì hệ thống nào Với các tiện ích tải tốc độ cao, đặcbiệt bộ nhớ caches, và các cơ chế xử lý nâng cao khác, MySQL đưa ra tất cả các
vũ khí cần phải có cho các hệ thống doanh nghiệp khó tính ngày nay
+ Có thể sử dụng ngay
Sự đáng tin cậy cao và tính “mì ăn liền” là những tiêu chuẩn đảm bảo củaMySQL MySQL đưa ra nhiều tùy chọn có thể dùng ngay từ cấu hình tái tạochủ/tớ tốc độ cao, để các nhà phân phối thứ 3 đưa ra những giải pháp có thểdùng ngay duy nhất cho server cơ sở dữ liệu MySQL
+ Hỗ trợ giao dịch mạnh
MySQL đưa ra một trong số những engine giao dịch cơ sở dữ liệu mạnh nhấttrên thị trường Các đặc trưng bao gồm hỗ trợ giao dịch ACID hoàn thiện( Atomic – tự động, Consistent – thống nhất, Isolated – độc lập, Durable – bềnvững), khóa mức dòng không hạn chế, khả năng giao dịch được phân loại, và hỗtrợ giao dịch đa dạng (multi-version) mà người đọc không bao giờ gây trở ngạicho người viết và ngược lại Tính toàn vẹn của dữ liệu cũng phải được bảo đảmtrong suốt quá trình server có hiệu lực, các mức giao dịch độc lập được chuyênmôn hóa, và phát hiện khóa chết ngay lập tức
+ Nơi lưu trữ Web và Data đáng tin cậy
MySQL là nhà máy chuẩn cho các web sites phải trao đổi thường xuyên vì nó
có engine xử lý tốc độ cao, khả năng chèn dữ liệu nhanh và hỗ trợ mạnh cho cácchức năng chuyên dụng của web như tìm kiếm văn bản nhanh Những tính năngnày cũng được áp dụng cho môi trường lưu trữ dữ liệu mà MySQL tăng cường
Trang 28đến hàng terabyte cho các server đơn Các tính năng khác như bảng nhớ chính,cây B và chỉ số băm, và bảng lưu trữ đã được cô lại để giảm các yêu cầu lưu trữđến 80% làm cho MySQL trở thành lựa chọn tốt nhất cho cả ứng dụng web vàcác ứng dụng doanh nghiệp.
+ Chế độ bảo mật dữ liệu mạnh
Vì bảo mật dữ liệu cho một công ty là công việc số một của các chuyên gia về
cơ sở dữ liệu, MySQL đưa ra tính năng bảo mật đặc biệt chắc chắn dữ liệu sẽđược bảo mật tuyệt đối Trong việc xác nhận truy cập cơ sở dữ liệu, MySQLcung cấp các kĩ thuật mạnh mà chắc chắn chỉ có người sử dụng đã được xácnhận mới có thể truy nhập được vào server cơ sở dữ liệu, với khả năng này đểchặn người dùng ngay từ mức máy khách là điều có thể làm được SSH và SSLcũng được hỗ trợ để chắc chắn các kết nối được an toàn và bảo mật Một đốitượng framework đặc quyền được đưa ra mà người sử dụng chỉ có thể nhìn thấy
dữ liệu, các hàm mã hóa và giải mã dữ liệu mạnh chắc chắn rằng dữ liệu sẽ đượcbảo mật Cuối cùng, tiện ích backup và recovery cung cấp bởi MySQL và cáchãng phần mềm thứ 3 cho phép backup logic và vật lý hoàn thiện cũng nhưrecovery toàn bộ hoặc tại một thời điểm nào đó
+ Sự phát triển ứng dụng hỗn hợp
Một trong số các lý do khiến cho MySQL là cơ sở dữ liệu mã nguồn mở phổbiến nhất thế giới là nó cung cấp hỗ trợ hỗn hợp cho bất kì sự phát triển ứngdụng nào cần Trong cơ sở dữ liệu, hỗ trợ có thể được tìm thấy trong các storedprocedure, trigger, function, view, cursor, ANSI-standard SQL, và nhiều nữa.Với các ứng dụng nhúng, thư viện plug-in có sẵn để nhúng vào cơ sở dữ liệuMySQL hỗ trợ trong bất kì ứng dụng nào MySQL cũng cung cấp các bộ kếtnối như: ODBC, JDBC, … để cho phép tất cả các form của ứng dụng sử dụngMySQL như một server quản lí dữ liệu được ưu tiên
Trang 29+ Dễ dàng quản lý
MySQL trình diễn khả năng cài đặt nhanh đặc biệt với thời gian ở mức trungbình từ lúc download phần mềm đến khi cài đặt hoàn thành chỉ mất chưa đầy 15phút Điều này đúng cho dù flatform là Microsoft Windows, Linux, Macintoshhay Unix Khi đã được cài đặt, tính năng tự quản lý như tự động mở rộng khônggian, tự khởi động lại, và cấu hình động sẵn sàng cho người quản trị cơ sở dữliệu làm việc MySQL cũng cung cấp một bộ hoàn thiện các công cụ quản lý đồhọa cho phép một DBA quản lý, sửa chữa, và điều khiển hoạt động của nhiềuserver MySQL từ một máy trạm đơn Nhiều công cụ của các hãng phần mềmthứ 3 cũng có sẵn trong MySQL để điều khiển các tác vụ từ thiết kế dữ liệu vàETL, đến việc quản trị cơ sở dữ liệu hoàn thiện, quản lý công việc, và thực hiệnkiểm tra
+ Mã nguồn mở tự do và hỗ trợ 24/7
Nhiều công ty lưỡng lự trong việc giao phó toàn bộ cho phần mềm mã nguồn
mở vì họ tin họ không thể tìm được một cách hỗ trợ hay mạng lưới an toàn phục
vụ chuyên nghiệp, hiện tại, họ tin vào phần mềm có bản quyền để chắc chắn về
sự thành công toàn diện cho các ứng dụng chủ chốt của họ Những lo lắng của
họ có thể được dẹp bỏ với MySQL, sự bồi thường là có trong mạng lướiMySQL
+ Tổng chi phí thấp nhất
Bằng cách sử dụng MySQL cho các dự án phát triển mới, các công ty đang thấy
rõ việc tiết kiệm chi phí Được hoàn thành thông qua sử dụng server cơ sở dữliệu MySQL và kiến trúc scale-out, các doanh nghiệp đã tìm ra cái mà họ có thểđạt được ở mức ngạc nhiên về khả năng xử lý Thêm vào đó, tính tin cậy và dễduy trì của MySQL ở mức trung bình mà người quản trị cơ sở dữ liệu khôngphải mất nhiều thời gian sửa chữa hay vấn đề thời gian chết
Trang 302.1.3 Các kiểu dữ liệu trong MySQL
Loại dữ liệu numeric gồm kiểu số nguyên và kiểu chấm động
Kiểu dữ liệu số nguyên
Tinyint -127 đến 128 hay 0 …255 1 Số nguyên rất nhỏ.Smallint -32768 đến 32767 hay 0…65535 2 Số nguyên nhỏ
Mediumint -8388608 đến 838860
hay 0…16777215
3 Số nguyên vừa
Int -231 đến 231 -1 hay 0…232 – 1 4 Số nguyên
Bigint -263 đến 263 -1 hay 0…264 -1 8 Số nguyên lớn
Bảng dữ liệu kiểu chấm động
sDiễn giải
float Phụ thuộc vào số thập phân Số thập phân dạng
single hay double
Float
(M,D)
+/-1 175494351E-38+/-3 40282346638
Loại dữ liệu date and time: kiểu dữ liệu date and time cho phép bạn nhập liệu
dưới dạng chuỗi ngày/ tháng/ năm hay dạng số
Trang 31Loại Range Diễn giải
Date và time trình bày dưới dạngyyyy-mm-dd, hh:mm:ss
Loại dữ liệu string: Loại dữ liệu string 3 loại trên theo bảng dưới đây:
Loại Range Diễn giải
Chiều dài của chuỗi lớn nhất 255 kí tự (characters)
Tinyblob 28 -1 Khai báo cho Field chứa kiểu đối tượng nhị phân
cỡ 255 charactersTinytext 28 -1 Khai báo cho Field chứa kiểu chuỗi cỡ 255
characterBlob 216 -1 Khai báo cho Field chứa kiểu bolb cỡ 65,535
Trang 32charactersText 216 -1 Khai báo cho Field chứa kiểu chuỗi dạng văn bản
cỡ 65,535 charactersMediumbold 224-1 Khai báo cho Field chứa kiểu bolb vừa cỡ
16,777,215 charactersMediumtext 224-1 Khai báo cho Field chứa kiểu chuỗi dạng văn bản
vừa cỡ 16,777,215 charactersLongbold 232-1 Khai báo cho Field chứa kiểu bolb lớn khoảng
4,294,967,295 charactersLongtext 232-1 Khai báo cho Field chứa kiểu chuỗi dạng văn bản
lớn khoảng 4,294,967,295 characters
2.1.4 Các mệnh đề trong MySQL
Mệnh đề FROM ,WHERE ,ORDER BY
Mệnh đề FROM chỉ ra tên 1 bảng hay những bảng có liên quan hệ cần truyvấn thông tin
Mệnh đề WHERE để tạo nên điều kiện cần lọc mẩu tin theo tiêu chuẩnđược định nghĩa Thông thường WHERE dùng cột (trường) để so sánh với giátrị cột khác, hay biểu thức chứa cột (trường) bất kỳ có trong bảng (table)Phát biểu SQL có dạng
SELECT * FROM {table} WHERE {condictions}
Các phép toán so sánh trong condictions (điều kiện) : > , < , >= , <= , = , != , <>
Các phép toán logic trong condictions: AND, OR, NOT, NOT IN, BETWEEN ,LIKE, NOT LIKE ,IN
Cú pháp cho mệnh đề ORDER BY cùng với trạng thái tăng (ASC) ,giảm dần( DESC )
Trang 33Cú pháp :
ORDER BY columnname DESC
ORDER BY columnname1 + columnname2 DESC
ORDER BY columnname ASC
ORDER BY columnname1 + columnname2 ASC
2.1.5 Các hàm thông dụng trong MySQL
Các hàm trong Phát biểu GROUP BY
- Hàm AVG : hàm trả về giá trị bình quân của cột hay trường (column) trongcâu truy vấn
Ví dụ : SELECT AVG(amount) FROM tableOrders
- Hàm MIN : hàm trả về giá tri nhỏ nhất của cột hay trường trong câu truy vấn
Ví dụ: SELECT MIN (amount) FROM tableOrders
- Hàm MAX: hàm trả về giá tri lớn nhất của cột hay trường trong câu truy vấn
Ví dụ: SELECT MAX (amount) FROM tableOrders
- Hàm Count: hàm trả về số lượng mẩu tin trong câu truy vấn trên bảng
Ví dụ : SELECT Count(*) FROM tableOrders
- Hàm Sum: hàm trả về tổng giá trị của trường (column) , cột ,trong câu truy vấn
Ví dụ : SELECT Sum(amount) FROM tableOrders
- Hàm ASCII : hàm trả về giá trị mã ASCII của ký tự bên trái của chuỗi
Ví dụ : SELECT ASCII ('TOI');
Kết quả : 84
- Hàm Char: hàm này chuyển đổi kiểu mã ASCII từ số nguyên sang dạng chuỗi
Ví dụ : SELECT Char(35)
Kết quả : #
Trang 34- Hàm UPPER:hàm này chuyển đổi chuỗi sang dạng kiểu chữ hoa
- Hàm Len: hàm này trả về chiều dài của chuỗi:
Ví dụ: SELECT LEN('I Love You')
Kết quả : 10
- Hàm LTRIM : hàm này loại bỏ khoảng trống bên trái của chuỗi:
Ví dụ : SELECT LTRIM(' hahaha');
Trang 354 là tương đương vị trí thứ 4 của chứ nguyenhien trong chuỗi "iamnguyenhien"
Các hàm xử lý thời gian trong MySQL
- Hàm CurDate() : hàm trả về ngày,tháng ,năm hiện hành của hệ thống
Ví dụ SELECT curdate() as 'Today is'
Kết quả :
Today is
-2011-12-14
- Hàm curtime(): hàm trả về giờ phút và giây hiện hành của hệ thống
Ví dụ SELECT curtime() as 'Bay gio la'
Kết quả :
Bay gio la
-07:18:46
- Hàm Period_Diff: hàm trả về số ngày trong khoảng thời gian giữa 2 ngày:
Ví dụ : SELECT Period_Diff(OrderDate,getdate()) as 'So ngay giua ngay thutien den hom nay'
- Hàm dayofmonth: hàm dayofmonth trả về ngày thứ mấy trong tháng
Ví dụ : SELECT dayofmonth(curdate()) as ' hom nay ngay'
Kết quả :17
Trang 37CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Lưu sản phẩm vào giỏ hàng
Đăng ký thành viên của WebSite
Chi tiết các chức năng của Guest:
a Xem sản phẩm
Mô tả Khách hàng có thể xem chi tiết về các sản phẩm có trên hệ
thống WebSiteThông tin nhập Lựa chọn sản phẩm muốn xem
Xử lý Tìm kiếm trong CSDL, chỉ cho phép hiển thị những sản
phẩm có trạng thái cho phép hiển thịThông tin xuất Hiển thị thông tin chi tiết về sản phẩm khách hàng
muốn tìm hiểu
Trang 38b Tìm kiếm sản phẩm
Mô tả Cho phép khách hàng tìm kiếm sản phẩm theo ý muốn.
Thông tin nhập Chọn sản phẩm cần tìm kiếm theo tên , theo giá
Xử lý Tìm kiếm thông tin theo yêu cầu trong CSDL
Thông tin xuất Đưa ra kết quả tìm kiếm Chỉ hiển thị các sản phẩm có
trạng thái cho phép hiển thị
c Lưu sản phẩm vào giỏ hàng
Mô tả Khách hàng lựa chọn sản phẩm cần mua và lưu vào giỏ
Nếu sản phẩm chưa có trong giỏ hàng thì thêm mới sản phẩm vào giỏ hàng
Thông tin xuất Thông tin về sản phẩm có trong giỏ hàng.
d Đăng ký thành viên
Mô tả
Khách hàng đăng ký là thành viên của Website để có thể mua các sản phẩm và có sự đánh giá của mình về các sản phẩm có trong Website
Thông tin nhập
Nhập thông tin các nhân theo mẫu (Tên tài khoản , Mật khẩu , Nhập lại mật khẩu ,Tên khách Hàng ,Địa chỉ khách hàng , số điện thoại, Email , Chọn câu hỏi bí mật , Trả lời câu hỏi bí mật)
Xử lý Kiểm tra thông tin nhập có hợp lệ hay không và thêm vào
CSDL
Thông tin xuất Hiển thị thông báo đăng ký thành công nếu tất cả các
Trang 39thông tin nhập là hợp lệHiển thị thông báo lỗi và yêu cầu nhập lại trong các trườnghợp còn lại
Đăng nhập vào hệ thống
Đăng xuất khỏi hệ thống
Mua hàng
Gửi ý kiến và thông tin phản hồi
Thay đổi mật khẩu
Thay đổi thông tin cá nhân
Lấy lại mật khẩu đã mất
Chi tiết các chức năng của thành viên
a Đăng nhập vào hệ thống
Mô tả Khách hàng có thể đăng nhập vào WebSite sau khi đăng ký
là thành viênThông tin nhập Nhập Username và Password
Xử lý Kiểm tra đã nhập Username và Password chưa và có tồn tại
trong CSDL không?
Thông tin xuất
Đưa ra thông báo bạn đăng nhập thành công nếu UserName
Trang 40Mô tả Thành viên thoát khỏi trạng thái đăng nhập vào WebSiteThông tin nhập Click vào biểu biểu tượng đăng xuất trên giao diện WebSite
Xử lý Thoát ra khỏi trạng thái đăng nhập của thành viên
Thông tin xuất Hiển thị đã đăng xuất thành công
c Mua hàng
Mô tả Khách hàng đặt mua những sản phẩm có trong giỏ hàngThông tin nhập Nhập thông tin khách hàng
Xử lý Đưa những sản phẩm có trong giỏ hàng của khách vào hóa
đơn và lưu vào CSDLThông tin xuất
Thông báo đã lập hóa đơn thành công, hỏi ý kiến khách hàngtiếp tục mua hàng hoặc kết thúc giao dịch và quay về trang chủ
d Gửi ý kiến và thông tin phản hồi
Mô tả Thành viên đưa ra các nhận xét đánh giá về các sản phẩm có
trên WebsiteThông tin nhập Nhập tiêu đề và nội dung góp ý nhận xét về sản phẩm
Xử lý Lưu những phản hồi vào CSDL
Không cho phép hiển thị những phản hồi không có nội dungThông tin xuất Hiện thị thông báo đã gửi nhận xét thành công