Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.21 MB, 44 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN
<i>Quảng Nam, tháng 5 năm 2019 </i>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">LỜI CẢM ƠN
<i>Qua bốn năm học tập tại trường Đại Học Quảng Nam, nhờ sự dìu dắt của q thầy cơ. Đặc biệt là q thầy cô khoa CNTT đã dạy cho em những kiến thức quý báu để bước vào đời. Để hoàn thành đề tài khóa luận này là nhờ vào những kiến thức quý báu mà thầy cô đã dạy cho em. Em xin chân thành cảm ơn sự dạy dỗ của các thầy, các cô và đặc biệt chúng em xin gửi lời cảm ơn sâu sắc đến giáo viên hướng dẫn đề tài khóa luận tốt nghiệp là ThS. Nguyễn Văn Khương đã tận tình hướng dẫn chỉ bảo và đóng góp ý cho em trong suốt q trình thực hiện đề tài. </i>
<i>Trong suốt quá trình làm việc em đã cố gắng, nổ lực hết sức mình để hồn thành đề tài này một cách tốt nhất, nhưng sai sót là điều khó tránh khỏi. Vì vậy, em rất mong nhận được những ý kiến đóng góp của q thầy cơ và các bạn để đề tài này có thể phát triển hồn thiện hơn. </i>
<i>Xin chân thành cảm ơn!</i>
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">2. Tính mới của đề tài ... 2
3. Mục tiêu của đề tài ... 2
4. Đối tượng và phạm vi nghiên cứu... 2
5. Phương pháp nghiên cứu ... 2
PHẦN 2: NỘI DUNG ... 3
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT ... 3
1.1. TỔNG QUAN VỀ PHP ... 3
1.1.1. Giới thiệu về ngôn ngữ kịch bản php ... 3
* Ưu điểm của Php ... 5
1.2.3. Tạo cơ sở dữ liệu và người dùng ... 12
1.2.4. Các kiểu dữ liệu trong Mysql... 12
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">2.2.1. Actor và chức năng của hệ thống. ... 18
3.2. GIỚI THIỆU CÁC GIAO DIỆN ... 34
3.2.1. Giao diện đăng nhập ... 34
3.2.2. Giao diện trang chủ ... 35
3.2.3. Giao diện trang quản trị ... 36
3.2.4. Giao diện quản lý slide ... 36
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">1. Lý do chọn đề tài
Ngày nay, cơng nghệ thơng tin đã có những bước phát triển mạnh mẽ theo cả chiều rộng và sâu. Máy tính điện tử khơng cịn là một thứ phương tiện quý hiếm mà đang ngày càng trở thành một công cụ làm việc và giải trí thơng dụng của con người, khơng chỉ ở nơi làm việc mà còn ngay cả trong gia đình. Đặc biệt là công nghệ thông tin được áp dụng trên mọi lĩnh vực kinh tế, chính trị, xã hội Ứng dụng cơng nghệ thơng tin và tin học hóa được xem là một trong yếu tố mang tính quyết định trong hoạt động của quốc gia, tổ chức và trong cả các cửa hàng. Nó đóng vai trị hết sức quan trọng và có thể tạo nên bước đột phá mạnh mẽ. Mạng INTERNET là một trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu, là nền tảng để truyền tải, trao đổi thơng tin trên tồn cầu. Bằng INTERNET, chúng ta đã thực hiện được những công việc với tốc độ nhanh hơn, chi phí thấp hơn nhiều so với cách thức truyền thống. Chính điều này, đã thúc đẩy sự khai sinh và phát triển của thương mại điện tử trên khắp thế giới, làm biến đổi đáng kể bộ mặt văn hóa, nâng cao đời sống con người. Trong hoạt động sản xuất, kinh doanh, thương mại điển tử đã khẳng định được xúc tiến và thúc đẩy sự phát triển của doanh nghiệp. Đối với một cửa hàng, việc quảng bá và giới thiệu sản phẩm đến khách hàng đáp ứng nhu cầu mua sắm ngày càng cao của khách hàng sẽ là cần thiết.
Lào – đất nước láng giềng xinh đẹp và bình yên, mê hoặc du khách với những ngôi chùa tôn nghiêm, những thác nước tuyệt đẹp, những pho tượng Phật nhiều hình dáng độc đáo và nụ cười thân thiện, hiếu khách của người dân.
Với sự bùng nổ của công nghệ thơng tin và với vai trị khơng thể thiếu của nghành học này, các tổ chức và các doanh nghiệp lớn và nhỏ đều tìm mọi biện phát để xây dựng và cùng cổ một cách hoàn thiện hệ thống thơng tin của mình nhằm tin học hóa các hoạy động tác ngiệp của đơn vị.
Với việc xây dựng Website nói chung, và xây website cho trường đại học champasak Mục đích là để nhằm vào tất cả mọi người hay mọi nước trong Đơng Nam Á. Biết được những cầu đó chương trình Xây dưng website trương đại học được xây dựng nhằm để đáp ứng cho mọi người tiêu dung trên quốc và thông qua hệ thơng website này họ có thể lien hệ, Hiên nay trên thể giới nhà trường không ngừng đầu tự
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">vào việc xây dựng và cải thiện các giải pháp phép tiến hành trên Internet. Chúng cũng dễ dàng nhận ra tầm qua trọng với những đơn giản trên máy có nối mạng Internet bạn sẽ có tạn tay những gì mình cần mà khơng phải mất nhiều thời gian.
Ở Lào nhiều doanh nghiệp phát triển nhũng do những khó nhăn về cơ sở hạ tầng như viễn thông chưa phát triển mạnh, các dich vụ phổ biển nên chỉ dùng lại ở mức độ giới thiệu và thơng qua Internet.
Nhằm nghiên cứu và góp phát triển điện tự ở Lào, Em đã tìm hiểu và thức hiện đề tài “ Xây dựng website cho trường đai học Champasak ”
2. Tính mới của đề tài
- Ứng dụng ngôn ngữ PHP xây dựng hệ thống đánh giá kết quả học tập của học sinh trong trường trên nền hệ thống website.
- Có thể triển khai mở rộng đánh giá kết quả học tập cho học sinh trên nhiều trường.
- Lưu trữ thông tin đánh giá kết quả học tập trên hệ thống website. 3. Mục tiêu của đề tài
Nắm vững những kiến thức về nội dung chính, hiểu được về HTML, CSS, Javascript ,PHP ,my SQL và các công cụ thiết kế web. Biết vận dụng những kiến thức vào xây dựng trang thông tin điện tử (Website).
Các chức năng được hoàn thiện, bổ sung cho website bao gồm: 4. Đối tượng và phạm vi nghiên cứu
4.1. Đối tượng nghiên cứu
Tìm hiểu Xây dựng hệ thống website thông tin cho trường đại học Champasak – Lào
Ngôn ngữ lập trình PHP, hệ quản trị cơ sở dữ liệu MySQL 4.2. Phạm vi nghiên cứu
Tìm hiểu, nghiên cứu và thiết kế Website cho trường ĐH Champasak 5. Phương pháp nghiên cứu
- Tiếp cận trực tiếp việc đánh giá kết quả học tập và thông báo theo kiểu truyền thống.
- Áp dụng những kiến thức tiếp thu từ các thầy (cô) và những kinh nghiệm lập trình web với PHP và MySQL để cài đặt hệ thống.
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">Cái tên PHP ban đầu được viết tắt bởi cụm từ Personal Home Page, và được phát triển từ năm 1994 bởi Rasmus Lerdorf. Lúc đầu chỉ là một bộ đặc tả Perl, được dùng để lưu dấu vết người dùng trên các trang web. Sau đó, Rasmus Lerdorf đã phát triển PHP như là một máy đặc tả (Scripting engine). Vào giữa năm 1997, PHP đã được phát triển nhanh chóng trong sự u thích của nhiều người. PHP đã khơng còn là một dự án cá nhân của Rasmus Lerdorf và đã trở thành một công nghệ web quan trọng. Zeev Suraski và Andi Gutmans đã hồn thiện việc phân tích cú pháp cho ngôn ngữ để rồi tháng 6 năm 1998, PHP3 đã ra đời (phiên bản này có phần mở rộng là *.php3). Cho đến tận thời điểm đó, PHP chưa một lần được phát triển chính thức, một yêu cầu viết lại bộ đặc tả được đưa ra, ngay sau đó PHP4 ra đời (phiên bản này có phần mở rộng khơng phải là *.php3 mà là *.php). PHP4 nhanh hơn so với PHP3 rất nhiều. PHP bây giờ được gọi là PHP Hypertext PreProcesor.
<i>* Đặc điểm của file php </i>
PHP có thể chạy trên các môi trường (platforms) khác nhau như: Windows, Linux, Unix… Nó cịn có khả năng tương thích với hầu hết các servers đang sử dụng hiện nay như: Apache, IIS...
Ngoài ra các file PHP trả về kết quả cho trình duyệt là một trang thuần HTML, và các file PHP có thể chứa văn bản (Text), các thẻ HTML (HTML tags) và các đoạn mã kịch bản (Script).
Phần lớn các file PHP có phần mở rộng là: .php, .php3, . Phpml và lưu ý rằng, từ phiên bản 4.0 trở về sau mới hỗ trợ session.
<i>* Lịch sử phát triển </i>
Dưới đây là một số mốc phát triển của Php:
Năm 1995, phiên bản đầu tiên ra đời có tên là PHP/FI được viết bởi nhà phát triển phần mềm Rasmus Lerdorf.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số các chức năng cơ bản của PHP ngày nay.
Năm 1997, phiên bản PHP/FI 2.0 ra đời nhưng chỉ được công bố dưới dạng các bản beta. Đến tháng 11 năm 1997 mới chính thức được cơng bố.
Năm 1998, phiên bản PHP 3.0 được chính thức cơng bố.
Andi Gutmans và Zeev Suraski tiếp tục hoàn tất phần lõi nhằm cải tiến PHP 3.0. Tháng 05/2000, phiên bản PHP 4.0 với hàng loạt các tính năng mới bổ sung, đã chính thức được cơng bố.
29/06/2003, phiên bản PHP 5 Beta 1 đã chính thức được cơng bố.
Tháng 10/2003, phiên bản Beta 2 ra mắt với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators, Reflection nhưng namespace một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn.
Ngày 21/12/2003: phiên bản PHP 5 Beta 3 đã được cơng bố.
Ngày 13/07/2004, phiên bản PHP 5 bản chính thức đã ra mắt sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC1, RC2, RC3.
Ngày 14/07/2005, phiên bản PHP 5.1 Beta 3 được PHP Team cơng bố đánh dấu sự chín muồi mới của PHP với sự có mặt của PDO.
Hiện nay, phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản sử dụng thử đã có thể được download tại địa chỉ .
<i>* Q trình thơng dịch trang php </i>
Php là kịch bản trình chủ được chạy trên nền php Engine, cùng với ứng dụng Web Server để quản lý chúng.
Khi trang php được gọi, Web Server triệu gọi PHP Engine để thông dịch, dịch trang PHP và trả về kết quả cho người sử dụng là một trang thuần HTML
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">Ta có mơ hình như sau:
<i>Hình 1.1: Q trình thơng dịch trong php * Ưu điểm của Php </i>
Có nhiều lý do khiến cho việc sử dụng ngôn ngữ này chiếm ưu thế xin nêu ra đây một số lý do cơ bản :
- Mã nguồn mở (open source code)
- Miễn phí, download dễ dàng từ Internet. - Ngơn ngữ rất dễ học, dễ viết.
- Mã nguồn không phải sửa lại nhiều khi viết chạy cho các hệ điều hành từ Windows, Linux, Unix.
- Rất đơn giản trong việc kết nối với nhiều nguồn DBMS, ví dụ như: MySQL, Microsoft SQL Server 2000, Oracle, PostgreSQL, Adabas, dBase, Empress, FilePro, Informix, InterBase, mSQL, Solid, Sybase, Velocis và nhiều hệ thống CSDL thuộc Hệ Điều Hành Unix (Unix dbm) cùng bất cứ DBMS nào có sự hổ trợ cơ chế ODBC (Open Database Connectivity) ví dụ như DB2 của IBM.
<i>1.1.1.2. Cú pháp </i>
Đầu tiên, một đoạn mã PHP luôn được bắt đầu và kết thúc bởi cặp thẻ theo cú pháp:
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><i><?php </i>
<i>các lệnh của php; ?> </i>
Sau đó, ta cũng có thể nhúng các lệnh của php vào trang HTML và đoạn mã php có thể đặt bất kỳ đâu trong tài liệu. Thơng thường một trang php bao gồm các thẻ HTML như một trang HTML nhưng có thêm các đoạn mã PHP.
Ví dụ: Ta có đoạn mã php hiển thị câu “Hom nay em duoc hoc cu phap mot doan ma php” lên trình duyệt như sau:
- Các file php phải có phần mở rộng là .php. Nếu phần mở rộng là .html thì đoạn mã php sẽ khơng được thực thi.
<i>- Có thể viết các câu chú thích cho đoạn mã php. Có hai cách viết là: /* chú </i>
<i>thích */ hoặc // chú thích. </i>
- Đoạn mã php cũng có thể đặt trong cặp thẻ: <? Đoạn mã php ?>
<i>1.1.1.3. Các kiểu dữ liệu </i>
PHP hỗ trợ 5 kiểu dữ liệu như sau:
<i>- Integer: sử dụng cho giá trị có kiểu dữ liệu là số nguyên. Trên hầu hết các hệ </i>
thống, kiểu số ngun có kích thước 32 bit, mang giá trị từ -2147483647 cho
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><i> $d = 0x1F; //giá trị 1F ở hệ cơ số 16, tương đương với 31 ở hệ cơ số 10 </i>
<i>?> </i>
- Double (còn gọi là Float): Sử dụng cho giá trị có kiểu dữ liệu là số thực. Trên hầu hết các hệ thống, kiểu số thực có kích thước 64 bit.
- String: Sử dụng cho các giá trị có kiểu dữ liệu là chuỗi và ký tự, mỗi ký tự có kích thước là 1 byte. Nội dung string được đặt giữa 2 dấu nháy, nháy đơn (') hoặc nháy kép (").
<i> Ví dụ: </i>
<i>$a = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn'; $b = "Đây là 1 chuỗi được đặt giữa dấu nháy kép"; </i>
<i>$c = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn với "vài dấu nháy kép ở giữa"'; </i>
<i>$d = "Đây là 1 chuỗi được đặt giữa dấu nháy kép với 'vài dấu nháy đơn ở giữa'"; </i>
<i>?> </i>
Nếu bạn muốn sử dụng dấu nháy đơn ở trong 1 chuỗi được bọc bởi dấu nháy đơn, hoặc sử dụng dấu nháy kép đặt giữa chuỗi được bọc bởi dấu nháy kép thì bạn để thêm ký tự \ (gọi là ký tự escape) ở phía trước.
<i>Ví dụ: <? Php </i>
<i>$a = 'Dấu \'nháy đơn\' ở giữa chuỗi'; //$a mang giá trị: Dấu 'nháy đơn' ở giữa chuỗi </i>
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13"><i>$b = "Dấu \"nháy kép\" ở giữa chuỗi"; //$b mang giá trị: Dấu "nháy kép" ở giữa chuỗi </i>
<i>$c = "Dùng ký tự \\ ở giữa câu \\ thì sao?"; //$c mang giá trị: Dùng ký tự \ ở giữa câu \ thì sao? </i>
<i>?> </i>
Khi sử dụng dấu nháy đơi để bọc chuỗi, ngồi \', \" và \\, PHP có thể nhận dạng thêm một số chuỗi ký tự escape đặc biệt nữa:
\n: ký tự xuống hàng LF (ký tự có mã 10 trong bảng mã ASCII)
\r: ký tự về đầu dòng CR (ký tự có mã 13 trong bảng mã ASCII) \t: ký tự tab (ký tự có mã 9 trong bảng mã ASCII)
\xhh: (với h là 1 chữ số từ 0 đến 9 hoặc 1 chữ cái từ A tời F) biểu thị 1 ký tự có mã ASCII hh trong hệ cơ số 16.
<i>Ví dụ: </i>
\0x41 sẽ là ký tự 'A' (41 trong hệ cơ số 16 chính là 65 trong hệ cơ số 10).
Ngoài ra, nếu bạn để 1 biến vào giữa 1 chuỗi được bọc với dấu nháy kép, giá trị của biến sẽ được thay thế vào trong chuỗi.
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">- Array: Sử dụng cho các giá trị có kiểu dữ liệu là mảng. Mảng cịn có thể tạo được tạo thành bởi các cặp (khóa, giá trị).
<i>Ví dụ: </i>
<?php
$a = Array( "khố 1" => "giá trị 1", "khoá 2" => "giá trị 2", "khoá 3" => "giá trị 3");
<i>echo $a["khoá 1"]; //in ra: giá trị 1 </i>
$b = Array( "a" => "pham", "b" => "van", "c" => "vu");
<i>echo $b["a"]; //in ra: pham </i>
<i>Quy tắc viết tên biến trong PHP </i>
- Biến trong PHP bắt đầu bằng dấu $, theo sau là tên của biến. - Tên của biến phải bắt đầu bằng chữ hoặc ký tự gạch dưới.
- Tên biến chỉ có thể là các ký tự chữ-số hoặc dấu gạch dưới(A-z, 0-9, _ ) - Tên biến không được chứa khoảng trắng
- Tên biến phân biệt chữ hoa và chữ thường (z and Z là 2 biến khác nhau) - Cách khai báo biến: PHP khơng có câu lệnh để thực hiện khai báo biến.
Một biến được khai báo khi bạn gán cho nó một giá trị.
<i>Ví dụ: $myMotor="AirBlade"; </i>
Sau khi thực thi khai báo trên, biến $myMotor nhận giá trị là AirBlade.
<i>Chú ý: Nếu muốn khai báo biến mà khơng gán giá trị nào cho nó thì gán cho nó </i>
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">Chú ý: Khi bạn gán một giá trị dạng text cho biến thì bạn phải cho giá trị của biến vào trong ngoặc kép.
1.1.2. Toán tử gán
Chúng ta đã từng tiếp xúc với toán tử này bởi việc khởi tạo 1 biến. Nó gồm ký tự đơn =. Tốn tử gán lấy giá trị của toán hạng bên phải gán nó vào tốn hạng bên trái.
<i>Ví dụ: $name = "Xuân Cảnh"; </i>
1.1.3. Toán tử số học
Là dạng phép tính giản đơn cộng, trừ, nhân, chia trong số học. Ngồi ra cịn có phép chia lấy dư (%). Được sử dụng để lấy ra đơn vị dư của 1 phép toán.
Là toán tử được sử dụng để thực hiện các phép toán so sánh giữa hai số hạng. Chi tiết, xem bảng bên dưới.
=== Đồng nhất Hai số bằng nhau và cùng kiểu $a===10
>= Lớn hơn hoặc bằng Vế trái lớn hơn hoặc bằng vế phải $a>=10
<= Nhỏ hơn hoặc bằng Vế trái nhỏ hơn hoặc bằng vế phải $a<=10
1.1.5.Toán tử logic
Toán tử logic là các tổ hợp các giá trị boolean.
Ví dụ: tốn tử or trở về true nếu toán tử trái hoặc toán tử phải là true.
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">Ta có bảng các tốn tử như sau:
Khi tạo mã PHP, chúng ta sẽ thường nhận thấy cần phải tăng hoặc giảm lượng biến một số nguyên nào đó. Bạn sẽ thường thực hiện điều này khi chúng ta đếm 1 giá trị nào đó trong vịng lặp.
1.2.1. Giới thiệu về MySQL
SQL là chuẩn ngôn ngữ ANSI để truy cập CSDL. SQL là viết tắt của Structured Query Language - Ngôn ngữ truy vấn cấu trúc.
SQL là một chuẩn của ANSI (American National Standards Institute - Viện tiêu chuẩn quốc gia Hoa kỳ) về truy xuất các hệ thống CSDL. Các câu lệnh SQL được sử dụng để truy xuất và cập nhật dữ liệu trong một CSDL.
1.2.2. Đặc điểm
SQL hoạt động với hầu hết các chương trình CSDL như MS
Access, DB2, Informix, MS SQL Server, Oracle, Sybase v.v... Nó có nhiều phiên bản cho 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 Windows, Linux, Mac OS X, Unix, Solaris…
<i>Lưu ý: Hầu hết các chương trình CSDL hỗ trợ SQL đều có phần mở rộng cho SQL chỉ hoạt động với chính chương trình đó. </i>
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17"><i>Một CSDL thường bao gồm một hoặc nhiều bảng (table). Mỗi bảng được xác định thơng qua một tên (ví dụ Customers hoặc Orders). Bảng chứa các mẩu tin - dòng (record - row), là dữ liệu của bảng. </i>
<i>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. </i>
<i>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 server hoạt động trong các hệ thống nhúng hoặc client/server. </i>
1.2.3. Tạo cơ sở dữ liệu và người dùng
<i>1.2.3.1. Kết nối và tạo cơ sở dữ liệu </i>
Để kết nối cơ sở dữ liệu ta có thể thực hiện theo hai cách: + Kết nối và tạo CSDL bằng Command line.
+ Kết nối và tạo CSDL bằng giao diện đồ họa: MySQL Administrator hoặc phpmyadmin.
<i>1.2.3.2. Quản lý người dùng </i>
Để đăng nhập vào MySQL ta có thể sử dụng user là root và pass là rỗng.
Ngoài tài khoản này ta có thể tạo thêm các tài khoản cho người dùng với các users và pass khác nhau.
1.2.3.2.1. Cấp quyền cho người dùng
Với quyền root ta có thể thực hiện mọi thao tác trên CSDL: select, update, insert, delete,…
Tuy nhiên, khi tạo quyền người dùng ta cũng có thể hạn chế bớt một số quyền nhất định nào đó.
1.2.3.2.2. Xóa quyền hoặc xóa tài khoản người dùng
Sau khi cấp quyền cho người dùng ta có thể thêm hoặc loại bỏ một số quyền nào đó.
Với việc truy cập vào tài khoản root ta có thể xóa các tài khoản người dùng đã được tạo ra.
1.2.4. Các kiểu dữ liệu trong Mysql Dữ liệu kiểu numeric:
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">- Tinnyint: Lưu các số nguyên không dấu (unsigned) từ 0-255 hoặc các số
Dữ liệu kiểu date và time: Bao gồm các kiểu sau:
- Date: Lưu trữ ngày dạng yyy-mm-dd. Cho phép giá trị từ 1000-01-01 đến 9999-12-31
- Datetime: Lưu trữ dạng yyyy-mm-dd hh:mm:ss
- Timestamp: Tự động ghi nhận thời gian thay đổi gần nhất. Tùy thuộc vào độ rộng của cột nằm trong khoảng từ 2 đến 14 (yy đến yyyy-mm-dd hh:mm:ss)
- Time: Dùng để lưu trữ giờ định dạng hh:mm:ss. - Year: Dùng để lưu năm bắt đầu từ 1970
Dữ liệu kiểu string: bao gồm các kiểu sau:
- Char: Chiều dài tối đa 255 ký tự, đây là kiểu có chiều dài cố định.
- Varchar: Cũng tương tự kiểu char có chiều dài tối đa 255 ký tự, song có điểm khác là có chiều dài thay đổi, các giá trị sẽ không bị nối thêm ký tự trắng.
- Tinytext: là kiểu ký tự văn bản nhị phân. Có chiều dài tối đa 255.
- Text: có chiều dài 65.535 ký tự. Các chỉ mục có thể được tạo trên 255 ký tự đầu của cột text
- Mediumtext: có chiều dài 16.777.215 - Longtext: có chiều dài >4 tỉ ký tự - Enum, Set,…
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">1.2.5. Các câu lệnh SQL
<i>1.2.5.1 Câu lệnh Select </i>
Dùng để truy vấn dữ liệu từ một hay nhiều bảng khác nhau và trả về kết quả là một tập mẫu tin thỏa mãn điều kiện nào đó.
<i>Cú pháp: SELECT <Danh sách các cột> [FROM <danh sách các bảng>] [WHERE <các điều kiện ràng buộc>] </i>
<i>[GROUP BY <tên cột/ biểu thức trong SELECT>] [HAVING <đk bắt buộc của GROUP BY>] </i>
<i>[ORDER BY <danh sách cột>] [LIMIT FromNumber | ToNumber] </i>
Trong đó, danh sách các cột: Tên các cột, biểu thức kết hợp giữa các cột của bảng.
Trường hợp truy vấn tất cả các cột của bảng ta sử dụng tốn tử * thay vì chỉ ra danh sách tất cả các cột.
Trường hợp, có các cột cùng tên ở các bảng khác nhau thì ta cần chỉ ra tên bảng đi trước theo cú pháp: Tên_bảng.Tên_cột
<i>1.2.5.2. Câu lệnh Insert </i>
Được sử dụng khi cần thêm mẫu tin vào bảng trong CSDL MySQL.
Khi thêm dữ liệu, cần chú ý đến kiểu dữ liệu của các cột mình cần thêm dữ liệu. Cần quan tâm đến quyền của User đăng nhập có được phép Insert hay không. Khi Insert dữ liệu vào bảng có 3 trường hợp:
- Insert từ giá trị cụ thể
- Lấy giá trị từ một hoặc nhiều bảng khác - Bao gồm cả hai trường hợp
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20"><i>UPDATE <tên bảng> SET <tên cột>=<SELECT … FROM tên bảng …> … </i>
UPDATE có thể ảnh hưởng đến nhiều bảng nhưng cập nhật giá trị chỉ có hiệu lực trên bảng đó.
<i>1.2.5.4. Câu lệnh Delete </i>
Dùng để xóa mẫu tin trong bảng được chỉ ra bởi tên bảng và mệnh đề WHERE (nếu có) nhằm xác định mẫu tin cần xóa theo một điều kiện nào đó.
<i>DELETE FROM <tên bảng> WHERE <conditions>. </i>
Conditions: có thể là phép tốn giữa các cột và giá trị hoặc giá trị là kết quả trả về của một câu lệnh SELECT khác.
<i>Lưu ý: khơng có khái niệm xóa giá trị trong một cột, vì xóa giá trị một cột đồng </i>
nghĩa với cập nhật cột đó bằng giá trị rỗng.
<i>1.2.5.5. Câu lệnh Join </i>
Inner Join: Dùng để kết hợp các bảng dữ liệu
<i>Cú pháp: SELECT [các cột] FROM <bảng 1> INNER JOIN <bảng 2> ON <điều kiện kết hợp> WHERE …. ODER BY … </i>
<i>Ví dụ: SELECT Hoten, Tongdiem FROM Sinhvien INNER JOIN Hocsinh ON </i>
Sinhvien.Masv = Hocsinh.Masv WHERE Tongdiem >2.0 ORDER BY Tongdiem
Left Join: Dùng để kết hợp các bảng dữ liệu khi muốn trả về kết quả là những mẫu tin của bảng bên trái tồn tại ứng với những mẫu tin ở bảng bên phải không tồn tại.
<i>Cú pháp: SELECT [các cột] FROM <bảng trái> LEFT JOIN <bảng phải> ON </i>
<điều kiện kết hợp> WHERE …. ODER BY …
Right Join: Dùng để kết hợp các bảng dữ liệu khi muốn trả về kết quả là những mẫu tin của bảng bên phải tồn tại dù bảng bên trái không tồn tại
<i>Cú pháp: SELECT [các cột] FROM <bảng trái> RIGHT JOIN <bảng phải> ON </i>
<điều kiện kết hợp> WHERE …. ODER BY …
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">1.2.6. Các hàm trong MySQL
<i>1.2.6.1. Các hàm phát biểu trong Group by </i>
Hàm AVG: trả về giá trị bình quân của cột hay trường trong câu truy vấn Hàm MIN: trả về giá trị nhỏ nhất của cột hay trường trong câu truy vấn Hàm MAX: trả về giá trị lớn nhất của cột hay trường trong câu truy vấn Hàm SUM: trả về tổng các giá trị của cột hay trường trong câu truy vấn
<i>1.2.6.2. Các hàm về xử lý thời gian </i>
Hàm CurDate(): trả về ngày, tháng, năm hiện hành của hệ thống Hàm CurTime(): trả về giờ, phút, giây hiện hành của hệ thống
Hàm Period_Diff(ngày đầu, ngày cuối): trả về số ngày trong khoảng thời gian giữa ngày đầu và ngày cuối
Hàm dayofmonth: trả về ngày thứ mấy trong tháng
<i>1.2.6.3. Các hàm về xử lý số học </i>
Hàm sqrt: trả về căn bậc hai
Hàm round: làm tròn giá trị biểu thức
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">2.1.1. Đặt vấn đề
Ngày nay, xã hội ngày càng phát triển, chúng ta đang được sống trong kỷ nguyên tin học nhờ sự phát triển vượt bậc, bùng nổ mạnh mẽ của ngành công ngệ thông tin. Công ngệ thông tin không chỉ không chỉ dừng lại ở mục đích phục vụ khoa học kỹ thuật mà cịn đi sâu vào đời sống, kinh tế, chính trị, xã hội, vv..
Ở nước ta hiện nay, ngành công ngệ thông tin đã trở thành nghành công nghiệp mũi nhọn, một nghành khoa học công nghệ không thể thiếu trong việc áp dụng vào cuộc sống cũng như các hoạt động xã hội. Đi kèm theo đó, các hệ thống website cũng không ngừng phát triển với đủ mọi lĩnh vực: khoa học công nghệ, kinh tế, giáo dục, thể thao,.... Tuy nhiên, để tạo một trang website có sức sống bền lâu thì bản thân nó phải mang lại lợi ích cho nhiều người. Giao diện hài hòa, thân thuộc là yếu tố giúp người xem tìm đến website của bạn nhưng yếu tố quyết định là những nội dung mà website cung cấp cho người đọc.
2.1.2. Giải pháp
Xây dựng một hệ thống trực tuyến đơn giản, thân thiện, dễ sử dụng giúp cho người dùng có thể xem, nắm bắt những thông tin cần thiết, người quản trị quản lý những thông tin và người dùng.
Website trường Đại học Champasak là giải pháp tạo lập một trang báo điện tử với khả năng tiếp cận đọc giả và liên tục. Khả năng xuất bản thơng tin nhanh chóng và tính cập nhật đa dạng. Website bao gồm một hệ thống quản lý nội dung – cho phép biên tập tin tức, hình ảnh, sắp xếp theo chuyên mục, phân quyền đến từng chức năng biên tập, duyệt tin…
2.1.3. Đặc tả bài tốn Tính năng của hệ thống
- Chức năng quản lý người dùng(đăng nhập, đăng ký..)
- Chức năng xem thông tin (xem thông tin về tin học, ngoại ngữ, xem thông tin cá nhân,tra cứu điểm thi,...)
- Chức năng quản lý thông tin(quản lý thông tin cá nhân, danh sách thành viên, quản lý danh mục tin tức,...)
</div>