Do được tối ưu hó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 đã nhan
Trang 1Dé an tot nghiép Tìm hiếu PHP và xây dựng Website tin tức
TRƯỜNG ĐẠI HỌC VINH
KHOA CÔNG NGHỆ THÔNG TIN
TIM HIEU PHP VA UNG DUNG XÂY
DUNG WEBSITE TIN TUC
DO AN TOT NGHIEP DAI HOC
KI SU CONG NGHE THONG TIN
Giáo viên hướng dẫn : Th.S Pham Thị Thu Hiền
Sinh viên thực hiện : Trần Xuân Viên
Trang 2LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn tới ban chủ nhiệm khoa Công nghệ thông tin, các thầy cô giáo, gia đình và bạn bè đã động viên giúp đỡ chúng em rất nhiều trong qúa trình hoàn thành đồ án này Đặc biệt chúng em xin bày to lòng cảm ơn sâu sắc tới cô giáo hướng dẫn Th.s Phạm Thị Thu Hiền về sự chỉ dẫn tận tình và sự hướng dẫn chúng em từ những ý tưởng ban đầu cho đến lúc hoàn thành đồ án tố nghiệp quan trọng này
Cho chúng em xin bày tỏ lòng biết ơn tới gia đình cha mẹ, anh chị và những người bạn thân yêu đã luôn quan tâm, tin tưởng và động viên, giúp đỡ chúng em trong thời gian qua
Chúng em rất mong nhận được sự đánh giá, bổ sung và những lời chỉ bảo của quý thầy cô trong khoa CNTT, thầy cô trong hội đồng giúp đỡ chúng em có thể tiếp tục nghiên cứu kĩ hơn về lĩnh vực này
Chúng em xin chân thành cám ơn !
Vinh, Ngày 20 thang 5 Nam 2011
Sinh vién Trần Xuân Viên Phan Ngoc Anh
Trang 3Dé an tot nghiép Tìm hiếu PHP và xây dựng Website tin tức
1.4.Các cú pháp cơ bản của PHP sử dụng trong chương trình §
1.6.Mục đích của việc sử dụng cơ sở dữ liệu 17
Chương II Khảo sát phân tích và thiết kế hệ thống 20
Chương II Cài đặt chương trình 30
SVTH: Trần Xuân Viên - Phan Ngọc Anh - 47E_CNTT 3
Trang 43.1.Cài đặt chương trình Appserv 30
3.3.1.Module đăng nhập của người quản lý Website 40
Kết luận : Kết quá đạt được và hướng phát triển đề tài 49
Trang 5Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức
LOI NOI DAU
Trên thế giới nói chung và ở Việt Nam nói riêng, ngành công nghệ thông tin đã và dang là một ngành mũi nhọn Kẻ từ khi máy tính ra đời, con người luôn luôn mong muốn chia sẻ thông tin với nhau Chỉ không lâu sau, Internet
đã đáp ứng được phần nào nhu cầu của cuộc sống Với sự ra đời của World Wide Web (WWW) da khién cho qua trinh trao đối thông tin qua mạng trở
nên thuận tiện hơn rất nhiều và để triển khai World Wide Web, các trình
duyệt Web đã ra đời và không ngừng được cải tiến Sự xuất hiện của Java, sự kết hợp hài hoà giữa ngôn ngữ lập trình Java và WWW đã đây Web sang một bước ngoặc hoàn toàn mới, bộ mặt của Web hầu như đã thay đổi hoàn toàn
Web gid day tràn đầy sức sống với hình ảnh, âm thanh, hoạt hinh
Cùng với sự phát triển của Web, các ứng dụng mạng cũng phát trién khong ngừng để khoảng cách con người trên toàn thế giới trở nên gần gũi hơn Có rất nhiều kỹ thuật, ngôn ngữ cũng như môi trường phát triển ứng dụng Web,
đó là ASP, PHP, Perl, JSP Tuy nhiên trong đó, JSP/Servlet (nền tảng dựa trên ngôn ngữ lập trình Java) có thể nói rất phù hợp với lập trình Web và là lựa chọn sáng giá nhất JSP hay Java Server Pages là công nghệ lập trình Web phía máy chủ của Java Ưu điểm của trang JSP là khả năng nhúng mã Java giữa các thẻ định dạng HTML
Lập trình Web là xu thế phát triển của công nghệ phần mềm đang thu hút rất nhiều nhà đầu tư cũng như người dùng Web Web thường gắn liền với Internet và với phong cách lập trình mạng thoát khỏi sự bó buộc cục bộ của những chương trình ứng dụng trước đây
Và đây cũng chính là những vấn đề khiến chúng em luôn quan tâm Chính
vì vậy, chúng em đã chọn đề tài: “ Tìm hiểu PHP và ứng dụng xây dựng Website tin tức ”,làm đồ án tốt nghiệp Đồ án gồm các phần sau:
SVTH: Trần Xuân Viên - Phan Ngọc Anh - 47E_CNTT 5
Trang 6CHUONG I: TONG QUAN VE NGON NGU' LAP TRÌNH PHP VÀ HỆ
QUAN TRI CO SO DU LIEU My SQL
CHUONG II: KHAO SAT VA PHAN TICH THIET KE HE THONG CHƯƠNG III: CAI BAT CHUONG TRINH
Với sự hướng dẫn tận tình của cô giáo Th.s Pham Thi Thu Hién, ching
em đã hoàn thành đồ án tốt nghiệp của mình Tuy đã có gắng hết sức tìm hiểu,
phân tích thiết kế và cài đặt hệ thống nhưng chắc rằng không tránh khỏi
những sai sót mắc phải Chúng em rất mong được sự đóng góp ý kiến cuả quý Thầy cô và bạn bè trong khoa Công Nghệ Thông Tin, để đồ án của chúng em
được hoàn thiện hơn và qua đó chúng em có nhiều kinh nghiệm thực tế để
triển khai những đề tài trong tương lai
Cuối cùng chúng em xin chân thành cảm ơn và kính chúc các Thầy giáo,
Cô giáo sức khỏe và hạnh phúc
Sinh viên thực hiện
Trần Xuân Viên - Phan Ngọc Anh _ 47E_CNTT
CHƯƠNG I TONG QUAN VE NGON NGU LAP TRINH PHP VA HE
QUAN TRI CO SO DU’ LIEU MYSQL
Trang 7Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức
1.1 Ngôn ngữ PHP
PHP là chữ viết tat cua Person Home Page“ do Rasmus tao ra 1994
Vì tính hữu dụng của nó và khả năng phát triển, PHP được bắt đầu sử dụng trong môi trường chuyên nghiệp nó trở thành“PHP: Hypertext Preprocessor“ Thực chất là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản
đó là một trang HTML co snhungs mã PHP, PHP có thể được đặt rải rác trong HTML
PHP là một ngôn ngữ lập trình được kết nối với máy chủ,là một công nghệ phía máy chủ (Server Side) và không phụ thuộc vào môi trường
Khi một trang Web muốn được dùng ngôn ngữ PHP thì phải đáp ứng được tất
cả các quá trình xử lý thông tin trong trang Web đó, sau đó đưa ra kết qảu HTML
Khác với ngôn ngữ lập trình, PHP được thết kế để chỉ thực hiện điều gì
đó sau khi một sự kiện xảy ra
Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau, mặc
dù cấu hình và tính năng khác nhau nhưng chúng vẫn đưa ra những kết quả giống nhau Chúng ta có thể lựa chọn chọn cho mình một ngôn ngữ: ASP,PHP, Java và một số loại khác nửa Vậy tại sao chúng ta lại nên chọn PHP, rất đơn giản, vì có những lý gio mà khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trì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 ứng dụng máy chủ,mã nguồn mở cho mục đích tổng quát Nó rất thích hợp với Web và có thể đễ đàng nhúng vào trang HTML Do được tối ưu hó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ến nhất
thế giới
SVTH: Trần Xuân Viên - Phan Ngọc Anh - 47E_CNTT 7
Trang 8PHP là một ngôn ngữ lập trì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 ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, đễ 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ến nhất thế giới
Để chạy được file PHP thì chúng ta cần đến một trình chủ Web server hiểu
và diễn dịch được PHP Trong chương trình này thì chúng tôi sử dụng PHP Home Edition 2.3.4 để mô phỏng Web server
1.2 Các hoạt động nỗi bật của PHP
Vì PHP là ngôn ngữ của máy chủ nên mã lệnh của PHP sẽ tập trung trên máy chủ để phục vụ các trang Web theo yêu cầu của người dùng thông
Yêu cầu URL HTML
HTM Goi ma kich ban PHP
Khi người dùng truy cập Website bằng PHP, máy chủ đọc mã lệnh PHP
vã xữ lí chúng theo các hướng dẫn được mã hóa, mã lệnh PHP yêu cầu máy chủ gửi một dữ liệu thích hợp(mã lệnh HTML) đến trình duyệt Web Trình
Trang 9Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức
duyệt xem nó như là một trang HTML tiêu chuẩn Như ta đã nói PHP cũng chính là một trang HTML nhưng có nhúng mã PHP và có phần mở rộng HTML, phần mở của được đặt trong thẻ mở <?php và thẻ đóng ?> Khi trình duyệt vào một trang PHP thì server sẽ đọc một file PHP lên và lọc ra các đoạn
mã PHP và thực thi các đoạn mã đó, lấy kết quả nhận được của đoạn mã PHP thay thế vào chỗ ban đầu của chúng trong file PHP, cuối cùng server trả về kết quả cuối cùng là một trang nội dung HTML về cho trình duyệt
PHP va MySQI là các công cụ lập trình phố biến và thống trị thế giới www mặc dầu đang chịu sự cạnh tranh của một số ngôn ngữ lập trình web khác nhưng PHP vẫn thống linh số một với những tính năng nổi bật và đặc biệt là khả năng thường xuyên cập nhật với đội ngũ lập trình viên trên toàn
thé giới, đặc biệt là cộng đồng mã nguồn mở
Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàng như thế nào:
Trang 10tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và đễ dàng trong việc xây dựng phân giao diện ứng dụng HTML
*) Hỗ trợ truy cập tới bat kỳ loại cơ sở dữ liệu nào: ứng dụng của bạn dự định sẽ truy cập những loại đữ liệu, dịch vụ nào? LDAP, IMAP mail server, DB2, hay XML parser hay WDDX
*) Hệ thống hàm mạnh: PHP sẵn sàng hỗ trợ thông qua các hàm được xây dựng sẵn nó và phong phú sẽ làm công việc lập trình trở nên dễ dàng và tiện
lợi, Luôn được cải tiến và cập nhật Khi PHP được phổ biến, nó đã trở thành
một ngôn ngữ lập trình mạnh Nó giúp cho việc bổ sung số lượng lớn các hàm chức năng một cách hiệu quả, hỗ trợ cho công việc của người lập trình được thuận lợi hơn, hiệu quả hơn
*) Được hướng dẫn kỹ thuật bất cứ lúc nào: Hầu hết các ngôn ngữ đều hỗ
trợ active mailing list (là danh sách mail những thành viên) và các development site (trang web hỗ trợ phát triển) PHP cũng không ngoại lệ Nếu gặp phải sự cố - hay gặp những lỗi trong chương trình và không tìm ra cách khắc phục - sẽ có nhiều người có tên trong đanh sách mail luôn sẵn sàng kiểm tra và khắc phục sự có đó Bộ mã nguồn mở PHP thật sự đã tạo ra một diễn đàn của cả cộng đồng Khi gặp phải khó khăn lúc nào cũng có những đồng nghiệp chia sẻ và giúp khắc phục nhằm đem lại sự tự tin
Trang 11Đồ án tốt nghiệp Tìm hiểu PHP và xây dựng Website tin tức
% lay số dư của phép chia 2số 5%2 1
nguyén (Modulus (division 10%8 2
Phép toán (Ví dụ Cách viết tương tự
== Bằng nhau (is equal to) 5==8 returns false
{= Khac nhau (is not equal) 5!=8 returns true
L6n hon (is greater than) 5>8 returns false
< Nho hon (is less than) 5<8 returns true
>= Lớn hơn hoặc băng (is greater 5>=8 returns false
than or equal to)
<= Nhỏ hơn hoặc bằng (is less Š<=8 returns true
than or equal to)
Trang 12Phép toán Mô tả Ví dụ
y=3 (x < 10 && y > 1) returns true
y=3 (x==5 || y==5) returns false
// First line of code goes here;
// Second line of code goes here;
// Third line of code goes here;
1.4.3 Str dung “echo” dé trinh bài text
Ham “echo” 1a ham xuat cơ bản trên trình duyệt Web
Vd:
<?php
Trang 13Đồ án tốt nghiệp Tìm hiểu PHP và xây dựng Website tin titc
echo “I’m a lumberjack.”;
echo “And I’m okay.”;
‘Address |) http:/flocalhost/BT/1.php ¥| Ec Links *
T'm a lumberjack And I'm okay
Hinh 1.1 Chúng ta có thể lồng HTML với PHP
Vd:
<?php
echo “<h1>I’m a lumberjack.</h1>”;
echo “<h2>And I’m okay.</h2>”;
2>
Kết quả như hình 1.2
3Ä trtp://localhost/BT/1.php -
0soft Internet Explorer
Bie Edt Yew FaeorRes Tools Help
<html>
SVTH: Trần Xuân Viên - Phan Ngọc Anh - 47E_CNTT 13
Trang 14echo “<h1>I’m a lumberjack.</h1>”;
echo “<h2>And I’m okay.</h2>”;
2>
</body>
</html>
Việc kết hợp giữa HTML và PHP nhằm đạt tới hai muc tiêu :
¢ Cai tién được hình thức trình bày của web site
e_ Có thể giữ xen kẻ những dòng mã HTML với các đoạn mã của PHP
Bạn có thể so sánh hai đoạn mã sau:
echo “<font face=’ Verdana, Arial’ size=’2’>”;
echo “First Name:”;
Trang 15Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức
Truyền biến giữa các trang
Có bốn cách cơ bản đề truyền biến giữa các trang: truyền biến trong URL, qua session, cookie hoặc với một HTML form
SVTH: Trần Xuân Viên - Phan Ngọc Anh - 47E_CNTT 15
Trang 16Trước khi bàn luận về 4 cách truyền biến giữa các trang ta cần hiểu một vài khái niệm gọi là biến toàn cục Đây là cấu hình trong file php.ini Khi nó được đặt là “off”, giá trị ban đầu của biến có từ sự chèn vào giả tạo của một đoạn mã bên ngoài Trong các phiên bản trước PHP mặc định biến này trong php.ini 1a “on” Ké tir phién bản 4.2 thì nó mặc định 1a “off”
Đây là nguyên nhân khiến các lập trình viên phải mất ngủ bởi vì bạn phải đề cập đến một biến khác của bạn nếu biến toàn cục là “off? hoặc ngược lại tìm tất cả các biến có giá trị tiến đến rỗng
Mặc dù có nhiều Web chủ đã điều chỉnh nó thành “on” nhưng vì lý do
bảo mật họ đã không làm thế Trong tài liệu này biến toàn cục được điều chỉnh là “off”
Thay vì gọi giá trị của biến bởi cú pháp chuẩn $tên biến, khi biến toàn
cục là “off? và bạn cần truyền biến qua các trang, bạn cần phải đề cập đến chúng trong một cách khác Nhưng chỉ trong trang tiếp nhận Bạn sẽ thấy điều này trong phần tiếp theo Nhưng trong những cách khác có liên quan đến các biến phụ thuộc vào việc họ đã gửi chúng như thế nào
$_COOKIE[“tên biến']: Khi biến đã được ấn định giá trị từ một cookie
$ REQUEST[“tên biến']:Khi nó không quan trọng ($ REQUEST bao gồm các biến chuyền từ bất cứ cách nào ở trên)
$_SERVER[“tên biến']: Khi biến đã được ấn định giá trị từ một server
$_FILES[“tên bién’]: Khi biến đã được ấn định giá trị từ một file upload
Trang 17Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức
$ ENV[‘tén bién’]: Khi biến đã được ấn định giá trị từ một môi trường hệ điều hành
Nếu bạn không gọi ra các biến sử dụng cú pháp này thì giá trị của nó sẽ
là rỗng trong chương trình của bạn, đây có thể là nguyên nhân làm cho chương trình dịch của bạn bị thất bại
Chu trình sống của PHP
Trang PHP có chu trình sống xác định tính từ khi hệ thống đọc biên dịch trang PHP, gọi thực thi và loại trang khỏi bộ nhớ Chu trình sống của trang PHP trải qua các giai đoạn sau:
Biên dịch trang PHP: server dọch mã nguồn trang PHP khi có yêu cầu
từ browser
Nap trang: server gửi trang về cho browser hiển thị
Khởi tạo: các link từ trang chính
Thực thi: gửi trang liên kết về cho browser
Dọn đẹp: ngắt các kết nối như: CSDL
1.5 Hệ quản trị cơ sớ dữ liệu MySQL
MySQL 1a hé quan tri 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 dung Vi 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 ích rấ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 ứng dụ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
SVTH: Trần Xuân Viên - Phan Ngọc Anh - 47E_CNTT 17
Trang 18cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Window
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 và 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 bang PHP hay Perl,
MySQL la cơ sở dữ liệu có trình diện trên Windows hay linux, cho phép người sử dụng có thê thao tác các hoạt động liên quan đến nó Việc tìm hiểu từng công nghệ trước khi bắt tay vào việc viết mã kịch bản PHP, việc tích hợp hai công nghệ PHP và MySQL là một công việc cần thiết và rất quan
trọng
MySql hơn MSSQL ở tính năng cung cấp nhiều loai storage engine Tuy nhiên tính về mặt integration chat ché cho trọn bộ hệ thống và công cụ phát triển software thì MSSQL integrate tốt hơn MySql, đặc biệt ở mang NET MSSQL còn hỗ trợ XML trực tiếp trong DB, trong khi đó thì MySQL chưa làm được chuyện này Các chức năng cần thiết như View, StoreProcedure, Trigger thì cả hai tương đương nhau
Nhanh và mạnh: MySQL không có đầy đủ những cơ sở vật chất cho một hệ quản trị cơ sở dữ liệu truyền thống, nhưng đối với nhiều xử lý của phần đông nhiều người thì nó cung cấp nhiều công cụ Nếu công việc là lưu trữ dữ liệu trên Web hoặc làm một trang Thương mại Điện tử cỡ vừa và nhỏ, thì MySQL có đủ những công cụ cần thiết hỗ trợ Đối với những CSDL cỡ trung bình thì MySQL hỗ trợ tốt về tốc độ Các nhà phát trién MySQL rat tự hào về tốc độ xử lý của MySQL Với các ứng dụng vừa và nhỏ thì MySQL là
Hệ Quản trị cơ sở đữ liệu đạt được tốc độ nhanh về xử lý và tổ chức lưu trữ, cập nhật dữ liệu
Cải tiến liên tục: MySQL được cải tiến và phát triển liên tục với một tần suất cao Các nhà phát triển cập nhật nó thường xuyên và bổ sung các tính năng nó Hiện tại, MySQL đã được bổ sung thêm chức năng hỗ trợ
transaction Nhu vay, MySQL da thuc thu trở thành một Hệ Quản trị cơ sở dữ liệu chuyên nghiệp
Tính hiệu suất: Tính về mặt hiệu suất, có rất nhiều thử nghiệm và tường
trinh cho rang MSSQL perform kém hon MySQL nhiéu mat MSSQL đòi hỏi tài nguyên rât lớn (CPU mạnh, nhiêu RAM ), nêu không nó rât ì ạch
Trang 19Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức MySQL không đòi hỏi nhiều như MSSQL MySQL có thể chạy trên các
UNIX highend system và perform tôt hơn MSSQL trên Windows highend server trong nhiêu trường hợp
Tính bảo mật: MSSQL qua mặt MySQL về tính bảo mật ở column level MySQL chỉ có thể set access đến row level là hết Hệ thống xác thực người dùng của MSSQL cũng qua mặt MySQL Tuy vậy, trên bình diện "để
hở cổng" thì MSSQL dé bi exploit hon MySQL boi MSSQL tich hgp qua chat vào hệ điều hành Lỗi của hệ điều hành hoặc một bộ phận nào đó dẫn đến việc nhân nhượng MSSQL nhanh chóng hơn MySQL
Khả năng nhân bản: Cả hai đều có khả năng replicate hoặc cung cấp phương tiện để làm việc này Tuy nhiên, MySQL nhanh hơn và ít sự cô hơn MSSQL vì tất cả các SQL statements dùng dé thay đối, cập nhật đữ liệu được lưu giữ trong binary log MSSQL cung cập nhiều phương pháp replicate cao cấp hơn, chỉ tiết hơn bởi thế nó phức tạp hơn và chậm hơn
Nếu MySQL chạy thuần túy với MyISAM storage engine thi kha nang phục hồi (sau khi bị crash) không cách gì so sánh với MSSQL Tuy nhiên nếu MySQL chay véi Innodb engine thi khả năng phục hồi không thua kém gì MSSQL Ngoài ra, khả năng phục hồi còn được xét ở biên độ liên quan đến khả năng nhân bản (replication) ở trên Bởi vì MSSQL cung cấp nhiều phương thức nhân bản nên việc phục hồi dữ liệu trên MSSQL đễ dàng hơn Một số đặc điểm của InnoDB và MyISAM trong cơ sở đữ liệu MySQL:
- InnoDB hỗ trợ relationship (data integrity and foreign key constraints) còn MyISAM thì ko: Đa phần các open source đều không coi trọng việc này nhưng nếu ứng dụng của bạn bắt buộc phải dùng foreign key constraints thì InnoDB là lựa chọn của bạn
- InnoDB hỗ trợ transactions còn MyISAM thì không: Nếu hệ thống của bạn dùng trong các ứng dụng ngân hàng hoặc phải thực hiện việc giao dịch thì chăc chăn là MyISAM sẽ bị loại
Phí tốn : MySQL bản community không hề tốn tiền để mua nhưng bạn phải tự xắn tay áo lên _Tuy nhiên cài đặt, sử dụng và tối ưu MySQL không khó vì tài liệu của nó rất đầy đủ, thông tin về MySQL tràn ngập trên web So với MSSQL, bạn phải trả gin một ngàn rưỡi đô cho I license MSSQL standard và khi cần support, bạn phải trả thêm tiền support (tùy case) MS vẫn cung cấp bản MSSQL không thu phí dành cho mục đích đevelopment Tài liệu về MSSQL cũng rất nhiều trên mạng Bản MySQL enterprise thì phải trả tiền (khoảng 400 đô) nhưng bạn được support đầy đủ
SVTH: Trần Xuân Viên - Phan Ngọc Anh - 47E_CNTT 19
Trang 20+ MySQL 1a phan mềm mã nguồn mở và nó được sự ủng hộ của cộng đồng hacker và phong trào mã nguôn mở
+ Các công ty lớn có thê truy cập mã nguồn MySQL để tạo ra một bản khác dùng nội bộ công ty với mục đích phi thương mại mà không sợ vi phạm bản quyên
+ Tốc độ MySQL khá nhanh, bảng của MySQL lên đến 8 gb đủ dùng cho các công ty không quá lớn Tôi thì không nhớ nhưng MySQI hình như có thể xử
lý được đến 12.000 connection đồng thời Quá đủ dùng cho 80 % các công ty
trên thế giới
+ Các tính năng mạnh của MySQL đang được bổ sung dần qua từng phiên bản Phiên ban 4.I hiện tại không ít hơn tính năng là mây so với SQL Server
+ Chưa thấy ai chê về khả năng bảo mật của MySQL cả Hồi SQL Server bị
virus đập cho te tua thì MySQL hoàn toàn miền dịch
+ MySQL hoàn toàn miễn phí
+ LAMP = Linux + Apache + MyS§QL + PHP đó là biểu tượng của công đồng
mã nguôn mở
+ Số nhà phát triển dùng MySQL là rất lớn trên thế giới cho nên số các ứng dụng chạy trên MySQL là nhiều và cũng miễn phí
1.6 Mục đích của việc sử dụng cơ sở dữ liệu
Mục đích của việc sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trử, truy cập tô chức và xử lý(manipulation)
*) Lưu trữ: lưu trữ trên đĩa và có thể chuyền đổi đữ liệu từ cơ sở đữ liệu này sang cơ sở đữ liệu khác, nếu bạn sử dụng cho quy mô nhỏ, bạn có thể chọn cơ
sở dữ liệu nhỏ nhu: Microsoft Exel, : Microsoft Access, MySQL, : Microsoft Visual Foxpro,
Nếu ứng dụng có quy mô lớn, bạn có thể chọn cơ sở dữ liệu có quy mô lớn như : Oracle, SQL Server,
Trang 21Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức
*) Truy cập: truy cập đữ liệu phụ thuộc vào mục đích và yêu cầu của người dung, ở mức độ mang tính cục bộ, truy cập cơ sở dữ liệu ngay trong cơ sở dữ liệu với nhau, nhằm trao đồi hay xứ lý dữ liệu ngay bên trong chính nó, nhưng
do mục đích và yêu cầu người dung vượt ra ngoài cơ sở dữ liệu, nên ban cần
có các phương thức truy cập dữ liệu giữa các cơ sở dữ liệu với nhau như: Microsoft Access, SQL Server, hay SQL và cơ sở dữ liệu Oảcle
*) Tổ chức: Tổ chức cơ sở dữ liệu phụ thuộc vào mô hình cơ sở đữ liệu, phân
tích và thiết kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào đặc điểm riêng của từng ứng dụng Tuy nhiên khi tổ chức cơ sở dữ liệu cần phải theo một số tiêu chuẩn của hệ thống cơ sở đữ liệu nhằm tăng tính tối ưu khi truy cập và xử lý
*) Xử lý: Tùy vào nhu cầu tính toán và truy vấn cơ sở dữ liệu với các mục đích khác nhau, cần phải sử dụng các phát biểu truy vẫn cùng các phép toán, phát biểu của cơ sở đữ liệu dé xuất ra kết quả như yêu cầu Dé thao tác hay xử
lý dữ liệu bên trong chính cơ sở dữ liệu mà ta sử dụng các ngôn ngữ lập trình như: PHP, C++,Java, Visual Basic
1.7 Các thao tác cập nhật dữ liệu
*) SELECT ( hay truy vvaans mẫu tin): Select dung để truy vấn từ một hay nhiều bảng khác nhau, kết quả trả về là một tập mẫu tin thỏa mãn các điều kiện cho trước nếu có, cú pháp của phát biểu SQL đạng SELECT như sau: SELECT <danh sách các cột>
[FROM<danh sách bảng>]
[WHERE<cac điều kiện ràng buộc>]
[GROUP BY<tén cét/biéu thức trong SELECT>]
[HAVING<diéu kiện bắt buộc của GROUP BY>]
[ORDER BY<danh sách các cột>]
[LIMIT Fromnumber |ToNumber]
*) INSERT(Thém mau tin):
Cu phap: INSERT INTO Tên bảng VALUES(BỘ giá trị)
*®) UPDATE(Cập nhật dữ liệu):
SVTH: Trần Xuân Viên - Phan Ngọc Anh - 47E_CNTT 21
Trang 22Cú pháp: UPDATE TABLE Tên bảng
SET Tên cột=biêểu thức
[WHERE Điều_ kiện]
*) DELETE( xóa mẫu tin):
Cú pháp: DELETE FROM Tên bảng
[WHERE điều kiện]
1.8 Các hàm thông dụng trong MySQL
1.8.1 Cacs hàm trong phat biéu GROUP BY
*) Ham AVG: Ham tra vé giá trị bình quân của cột hay trường trong câu truy vân
*) Hàm MIN: hàm trả về giá trị nhỏ nhất của cột hay trường trong câu truy vân
*) Hàm MAX: hàm trả về giá trị lớn nhất của cột hay trường trong câu truy vân
*) Ham COUNT: ham tra về số lượng tin trong câu truy van
*) Hàm SUM: hàm trả về tổng các giá trị của cột hay trường trong câu tru ) g 8 y 8 8 y vân
1.8.2 Các hàm xử lý chuỗi
*) Hàm ASCII: Hàm trả về giá trị mã ASCII của ký tự bên trái của chuỗi
*) Ham Char: Ham nay chuyén déi kiểu mã ASCII từ số nguyên sang dạng chuỗi
*) Ham UPPER: hàm này chuyên đồi kiểu chữ sang kiểu chữ hoa
*) Hàm LOWER: hàm này chuyên đồi kiểu chữ sang kiểu chữ thường
*) Hàm LEN: hàm này trả về chiều đài của chuỗi
*) Thủ tục LTRIM: thủ tục loại bỏ khoảng trắng bên trái của chuỗi
*) Thủ tục RTRIM: thủ tục loại bỏ khoảng trắng beeb phải của chuỗi
Trang 23Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức
*) Hàm Left: hàm trả về chuỗi bên trái tính từ đầu cho đến vị trí n
*) Hàm Right: hàm trả về chuỗi bên phải tính từ đầu cho đến vị trí n
*) Hàm Instrt: hàm trả về chuỗi vị trí bắt đầu của chuỗi con trong chuỗi xét 1.8.3 Các hàm xử lý về thời gian
*) ham Curdate(): ham trả về ngày, tháng và năm hiện hành của hệ thống
*) ham CurTime(): ham tra về giờ, phút và giây hiện hành của hệ thống
*) ham Period_Diff: ham tra về số ngày trong khoảng thời gian giữa hai ngày
*) hàm dayofmonth: hàm trả về ngày thứ mấy trong tháng
1.8.4 các hàm về toán học
*) ham sqrt: ham trả về là căn bậc hai của một biểu thức
*) hàm CurDate: hàm trả về ngày, tháng và năm hiện hành của hệ thống
Trang 24- _ Liệt kê, phân loại tin tức (thông tin) theo nhóm tin
- _ Tìm kiếm tin tức: tìm kiếm nhanh hoặc chỉ tiết
*) Liên hệ, góp ý với ban quản trị Website
2.1.2 Phần quản trị hệ thống:
*) Quản lý tin: thêm tin mới; sửa và xóa các tin
*) Quản lý nhóm tin: thêm, sửa và xóa nhóm tin tức
*) Quản lý quảng cáo: thêm, sửa và xóa nhà quảng cáo
*) Quan lý người dùng: thêm, sửa và xóa người dùng.Người dùng được phân quyền
2.2 Biều đồ phân cấp chức năng
Trang 25Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức
Trang 26Thông tin liên hệ, Thông tin người dùng
Thông tin của tin
NHÀ QUẢN TRI
Danh mục tin Thông tin liên hệ,
2.3.2 Biểu đồ mức đính
SVTH : Trần Xuân Viên - Phan Ngọc Anh - 47E_CNTT 26
Trang 27Đồ án tốt nghiệp Tìm hiếu PHP và xây dựng Website tin tức
Thông tin liên hệ,
Thông tin người
Cơ sơ dữ liệu dùng