có một số lý do chính như: thứ nhất là tài nguyên về tất cả các vấn đề trênInternet quá nhiều nó đáp ứng gần như thỏa mãn mọi nhu cầu khi sử dụngInternet và truy cập vào Web, thứ hai là
Trang 1LỜI CÁM ƠN
Trong suốt quá trình học tập tại trường Đại Học Công Nghệ - Đại Học Quốc Gia Thành Phố Hồ Chí Minh, chúng em đã được các thầy cô tận tình giảng dạy, truyền đạt kiến thức và kinh nghiệm thực tiễn Luận văn tốt nghiệp là dịp để chúng em tổng kết
và ứng dụng những kiến thức đã học.
Chúng con xin tỏ lòng biết ơn cha mẹ và gia đình đã tạo mọi điều kiện thuận lợi động viên và cổ vũ tinh thần giúp chúng con hoàn thành tốt luận văn này, hoàn thành những năm đại học.
Chúng em xin chân thành cảm ơn thầy PGS.TS Nguyễn Bá Tường đã tận tình chỉ bảo, dậy dỗ, hướng dẫn chúng em trong suốt quá trình học tập và trong thời gian em nghiên cứu thực hiện đề tài.
Chúng em cũng xin cảm ơn tất cả quý thầy cô trường Đại Học Công Nghệ và Tất
cả thầy cô đã và đang làm việc tại trung tâm Kỹ Thuật Và Nghiệp Vụ Cao đã chỉ bảo, dậy dỗ, tạo điều kiện giúp chúng em trong suốt trình học tập và thực hiện tốt luận văn này.
Cuối cùng xin cảm ơn những người bạn, những người đã hết lòng động viên, giúp
đỡ, nhận xét và góp ý chân tình
Thực hiện đề tài trong thời gian và kiến thức có giới hạn, em đã nỗ lực và cố gắng hoàn thành nhưng chắc chắn không tránh khỏi những thiếu sót nhất định Kính mong sự cảm thông và đóng góp ý kiến quý báo của quý thầy cô cùng các bạn nhằm phát triển đề tài tốt hơn.
Sinh viên: Hoàng Văn Mạnh.
Trang 2MỤC LỤC
Trang 3LỜI CÁM ƠN ……… 1
MỤC LỤC ……… 2
DANH MỤC HÌNH ẢNH MINH HỌA ……… 5
MỘT SỐ TÙ VIẾT TẮT TRONG LUẬN VĂN ……… 21
LỜI MỞ ĐẦU ……… 22
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI ……… 25
1.1 Giới thiệu đề tài ……… 25
1.2 Nội dung của đề tài ……… 27
1.3 Yêu cầu đặt ra đối với hệ thống ……… 28
1.4 Công cụ hỗ trợ xây dựng hệ thống ……… 29
CHƯƠNG 2: GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH ……… 31
2.1 Giới thiệu tổng quan ……… 31
2.2 Tìm hiểu công nghệ ……… 33
2.2.1 Sử dụng các hệ quản trị cơ sở dữ liệu ……… 33
2.2.1.1 Hệ quản trị cơ sở dữ liệu Access ……… 33
2.2.1.2 Hệ quản trị cơ sở dữ liệu SQL SERVER ……… 34
2.2.1.3 Hệ quản trị cơ sở dữ liệu ORACLE ……… 35
2.2.1.4 Các ưu điểm nổi bật của MySQL ……… 36
2.2.2 Sự hỗ trợ của Server đối với các ngôn ngữ kịch bản ……… 36
2.2.2.1 Personal Web Server - PWS ……… 37
2.2.2.2 Internet Information Server – IIS ……… 37
2.2.2.3 JRUN ……… 38
2.2.2.4 APACHE ……… 38
2.2.3 Các ngôn ngữ kịch bản trên Server ……… 38
2.2.3.1 Active Sserver Pages – ASP ……… 39
2.2.3.2 Java Server Pages – JSP ……… 39
2.2.3.3 ColdFusion ……… 39
2.2.3.4 Personal Home Page – PHP ……… 40
2.2.3.5 Công nghệ MySQL và PHP ……… 41
2.3 Tìm hiểu về MYSQL và PHP ……… 43
Trang 42.3.1 Tìm hiểu về MySQL ……… 43
2.3.1.1 Giới thiệu về MySQL ……… 43
2.3.1.1.1 Cách cài đặt MySQL ……… 43
2.3.1.1.2 Đăng nhập vào hệ thống MySQL ……… 44
2.3.1.1.3 Định danh trong MySQL ……… 46
2.3.1.2 Các lệnh thao tác trên cơ sở dữ liệu ……… 47
2.3.1.2.1 Tạo cơ sở dữ liệu ……… 47
2.3.1.2.2 Xoá cơ sở dữ liệu ……… 48
2.3.1.2.3 Tạo bảng ……… 48
2.3.1.2.4 Xoá bảng ……… 52
2.3.1.2.5 Chỉnh sửa bảng ……… 53
2.3.1.2.6 Câu lệnh RENAME TABLE ……… 56
2.3.1.2.7 Câu lệnh BACKUP TABLE ……… 56
2.3.1.2.8 Câu lệnh RESTORE TABLE ……… 56
2.3.1.3 Các lệnh thao tác trên dữ liệu ……… 57
2.3.1.3.1 Câu lệnh INSERT ……… 57
2.3.1.3.2 Câu lệnh REPLACE ……… 58
2.3.1.3.3 Câu lệnh DELETE ……… 58
2.3.1.3.4 Câu lệnh TRUNCATE ……… 59
2.3.1.3.5 Câu lệnh LOAD DATA INFILE ……… 59
2.3.1.3.6 Câu lệnh UPDATE ……… 60
2.3.1.3.7 Câu lệnh SELECT ……… 60
2.3.1.3.8 Câu lệnh JOIN ……… 66
2.3.1.3.9 Dùng bí danh cho bảng ……… 68
2.3.2 Tìm hiểu về PHP ……… 68
2.3.2.1 Giới thiệu về PHP ……… 68
2.3.2.1.1 Giới thiệu về PHP ……… 68
2.3.2.1.2 Cách cài đặt PHP ……… 69
2.3.2.1.3 PHP và các hệ quản trị cơ sở dữ liệu ……… 70
2.3.2.2 Sử dụng PHP ……… 72
2.3.2.2.1 Đưa PHP vào HTML ……… 72
2.3.2.2.2 Định danh ……… 75
Trang 52.3.2.2.3 Sử dụng biến trong PHP ……… 75
2.3.2.2.4 Cấu trúc điều khiển ……… 76
2.3.2.2.5 Lưu trữ và truy xuất dữ liệu từ tập tin ……… 78
2.3.2.2.6 Sử dụng các mảng ……… 84
2.3.2.2.7 Làm việc với các biểu thức ……… 87
2.3.2.2.8 Sử dụng lại đoạn mã và viết hàm ……… 88
2.3.2.2.9 PHP hướng đối tượng ……… 90
2.3.2.3 Các đặc điểm khác trong PHP ……… 91
2.3.2.3.1 Tương tác với các tập tin hệ thống và Server ………… 91
2.3.2.3.2 Sử dụng các hàm nghi thức và các hàm kết nối mạng … 92 2.3.2.3.3 Quản lý ngày giờ ……… 92
2.3.2.3.4 Sử dụng đối tượng Session và Cookie ……… 95
2.3.2.4 Các loại hàm trong PHP ……… 98
2.3.2.4.1 Chuyển hướng trang ……… 98
2.3.2.4.2 Hàm gởi Mail ……… 99
2.3.2.4.3 Hàm sử dụng trong MySQL ……… 10
0 CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG ………. 10
3 3.1 Tổng quan về Website và hệ thống ……… 10
3 3.1.1 Sơ đồ Website ……… 10
3 3.1.2 Sơ đồ người dùng ……… 10
4 3.1.3 Sơ đồ chức năng ……… 10
5 3.1.4 Sơ đồ quan hệ và thông tin chi tiết giữa các bảng CSDL ……… 10
6 3.2 Các tính năng của Website ……… 10
Trang 63.2.1 Tính năng của trang chủ ……… 10
7 3.2.2 Tính năng của các trang thông tin chính ……… 10
8 3.2.3 Tính năng của trang thông tin nhỏ ……… 109
3.2.4 Tính năng của các trang Tin tức mới ……… 11
0 3.2.5 Tính năng của các trang Tìm kiếm thông tin ……… 111
3.2.6 Tính năng của các trang Thông tin chi tiết ……… 112
3.2.7 Tính năng của các trang Thư viện điện tử ……… 113
3.2.8 Tính năng của trang Giải trí âm nhạc ……… 114
3.2.9 Tính năng chi tiết của trang Giải trí âm nhạc ……… 115
3.2.10 Tính năng của trang Thư viện ảnh ……… 116
3.2.11 Tính năng của trang Diễn đàn ……… ……… 117
3.2 Các hàm sử lý thông tin ……… 11
8 3.2.1 Xem thông tin ……….……… 11
8 3.2.2 Tìm kiếm thông tin ……….……… 119
3.2.3 Thư viện điện tử ……….……… 12
0 3.2.4 Giải trí âm nhạc ……….……… 121
3.2.5 Liên hệ góp ý ……….……… 122
CHƯƠNG 4: MỘT SỐ CODE CỦA CHƯƠNG TRÌNH ……… 123
4.1 Code (Mã nguồn) file config.php ……… 123
4.2 Code (Mã nguồn) file Trang chủ index.php ……… 124
4.3 Code (Mã nguồn) file trang Tin tức mới infonews.php ……… 126
4.4 Code (Mã nguồn) file trang Thư viện library.php ……… 12
8
Trang 7CHƯƠNG 5: ĐÁNH GIÁ CHUNG ……… 131
5.1 Kết quả đạt được ……….……….………… 131
5.2 Một số vấn đề hạn chế ……….……… 132
5.3 Hướng phát triển đề tài ……….……… 133
5.4 Kết luận ……….……….……… 133
DANH MỤC CÔNG TRÌNH ĐÃ THỰC HIỆN ……… 135
TÀI LIỆU THAM KHẢO ……….……… 136
PHỤ LỤC ……….……….……… 137
DANH MỤC CÁC HÌNH ẢNH MINH HỌA
Trang 8Hình 1 Giao diện toàn cảnh trang chủ.
Trang 9Hình 2 Giao diện trang Thông tin chính (trang Category).
Trang 10Hình 3 Giao diện trang Thông tin nhỏ (trang SubCat).
Trang 11Hình 4 Giao diện trang Kết quả tìm kiếm thông tin.
Trang 12Hình 5 Giao diện trang Tin tức mới.
Trang 13Hình 6 Giao diện trang Thông tin chi tiết (trang Info).
Trang 14Hình 7 Giao diện trang Diễn đàn trao đổi.
Trang 15Hình 8 Giao diện trang Thư viện điện tử.
Trang 16Hình 9 Giao diện trang Giải trí âm nhạc.
Trang 17Hình 10 Giao diện Chi tiết trang nhạc giải trí.
Trang 18Hình 11 Giao diện trang Album ảnh.
Trang 19Hình 12 Giao diện trang Liên hệ góp ý.
Trang 20Hình 13 Giao diện Giới thiệu.
Trang 21Hình 14 Thông tin chi tiết và quan hệ giữa các bảng CSDL.
Trang 22MỘT SỐ TỪ VIẾT TẮT TRONG LUẬN VĂN
HTTP - HyperText Transfer Protocol
ASP.Net - Active Server Pages Net
ODBC - Open Database Connectivity Standard
IIS - Internet Information Server
LỜI MỞ ĐẦU
Việt Nam đang trên đà phát triển và từng bước tham gia hội nhập vào thế
giới Điều đó rất cần có sự hỗ trợ kỹ thuật của ngành Công nghệ thông tin Mộttrong những yếu tố quan trọng hàng đầu trong lĩnh vực truyền thông đã và đangđóng góp cho sự phát triển chung của nền kinh tế con người Đất Việt
Trong thời đại bùng nổ CNTT hiện nay mọi công việc đều đang được tin họchóa Các cơ quan, văn phòng, công sở, tổ chức hay doanh nghiệp cũng đang từng
Trang 23bước cải cách cơ chế hành chính Việc sử dụng máy tính của mỗi cá nhân hay tổchức nào đó là một công cụ không thể thiếu trong thế kỷ 21 Đặc biệt điều đócòn là một trong những phương tiện truyền thông đem lại hiệu quả cao nhất chomỗi cá nhân sử dụng nó.
Chính phủ nước ta cũng đã đầu tư nhiều nghìn tỷ đồng để thực hiện đề án
112, nhằm tin học hóa bộ máy quản lý Và như chúng ta biết, việc xây dựng mộtWebsite cho cơ quan như một hình thái bắt đầu cho việc tham gia vào công cuộctin học hóa Trong đó Web giúp cho thông tin đến được với mọi người một cáchnhanh chóng mà chi phí lại thấp Nó giúp cho việc quản lý, xử lý các công việcthuận tiện mọi lúc, mọi nơi và rất hiệu quả
Nhưng tình hình truyền tải thông tin thực tế của khoa CNTT tại cơ sở TrungTâm Đào Tạo Kỹ Thuật Và Nghiệp Vụ Cao của trường ta nói riêng và nhiềutrường chuyên nghiệp của Việt Nam nói chung hiện nay là:
- Các bạn vẫn phải đến trường xem thông tin, tin tức của nhà trường?
- Các bạn vẫn phải đến trường xem điểm thi của từng môn thi?
- Các bạn vẫn phải đến trường để đọc những thông báo và thời khóa biểu dán ởcác bản tin?
- Các bạn vẫn phải đến phòng đào tạo hỏi thông tin về tuyển sinh, điểm thi lạihay tìm kiếm những thông tin tài liệu nào đó?
Tất cả những công việc trên các bạn chỉ mất khoảng 5 phút đồng hồ khi sử dụngứng dụng từ xa qua Internet hoặc Web ( tiết kiệm tối đa chi phí đi lại, thời gian,sức khỏe…)
Trang 24
Qua 4 năm học ở trường chuyên CNTT, được sự chỉ bảo, dậy dỗ tân tình
của thầy cô Cá nhân em xin được phép làm đề tài: “Xây Dựng Hệ Thống Website Thông Tin Cho Trường Chuyên Nghiệp” với phiên bản số 01 là bản
demo mô hình Website thông tin cho khoa CNTT tại cơ sở Trung Tâm Đào Tạo
Kỹ Thuật Và Nghiệp Vụ Cao, là cơ sở gần gũi nhất mà em đang học tập và cóthể tìm hiểu Em xây dựng chương trình này nhằm ba mục đích:
- Học cách áp dụng những kiến thức đã học vào thực tế: học cách phân tích thiết
kế hệ thống, lập trình ứng dụng
- Rất mong muốn có thể áp dụng vào việc truyền tải thông tin qua mạng giữakhoa CNTT tại cơ sở Trung Tâm Đào Tạo Kỹ Thuật Và Nghiệp Vụ Cao và cácbạn sinh viên của trường một cách nhanh chóng, hiệu quả, …
- Hy vọng trong thời gian gần đây có thể triển khai áp dụng rộng rãi cho nhiềutrường chuyên nghiệp của Việt Nam
Với ba mục đích trên và với mong muốn chương trình có thể mở rộng và
sử dụng trong thời gian ngắn tới, em đã xây dựng hệ thống Website thông tin chotrường chuyên nghiệp qua mạng cục bộ và mạng Internet Mặc dù em đã cố gắngrất nhiều nhưng do thời gian, năng lực và kiến thức có hạn nên chương trình của
em không tránh khỏi những thiếu sót và hạn chế Vì vậy em kính mong nhậnđược sự nhắc nhở của thầy cô và bạn bè để đề tài, chương trình của em hoànthiện và nhiều chức năng hơn Trong đề tài này em xin trình bày quá trình xâydựng và hoàn thành bài luận văn với các nội dung chính như sau:
1 Lời mở đầu.
2 Tổng quan về đề tài.
Trang 253 Giới thiệu ngôn ngữ lập trình.
em học tập và làm đề tài sau là em xin chân thành cảm ơn tất cả các thầy côgiảng dậy, thầy cô quản lý và bạn bè đã hướng dẫn, chỉ bảo, động viên, góp ý vàtạo điều kiện để em hoàn thành được đề tài một cách tốt nhất
Em Xin Chân Thành Cám Ơn !
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 GIỚI THIỆU ĐỀ TÀI:
Theo kết quả công bố mới nhất vào tháng 10/2006 của các nhà nghiên cứuInternet trên thế giới cho thấy ngày càng có nhiều người có nhu cầu sử dụngInternet và truy cập vào Web để xem, tìm kiếm, mua bán, quản lý… thông tin, tưliệu, tài nguyên, sản phẩm và nhiều vấn đề khác trên Internet và Website bởi vì
Trang 26có một số lý do chính như: thứ nhất là tài nguyên về tất cả các vấn đề trênInternet quá nhiều nó đáp ứng gần như thỏa mãn mọi nhu cầu khi sử dụngInternet và truy cập vào Web, thứ hai là nó giúp cho người mọi tiết kiệm về tiềncủa và thời gian, thứ ba là nó giúp cho mọi người thuận tiện trong công việc,thuận tiện ở chỗ mọi người không phải phụ thuộc vào không gian, thời gian và vịtrí địa lý với mỗi người sử dụng Internet và truy cập Web và còn rất nhiều các lợiích khác…, bên cạnh đó để đáp lại các nhu cầu sử dụng Internet và truy cập Webcác tổ chức hay các cá nhân cũng liên tục xây dựng và phát triển rất nhiềuWebsite và hệ thống để đáp lại nhu cầu đó.
Chính vì vậy mà khoảng năm năm qua trên thế giới nói chung và Vệt Namnói riêng Internet và Web bùng nổ một cách mạnh mẽ, rất nhiều các Website và
hệ thống như: tìm kiếm, mua bán, giải trí, thông tin, giáo dục, diễn đàn… đượcxây dựng và phát triển rất mạnh, mang lại rất nhiều lợi ích trong công việc, cuộcsống của mọi người Thấu hiểu được lợi ích mà Website mang đến cho mọingười đặc biệt là các bạn sinh viên em mong muốn ”Xây Dựng Hệ ThốngWebsite Thông Tin Cho Trường Chuyên Nghiệp” để tất cả các bạn sinh viên cóthể quản lý, trao đổi, chia sẻ thông tin và tài nguyên một cách nhanh chóng, hiệuquả đồng thời giúp việc truyền tải và nắm bắt thông tin giữa nhà trường với sinhviên một cách nhanh nhất
Vì đề tài và chương trình của em là phiên bản số 01 lên đề tài của em chủyếu tập chung vào mảng truyền tải, trao đổi và quản lý thông tin của Website chotrường chuyên nghiệp còn các mảng khác của hệ thống Website em sẽ phát triển
và nâng cấp ở phiên bản sau Nhưng để xây dựng hệ thống Website thông tin chotrường chuyên nghiệp được tốt thì vấn đề đặt ra là làm sao phải truyền tải thông
Trang 27tin, tư liệu từ nhà trường đến sinh viên, từ thầy cô đến sinh viên, từ sinh viên đếnsinh viên, từ sinh viên đến nhà trường, từ sinh viên đến thầy cô được tốt?
Để giải quyết vấn đề truyền tải, quản lý thông tin, tư liệu và xây dựng hệ thốngWebsite thông tin cho trường chuyên nghiệp được hiệu quả em đã tiếp cận:
- Tiếp cận với sinh viên để tìm hiểu các nhu cầu về thông tin, tư liệu, tàinguyên của sinh viên với học tập, nhà trường, xã hội là gì
- Tiếp cận với các phòng ban của nhà trường để xem nhà trường thườngtruyền tải thông tin tư liệu gì đến với sinh viên và mọi người
- Tiếp cận với hệ thống Website giáo dục, thông tin, diễn đàn để xem mô hình
tổ chức, nội dung của các Website như thế nào
- Tiếp cận với mọi nguời là phụ huynh và người lướt Web bình thường xemnhu cầu của họ đối với Website như thế nào
- Tiếp cận với sách, báo, ebook để tham khảo thêm thông tin cho toàn bộWebsite
- Tiếp cận với thầy cô và với những người có chuyên môn về phân tích hệthống và lập trình để xem hệ thống, bố cục và nội dung đối với Website cầnnhững gì
Sau một quá trình dài tiếp cận với các đối tượng trên hiểu và nắm bắt được luồngthông tin, nhu cầu, bố cục, nội dung của hệ thống Website em đã đưa ra bố cục,
mô hình và nội dung của đề tài của hệ thống Website thông tin như sau
Trang 281.2 NỘI DUNG CỦA ĐỀ TÀI:
Nôi dung của đề tài ”Xây dựng hệ thống thông tin cho trường chuyên nghiệp”bao gồm các phần sau:
- Xây dựng hệ thống thông tin, tin tức tổng quan xã hội và nhà trường (ở
phần này sẽ truyền tải nhưng thông tin chung về xã hội, nhà trường những thông tin, tin tức mang tính cập nhật liên tục, nóng bỏng…).
- Xây dựng hệ thống thông tin về nhà trường (ở phần này sẽ đưa ra những
nội quy của trường và trong học tập, đưa thông tin lịch sử của trường, ban lãnh đạo, hợp tác quốc tế, kế hoạch của trường…).
- Xây dựng hệ thống thông tin liên quan đến sinh viên (ở phần này sẽ đưa
ra lịch học, lich thi, kết quả thi, danh sách sinh viên tiêu biểu…).
- Xây dựng hệ thống thông tin sinh viên với thế giới bên ngoài (ở phần này
sẽ đưa ra các vấn đề cuộc sống, hoạt động, công việc… của sinh viên với thế giới bên ngoài).
- Xây dựng hệ thống thư viện điện tử
- Xây dựng thư viện ảnh các hoạt động của trường
- Hệ thống diễn đàn trao đổi (hệ thống mã nguồn mở của nước ngoài).
- Hệ thống giải trí, thư giãn
- Form Liên hệ, góp ý
- Modul Tìm kiếm dữ liệu
- Modul Tổng hợp các tin tức mới
- Modul quảng cáo Website cho các trường chuyên nghiệp hay doanhnghiệp hay là các đối tác…
Trang 29- Tích hợp hệ thống tra cứu từ điền trực tuyến và tra cứu dữ liệu với google.
1.3 YÊU CẦU ĐẶT RA ĐỐI VỚI HỆ THỐNG:
Hệ thống được xây dựng nhằm cung cấp thông tin tới nhiều người sử dụng,nhiều loại đối tượng với các yêu cầu về thông tin cần cung cấp khác nhau do đótrang Web xây dựng phải đảm bảo những yêu câu sau:
- Cung cấp đúng và đầy đủ các chức năng, công cụ cho người sử dụngWebsite
- Cung cấp giao diện dễ hiểu, dễ sử dụng cho người khai thác Website
- Các trang Web phải có tính thẩm mỹ và thân thiện với người dùng
- Không đòi hỏi người sử dụng phải có kiến thức chuyên sâu về máy tínhcũng sử dụng được Website
- Nội dung của trang Web sau khi hoạt động phải thật hấp người xem, phảiluôn được cập nhật, bổ sung Nội dung Website phải thể hiện được tốtnhất những ý tưởng của người thiết kế, xây dựng Website
- Các nội dung thông tin phải được sắp xếp, bố cục phải hợp lý, hệ thốngcác nhóm chủ đề, đề tài phải tổ chức phù hợp Do khối lượng thông tinlớn nếu không tổ chức tốt sễ làm người đọc rối mắt và không thấy đượchết các nội dung trên Website
Trang 30- Tốc độ truy cập các trang Web phải nhanh.
1.4 CÔNG CỤ HỖ TRỢ XÂY DỰNG HỆ THỐNG:
Để xây dựng được Website có các nội dung như trên cần có sự hỗ trợ của
một số kịch bản trên trình chủ, một số cơ sở dữ liệu và một số cụ như sau:
• Một số Kịch bản trên trình chủ(ngôn ngữ lập trình).
ASP.Net (Active Server Pages Net)
ASP (Active Server Pages)
JSP (Java Server Pages)
PHP (Personal Home Pages)
Trang 31 Adobe Photoshop.
Macromedia Flash
Một số công cụ khác…
CHƯƠNG 2: GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH
2.1 GIỚI THIỆU TỔNG QUAN:
Như đã giới thiệu ở mục 1.3 Công cụ hỗ trợ xây dựng hệ thống hiện nay,
có rất nhiều công nghệ dùng để thiết kế những trang Web động, trong số cáccông nghệ đó được các nhà lập trình trước đây chú ý nhiều nhất như là ASP củaMicrosoft, JSP của hãng Sun Hai công nghệ này hiện đang phổ biến rất rộng rãi
ở Việt Nam Nhưng xu thế thiết kế những trang Web động hiện nay trên thế giới
Trang 32lại nghiêng về công nghệ khác, không phải ASP hay JSP mà đó là công nghệ(ASP.Net + SQL Server) của hãng Microsoft và công nghệ (PHP + MySQL).
- ASP.Net và SQL Server được mọi người đánh giá khá cao hầu như về tất
cả các mặt, nhưng chi phí để mua trọn bộ phần mềm của hãng Microsoftphát triển là rất cao khoảng 3000$ đến 5000$, giá một sản phẩm phầnmềm sau khi được hoàn thành là hơi đắt, mã nguồn mở để mọi người thamkhảo học tập là rất ít, một đặc điểm nữa là ASP.Net và SQL Server chỉtương thích với hệ điều hành Windows còn các hệ điều hành khác nhưMac, Unix… là không tương thích
người đánh giá rất cao, đặc biệt là MYSQL 5.0 trở lên có khả năng tựtránh lỗi SQL_Injection một lỗi mà SQL Server và Access thường xuyênmắc phải Còn về chi phí thì PHP và MYSQL hoàn toàn miễn phí, giá củamột sản phẩm sau khi hoàn thành ở mức độ trung bình và rẻ, mã nguồn
mở để mọi người tham khảo và học tập rất nhiều, còn sự tương thích thìPHP và MYSQL tương thích với tất cả các hệ điều hành, điều này gần nhưhoàn toàn khác hẳn với (ASP.Net + SQL Server)
- Chính vì những đặc điểm trên mà PHP và MYSQL đã trở thành công nghệWeb phát triển hàng đầu thế giới
- Vào ngày 03/04/2007 theo kết qủa thống kê của Google, Yahoo, MSN ta
có bảng kết qủa như sau:
Trang 33nhất hiện nay Cũng giống như ASP và JSP, công nghệ MySQL và PHP sẽ được giảng dạy rộng rãi trong các khoá học thiết kế Web động, sách viết về chúng sẽ được dịch chuyển sang tiếng việt và bày bán trong nhà sách, … nhưng đó là
trong tương lai Còn như hiện nay, công nghệ mới này vẫn còn đang xa lạ và mới
mẻ đối với giới sinh viên, những cử nhân, kỹ sư công nghệ thông tin tương lai
Chính vì thế mà em đã chọn công nghệ PHP và MYSQL cho đề tài “Xây Dựng
Hệ Thống Website Thông Tin Cho Trường Chuyên Nghiệp“ để làm Luận
văn tốt nghiệp, mặt khác cũng là để nâng cao sự hiểu biết của mình, mở ra mộttầm nhìn mới về lĩnh vực tạo trang Web, hoà nhập vào sự tiến bộ của thế giới
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ, PHP là ngôn ngữ kịchbản trên máy chủ dùng để thiết kế trang Web Để tạo dữ liệu động cho một trangWeb, chúng ta cần phải kết hợp giữa một hệ quản trị cơ sở dữ liệu với một ngônngữ tạo Web, để nắm được rõ ưu điểm của PHP và MYSQL ở phần sau sẽ lànhững đánh giá và so sánh giữa các hệ quản trị cơ sở dữ liệu như Access, SQLServer, Oracle với MySQL, đánh giá và so sánh giữa các công nghệ thiết kế Web
Trang 34động phổ biến hiện nay như ASP, JSP, Coldfusion với PHP, so sánh giữa các cácWeb server như PWS, IIS, Jrun và Apache
2.2
TÌM HIỂU CÁC CÔNG NGHỆ:
2.2.1 Sử dụng các hệ quản trị cơ sở dữ liệu:
2.2.1.1 Hệ quản trị cơ sở dữ liệu Access
Access là một hệ quản trị cơ sở dữ liệu gọn nhỏ và linh động Tuy nhiên,khi đứng cạnh các hệ quản trị cơ sở dữ liệu mạnh như hiện nay, Access vẫn còn
là một hệ quản trị cơ sở dữ liệu được ưa chuộng nhất Bởi sự dễ dàng khi thựchiện các thao tác, dễ sử dụng, dễ cài đặt, dễ học và còn nhiều ưu điểm khác nữakhiến cho ngôn ngữ này ngày càng mang tính phổ biến Một ưu điểm nữa củaAccess là bạn không phải mất công cài đặt nó lên máy tính, nó được hỗ trợ mặcđịnh trong bộ Office của MicroSoft Nhưng khi chọn một hệ quản trị cơ sở dữliệu cho việc quản lý đặt nặng tính bảo mật thì Access lại không là một ứng cửviên sáng giá bởi bản thân nó mang tính bảo mật không cao Hoặc khi chọn một
hệ thống quản lý dữ liệu phân bố, bản thân Access lại không đáp ứng được chocác yêu cầu này
Khi lượng dữ liệu trở nên quá lớn, mọi thao tác trên dữ liệu đều có tốc độ chậmhẳn đi, điều này khiến cho chúng ta gặp nhiều khó khăn hơn trong công việc Thay vào những khuyết điểm trên, Access lại có khả năng tương thích cao vớicác hàm gởi truy vấn dữ liệu của ODBC và ngay cả JDBC nữa Chỉ cần cung cấp
Trang 35một đường dẫn đến tập tin cơ sở dữ liệu cho trình điều khiển là bạn đã có thể kếtnối Access với một ngôn ngữ kịch bản tạo Web động như ASP, JSP hay thậmchí với cả PHP và PERL nữa.
Tóm lại, chỉ nên chọn Access để quản lý dữ liệu cho các trang Web có sốlượng mẫu tin ít, dữ liệu không cần ràng buột chi tiết, và đặc biệt là dành cho cáctrang sử dụng dữ liệu không đặt nặng vấn đề bảo mật và không có sự phân bố dữliệu trên mạng
2.2.1.2 Hệ quản trị cơ sở dữ liệu SQL SERVER
Tương tự như Access, SQL Server là một hệ quản trị cơ sở dữ liệu sử dụngngôn ngữ truy vấn có cấu trúc chuẩn SQL, một hệ quản trị cơ sở dữ liệu quan hệrất mạnh.Việc hỗ trợ tính phân bố dữ liệu và tính bảo mật dữ liệu cao làm choSQL Server ngày càng tiến xa hơn nữa và trở thành một trong những chọn lựahàng đầu khi cần một hệ thống quản lý dữ liệu an toàn Nhưng SQL Server lạikhông hề đơn giản chút nào trong việc cài đặt nó vào máy của bạn, nó không tíchhợp được với bất kỳ hệ điều hành nào khác ngoại trừ các hệ điều hành Windowscủa Microsoft
Ngoài ra, nếu khối lượng dữ liệu quá lớn từ khoảng 50 GB trở lên thì SQLServer lại trở nên chậm chạp và không còn thích hợp nữa cho dù chúng ta thựchiện một truy vấn dữ liệu không điều kiện
2.2.1.3 Hệ quản trị cơ sở dữ liệu ORACLE
Một lựa chọn khác để quản lý, chia sẻ và truy vấn dữ liệu là sử dụng hệquản trị cơ sở dữ liệu Oracle Phiên bản Oracle mới nhất hiện nay là Oracle 9i,
Trang 36được hỗ trợ tối đa các hàm tiện ích giúp chúng ta có thể tạo các truy vấn chínhxác và mang tính bảo mật cao Không như SQL Server, Oracle 8i có thể thao táctrên một lượng dữ liệu rất lớn với khoảng thời gian chấp nhận được (nhiều hơn
50 GB dữ liệu) và cho bạn một kết quả như mong muốn Ngoài ra, bạn có thể càiOracle vào các hệ điều hành khác ngoài Windows như Unix và Linux một cách
dễ dàng vì chúng được thiết kế để tương thích với mọi hệ điều hành
Mặc dù được mệnh danh là hệ quản trị cơ sở dữ liệu mạnh nhất hiện nay,nhưng người sử dụng lại gặp phải khá nhiều vấn đề khó khăn khi tiếp cận vớiOracle Vấn đề khó khăn đầu tiên là chi phí để trả cho một bản quyền đầy đủ.Nếu không, chúng ta sẽ khó lòng mà có được những điều mình mong muốn
Vì các lý do trên, Oracle chỉ thích hợp để quản lý những cơ sở dữ liệu lớn, cónhu cầu về sự phân bố dữ liệu trên mạng và cần có độ an toàn cao cho dữ liệu.Nếu bạn cần chọn một hệ quản trị cơ sở dữ liệu linh động, gọn nhẹ, chi phí thấp
và dễ sử dụng để quản lý dữ liệu, bạn không nên chọn Oracle, có một giải phápmới dành cho bạn, đó là hệ quản trị cơ sở dữ liệu quan hệ MySQL
2.2.1.4 Các ưu điểm nổi bật của MySQL
Đối thủ chính của MySQL là Microsoft SQL Server và Ocracle, nhưngbản thân MySQL lại có nhiều điểm mạnh khiến nó đáng được quan tâm như: + Tính thực thi cao: MySQL thực thi nhanh và rất đáng tin cậy để chúng ta sửdụng Sự kết nối tốc độ và bảo mật làm MySQL phù hợp cho việc truy cập cơ sở
Internet + Chi phí thấp: MySQL miễn phí với bản quyền mã nguồn mở hoặc chi phí thấpvới bản quyền thương mại mà ứng dụng chúng ta cần
Trang 37+ Sử dụng: Hầu hết mọi cơ sở dữ liệu hiện nay đều dùng ngôn ngữ truy vấn cócấu trúc chuẩn SQL Nếu bạn đã từng sử dụng một hệ quản trị cơ sở dữ liệu quan
hệ RDBMS thì bạn sẽ không gặp rắc rối gì khi sử dụng MySQLvà chúng cũngrất dễ cài đặt cấu hình
+ Tính linh động: MySQL tương thích với nhiều hệ điều hành khác nhau nhưUNIX cũng như Microsoft Windows
+ Mã nguồn: Bạn có thể lấy mã nguồn của MySQL một cách dễ dàng và sửa đổichúng theo ý thích của bạn
2.2.2 Sự hỗ trợ của Server đối với các ngôn ngữ kịch bản
Bước đầu tiên bạn cần thực hiện khi bắt đầu thiết kế hay lập trình Web làbạn phải cài một Web Server cùng với một ngôn ngữ kịch bản chạy trên server
mà bạn muốn sử dụng Bạn cần cài đặt một trong bốn loại Web Server thôngdụng nhất hiện nay, sẽ được giới thiệu bên dưới đây, tuỳ theo cấu hình máy củabạn
2.2.2.1 Personal Web Server - PWS
Đây là loại Web server thường dùng trên hệ điều hành Win9x, NTWorkstation hay Win 2000 Workstation Cấu hình này thường được dùng chocác nhà lập trình Web trong thời gian thiết kế Web server này sẽ nhận các yêucầu, tìm trang cần thiết, chạy kịch bản, liên kết với dữ liệu và trả về các trangđáp ứng
Trang 38Ưu điểm của PWS là nó cung cấp một môi trường phát triển tiện lợi, chiphí thấp và không cần phần cứng mạnh Tuy nhiên, nhược điểm của nó là có độtin cậy không cao và không thể mở rộng trang Web ra nhiều Server.
2.2.2.2 Internet Information Server – IIS
Web server này dùng để cấu hình server trên nền hệ điều hành NT Server
và Win 2000 Server, cấu hình này được dùng để triển khai các hệ thống trên qui
mô lớn nên nó đòi hỏi nhiều tài nguyên của máy cũng như cấu hình máy phảimạnh
Ưu điểm của cấu hình NT Server/IIS là mang lại độ tin cậy cao và chophép mở rộng trang Web ra nhiều server, nhưng nhược điểm của nó là cần chiphí cao hơn so với cấu hình Win9x/PWS
Trang 392.2.2.4 APACHE
Trình chủ Web Apache là trình chủ phổ biến nhất hiện nay trên thế giới, nóhiện đang quản lý hơn 50% số trang Web hiện có trên thế giới, nhiều hơn cả sốtrang mà PWS, IIS và JRUN hiện đang quản lý Vì thế, Apache có nhiều ưuđiểm đáng để chúng ta quan tâm và lưu ý đến nó Cũng giống như JRUN,Apache có khả năng thích ứng tốt với nhiều hệ điều hành, nhưng một điểm khácvới JRUN là nó không yêu cầu về cấu hình của máy khi cài đặt và các thao táccài đặt lại vô cùng dễ dàng
2.2.3 Các ngôn ngữ kịch bản trên Server
Hiện nay, nếu bạn muốn tạo một trang Web động, không còn cách nào khác là bạn phải sử dụng một ngôn ngữ kịch bản chạy trên Server để liên kết với một trình điều khiển kết nối cơ sở dữ liệu Các ngôn ngữ kịch bản chạy trên
server thông dụng nhất hiện nay gồm bốn loại sau:
2.2.3.1 Active Sserver Pages – ASP
ASP là một ngôn ngữ kịch bản chạy trên server, được hỗ trợ mặc địnhtrong trình duyệt IE 4.0 ASP thực sự là phần mở rộng cho Web server của bạn
Nó cung cấp một tập hợp các thành phần và các đối tượng đặc trưng để quản lý
sự tương tác giữa Web server và trình duyệt
Một khuyết điểm của ASP khiến cho nhiều người không thích sử dụngASP chính là khả năng bảo vệ mã nguồn của ASP (có nhiều người cho đây là ưu
Trang 40điểm của nó) và sự tăng tải trên server Nhưng bù lại, ASP có khả năng thích ứngrộng, khả năng kết hợp với các phần mềm khác cao và tính dễ gỡ rối.
2.2.3.2 Java Server Pages – JSP
JSP là một kỹ thuật mới kết hợp ngôn ngữ đánh dấu HTML (hoặc XML)với Java để tạo các trang Web động Cũng như Java, JSP là ngôn ngữ lập trìnhhướng đối tượng thuần tuý và tối ưu Một trong những ưu điểm chính của JSP làtính khả chuyển của mã nguồn giữa các server với nhau, và tính mã nguồn mở
2.2.3.3 ColdFusion
ColdFusion cho phép server truy xuất cơ sở dữ liệu khi tạo Web TrangWeb tạo bởi ColdFusion ( tập tin cfm) có thể đọc được bởi mọi trình duyệt, tuynhiên nó sử dụng các thẻ của riêng nó Điểm khác nhau cơ bản giữa ColdFusion
và các ngôn ngữ khác đó là nó sử dụng các thẻ riêng của nó thay vì sử dụng cácđối tượng và các ngôn ngữ kịch bản phía Client
2.2.3.4 Personal Home Page – PHP
Tương tự như ASP và ColdFusion, PHP là ngôn ngữ dùng để tạo các trangWeb động từ server và gửi chúng tới trình duyệt Tuy nhiên, PHP tương thíchvới nhiều hệ điều hành hơn, và cũng tương thích với nhiều Web server hơn cácngôn ngữ khác Các điểm mạnh của PHP bao gồm:
+
Tính thực thi cao: PHP rất hiệu quả, sử dụng server rẻ, bạn có thể đáp ứnghàng triệu lượt truy cập mỗi ngày vào trang Web của bạn