3.3.1 Hệ quản trị cơ sở dữ liệu MySQL
o Giới thiệu về MySQL
MySQL là cơ sở dữ liệu được sử dụng cho các ứng dụng Web có qui mô vừa và nhỏ. Tuy không phải là một cở sở dữ liệu lớn nhưng chúng có trình giao diện trên Window hay Linux, cho phép người dùng có thể thao tác các hành động liên quan đến cơ sở dữ liệu.
Cũng giống như các hệ cơ sở dữ liệu khác, khi làm việc với MySQL, bạn kết nối, tạo cơ sở dữ liệu, quản lý người dùng, phân quyền sử dụng, thiết kế đối tượng Table của cơ sở dữ liệu.
Để sử dụng các phát biểu hay các thao tác trên cơ sở dữ liệu, bạn có thể sử dụng trình quản lý đồ họa hay dùng dòng lệnh còn gọi là Command line.
Tuy nhiên, trong bất kì ứng dụng cơ sở dữ liệu nào cũng vậy, nếu bản thân chúng có hỗ trợ một trình giao diện đồ họa, bạn có thể sử dụng chúng tiện lợi hơn các sử dụng commnad line, bởi vì, cho bạn điều khiển MySQL dưới bất kỳ một hình thức nào, mục đích cũng là quản lý và thao tác trên cơ sở dữ liệu.
Nếu chúng ta đang tìm kiếm một hệ thống quản lý cơ sở dữ liệu miễn phí hay là không đắt tiền, một vài thứ có sẵn để bạn chọn như: MySQL, mSQL, Postgres. Khi bạn so sánh Mysql với các hệ thống cơ sở dữ liệu khác, hãy nghĩ về những gì quan trọng nhất đối với chúng ta. Sự thực thi, sự hỗ trợ, các đặc tính, các điều kiện và các giới hạn của bản quyền, giá cả của tất cả các nhân tố để có thể thực hiện. Với lí do đó MySQL có nhiều điểm cuốn hút.
Tốc độ: MySQL rất nhanh. Những nhà phát triển cho rằng MySQL là cơ sở dữ liệu nhanh nhất mà bạn có thể có.
Dễ sử dụng: MySQL có tính năng cao nhưng lại là một hệ thống cơ sở dữ liệu đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệ thống lớn.
Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không phải UNIX chẳnghạn như Windows hay OS/2. MySQL chạy được với mọi phần cứng như máy PC ở nhà cho đến các máy Server
Giá thành: MySQL là miễn phí cho hầu hết các việc sử dụng trong một tổ chức. Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn lựa cho tất cả các hệ thống cơ sở dữ liệu hiện đại. Bạn cũng có thể truy cập MySQL bằng cách sử dụng các ứng dụng được hỗ trợ ODBC (Open Database Conectivity- một giao thức giao tiếp cơ sở dữ liệu được phát triển bởi Microsoft).
WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS sở dữ liệu. Nó thường được dùng trong các hệ thống cơ sở dữ liệu như MySQL, Oracle, Sybase, PostgreSQL và Micrsoft SQL Server…
Phát biểu SQL gồm các loại sau:
SELECT (truy vấn mẫu tin) INSERT (thêm mẫu tin) UPDATE (Cập nhật dữ liệu) DELETE (Xoá mẫu tin)
Tạo cơ sở dữ liệu
Tại dấu nhắc của dòng lệnh MySQL, chúng ta gõ: Mysql> CREATE DATABASE dbname; dbname: là tên cơ sở dữ liệu ta muốn tạo
- Tạo bảng
Sử dụng lệnh CREATE TABLE, cú pháp thông thường là:
CREATE TABLE tablename (cấu trúc bảng)
Nhập dữ liệu vào cơ sở dữ liệu bằng phát biểu SQL dạng INSERT
Khi cần thêm mẩu tin vào bảng trong cơ sở dữ liệu MySQL chúng ta có thể sử dụng phát biểu INSERT ngay trên ứng dụng kết nối với MySQL. Cú pháp của INSERT như sau:
INSERT [INTO] table
[(column1, column2,… )] VALUES (value1, value2,… );
Truy vấn cơ sở dữ liệu sử dụng SELECT
Sử dụng câu lệnh SELECT để truy xuất dữ liệu từ một cơ sở dữ liệu bằng cách chọn các hàng thoả mãn điều kiện cụ thể nào đó từ một bảng. Có rất nhiều tuỳ chọn và cách khác nhau để sử dụng lệnh SELECT.
Câu lệnh căn bản của SELECT là:
SELECT items FROM tables
[WHERE condition]
[GROUP BY group_type]…..
Cập nhật các bản ghi trong cơ sở dữ liệu sử dụng câu lệnh UPDATE
Cấu trúc thông dụng của nó như sau:
UPDATE tablename
SET columns1=expression1, columns2=expression1,…
[WHERE condition] [LIMIT number]
Xóa mẫu tin khỏi cơ sở dữ liệu sử dụng câu lệnh DELETE
Cấu trúc của lệnh DELETE như sau:
DELETE FROM table
[WHERE condition]
Chú ý: Nếu chúng ta viết DELETE FROM table; thì tất cả các hàng trong bảng sẽ bị
huỷ bỏ.
Hủy các bảng
WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS
DROP TABLE tablename;
Hủy toàn bộ cơ sở dữ liệu
Chúng ta có thể thực hiện điều này bằng cách sử dụng DROP DATABASE, cấu trúc như sau:
DROP DATABASE databasename;
3.3.2 Ngôn ngữ lập trình PHP
o PHP là gì?
PHP (Hypertext Preprocessor) là kịch bản trên Server (Server Script), được thiết kế cho phép bạn xây dựng ứng dụng Web trên CSDL. Mã PHP có thể thực thi trên Web Server để tạo ra trang HTML và xuất bản ra trình duyệt Web theo yêu cầu người dùng.
PHP là Open Source (mã nguồn mở), điều này có nghĩa là bạn có thể làm việc trên mã nguồn, thêm, sửa, sử dụng và phân phối chúng.
PHP dễ sử dụng, chi phí thấp. Thêm vào đó, PHP có thể chạy trên các CSDL không yêu cầu bản quyền như MySQL, PostgreSQL,…
o PHP có một số ưu nhược điểm khi sử dụng để xây dựng Web
PHP là ngôn ngữ dễ học, ngôn ngữ có thể tạo ra các trang Web động tuyệt đẹp và hiện nay PHP là một ngôn ngữ đang được chú trọng vì nó có tốc độ xử lý nhanh, PHP xây dựng được nhiều tính năng để đáp ứng nhu cầu của nhà thiết kế.
PHP là một mã nguồn thông tin mở. Bởi vậy nên cộng đồng các nhà phát triển Web luôn có ý thức cải tiến nó, nâng cao để khắc phục các lỗi trong chương trình này.
PHP rất ổn định và tương hợp, mới đây PHP đã vận hành khá ổn định trên các hệ điều hành gồm cả Unix, Windows... Đồng thời nó cũng nối với một số máy chủ như IIS hay Apache.
Ta có thể sử dụng PHP để xây dựng một Website có khả năng tương tác cao. Vì các ngôn ngữ kịch bản như Vbscript, Jcript được tích hợp trong PHP nên rất tiện cho người phát triển.
Các ứng dụng PHP không cần trình biên dịch. Trong một vài công nghệ khác như CGI, để phát triển các trang Web động cần phải có một trình biên dịch để dịch thành một chương trình có thể chạy được sử dụng các môi trường phát triển ứng dụng truyền thống. Chỉ một chút sửa đổi thì ta phải biên dịch lại. PHP cung cấp các cách tạo lập trang Web một cách trực tiếp và dễ dàng hơn theo kiểu thông dịch.
3.3.3 Công nghệ PHP FOR APPLICATIONS FRAMEWORK
P4A là một framework PHP, một phần mềm chứa các thư viện, các module và các widget thường được sử dụng để xây dựng các ứng dụng và các ứng dụng đó được
WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS Với P4A bạn sẽ có thể phát triển các ứng dụng trên nền web với cách viết mã như bạn sẽ làm gì với những công cụ phát triển phát triển nhanh chóng nhất. Kết quả sẽ là một ứng dụng mà người dùng sẽ được sử dụng với cùng một cảm giác khi sử dụng một ứng dụng client trên desktop. Bạn sẽ không phải lo lắng về việc tạo giao diện đồ họa cho các dự án của bạn bởi vì P4A được tích hợp giao diện đẹp và trong sáng.
P4A có một số tính năng và ưu điểm:
P4A là một dự án được ủy quyền bởi Zend Framework, jQuery, jQuery UI and FCKEditor với các tính năng:
• 100% PHP5
• Tương thích với PHP 5.2.x, Apache 1.3.x/2.0.x and Microsoft IIS 6.0 web servers trên các hệ điều hành Linux/Unix/Windows
• Hoàn toàn là lập trình hướng đối tượng và sự kiện
• Xây dựng dựa trên Zend Framework 1.10.1 (using Zend_Date, Zend_Db, Zend_Locale, Zend_Validate, Zend_Translate)
• Sử dụng như một ứng dụng client trên desktop.
• Dễ dàng truy cập đến tất cả các cơ sở dữ liệu lớn (MySQL, PostgreSQL, Oracle, SQLite) thông qua Zend_DB, với thế hệ mặt nạ tự động dữ liệu đầu vào
• Nhiều cơ sở dữ liệu kết nối cùng một lúc
• Tự động nhận dạng kiểu dữ liệu cơ sở dữ liệu và chức năng theo sau để định dạng tự động và bình thường hóa (integers, decimals, floats, date and time formats, booleans) chặt chẽ với các cài đặt địa phương hóa
• Nhiều yếu tố giao diện người dùng (Widget) chẳng hạn như dòng đơn hoặc dòng văn bản nhiều lĩnh vực với sự hỗ trợ nâng cao WYSIWYG giàu chỉnh sửa văn bản, hộp kiểm tra, đơn lựa chọn nhiều lĩnh vực, các bảng, các nút, Navigators cây, các thanh công cụ, fieldsets vv ..
• Soạn thảo WYSIWYG (FCKeditor) với chức năng upload tập tin, hình ảnh
• Trong suốt trong việc hỗ trợ AJAX (bạn có thể quên về lập trình javascript, tất cả mọi thứ là AJAX được xây dựng trong P4A nhưng bạn có thể vô hiệu hóa hoàn toàn với một dòng mã, thiết kế lại một hoặc nhiều hoặc tất cả các vật dụng trên màn hình sau mỗi cuộc gọi chỉ AJAX sử dụng PHP hướng dẫn)
• Các phương thức được gọi với phương pháp chuỗi. ($ob->method1()->method2 ()) • Hộ trợ hơn 440 môi trường địa phương trong việc địa phương hóa (dạng số và định
dạng ngày) nhờ vào việc thực hiện ZendFramework với CLDR của Unicode • Hơn 40 bản dịch ngôn ngữ đi kèm.
• Hoàn toàn UTF-8.
• Tùy biến cao với các thông số về màu sắc, các gói icons và CSS.
WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS
Hình 3.1 Các thuộc tính của P4A
Hạn chế:
- PHP FOR APPLICATIONS FRAMEWORK là phần mềm ứng dụng còn ít người nghiên cứu, bản thân lại chưa có kinh nghiệm làm việc nhiều nên vừa phải tìm hiểu, nghiên cứu PHP FOR APPLICATIONS FRAMEWORK vừa thực hiện đồ án
Zend Framework
Zend Framework là một thư viện các class được xây dựng trên nền tảng ngôn ngữ PHP. Zend Framework được định hướng theo mô hình MVC, có tính mềm dẻo, linh hoạt và dễ dàng tích hợp các thư viện PHP có sẵn. Zend Framework thường được ứng dụng vào các dự án Open Source lớn. Mọi request đều tập trung vào 1 tập tin duy nhất là index.php
Mô hình MVC (Model-View-Controller )
WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS - VIEWS : Mô hình Views có nhiệm vụ liên kết với Mô hình Model và xuất các dữ liệu ra trình duyệt theo nhu cầu đòi hỏi của người tiêu dùng (user). Điển hình là các văn bản HTML.
- CONTROLLER : Mô hình CT liên kết hai mô hình MD và Views cũng như kiểm soát chính xác các tệp tin trước khi cho tệp tin đó hiện thị ra trình duyệt.
3.4 Các yêu cầu về phần cứng 3.4.1 Hệ thống máy chủ (server)
Hệ thống máy chủ cần phải cài đặt các phần mềm sau: - Cài đặt hệ điều hành Linux Fedora Core , Ubuntu - Cài đặt Apache web server
- Cài đặt PHP
- Cài đặt hệ quản trị cơ sở dữ liệu MySQL
Đối với mỗi khu vực cần trang bị 01(một) máy chủ. Như vậy sẽ cần 3 (ba) máy chủ với cầu hình đề nghị như sau:
- CPU Intel P4 2.4 Ghz trở lên
- Bộ nhớ trong (RAM) 1024 MB (1 GB)
- Ổ đĩa cứng (HDD): Hai ổ cứng 80 GB trở lên (IDE RAID) - Card mạng (NIC) 10/100
3.4.2 Hệ thống máy tính trạm
Hệ thống máy tính trạm cần phải cài đặt: - Hệ điều hành: Windows XP SP2
- Trình duyệt web IE (Internet Explore) 6.0 trở lên hoặc trình duyệt web Mozilla Firefox 1.5 trở lên
Cấu hình phần cứng đề nghị:
- CPU Intel P3 1000 Ghz hoặc Intel P4 trở lên - Bộ nhớ trong (RAM): 512 MB
- Ổ đĩa cứng (HDD): 40 GB - Card mạng (NIC) 10/100
Số lượng máy trạm tùy theo yêu cầu thực tế.
3.5 Cài đặt chương trình: 3.5.1 Cài đặt XAMP
Gói phần mềm XAMPP là miễn phí và tích hợp các gói phần mềm: - Apache (web server)
WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS - MySQL (hệ quản trị cơ sở dữ liệu dành cho PHP)…
- Tải về bản mới nhất tại địa chỉ:
http://www.apachefriends.org/en/xampp.html.
Sau khi tải về, bạn kích hoạt tập xampp-win32-1.6.8-installer.exe để cài đặt chương trình.
3.5.2 Cài đặt P4A
Để cài đặt P4A chúng ta thực hiện như sau:
Bước 1: Download P4A
- Download p4a tại http://p4a.crealabsfoundation.org/
Bước 2: Tạo cơ sở dữ liệu
Tại thanh địa chỉ của trình duyệt web, bạn gõ địa chỉ sau để vào trang quản lý cơ sở dữ liệu mysql.
http://localhost/phpmyadmin/
Tại giao diện phpMyAdmin, chúng ta tạo một database.
Ví dụ, tạo một database mới có tên là mydata và ngôn ngữ lựa chọn là utf8_general_ci.
Hình 3.2 Tạo database
Sau khi thiết lập xong các thông số trên, chọn để hoàn thành việc tạo cơ sở dữ liệu.
Bước 3: Tiến hành cài đặt
- Giải nén file vừa download vào thư mục: xampp/htdocs và đổi tên thành thư mục chứa web của bạn
Ví dụ đổi tên thành qlhs
WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS
3.6 Cấu trúc tạo một ứng dụng P4A 3.6.1 Một tập tin index.php:
Để khởi động ứng dụng và cấu hình nó. Tại trang này chúng ta thiết lập một vài thông số như đường dẫn thư mục tải lên, kết nối với CSDL, tạo một đối tượng của class.
Ví dụ: file index.php
<?php
define("P4A_LOCALE", 'en_US');
define("P4A_DSN", 'mysql://root:@localhost/qlhs'); // Require tới file p4a.php
require_once dirname(__FILE__) . '/../../p4a.php'; $check = p4a_check_configuration(); if (is_string($check)) { print $check; } else { $p4a = p4a::singleton("index_object"); $p4a->main(); }
File index.php trên lần lượt thực hiện các bước sau: + Kết nối tới CSDL là qlhs
+ Require tới file p4a.php
+ Gọi tới class index_object mà chúng ta sẽ tạo trong thư mục objects.
3.6.2 Một thư mục objects:
Thư mục này sẽ chứa tất cả các class, các file PHP của ứng dụng. Mỗi file PHP tương ứng một class mà khi chương trình ứng dụng gọi đến.
Ví dụ: Tạo file my_app.php trong thư mục objects. File này sẽ chứa class: index_object trong file index.php đã gọi và đồng thời mở Mask là my_mask.
<?php
class index_object extends P4A
{
public function __construct()
{
parent::__construct();
$this->openMask('my_mask'); }
}
Tiếp theo chúng ta tạo một file my_mask.php trong thư mục objects. File này chứa class: my_mask. Tại class này chúng ta xây dựng các Form cho chương trình ứng
WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS - Để tạo một giao diện gồm các phần cơ bản sau:
+ Menu: Thường được sử dụng cho trình ứng dụng chính, thường nằm ở trên cùng của màn hình.
P4A_Menu có các phương thức:
+ Toolbar : Là thanh công cụ với các chức năng như: thêm mới, sửa, xóa… dữ liệu, chúng ta có thể hiển thị thanh công cụ này tại vị trí thích hợp.
P4A_Toolbar có các phương thức:
Cách xây dựng:
$this->build("p4a_full_toolbar", "toolbar") ->setMask($this);
+ Frame: Là 1 khung để thiết kế Form chương trình, sử dụng các thuộc tính: p4a_frame, tab_pane, p4a_fieldset, p4a_Canvas, p4a_Sheet…
WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS Cách sử dụng p4a_Fieldset: $this->build("p4a_fieldset", "fs_details") ->setWidth(600) ->anchor($field1) ->anchor($field2) ->anchorRight($field3); Cách sử dụng p4a_ frame: $this->build("p4a_frame", "frame") ->setWidth(600) ->anchor($this->fs_details) ->anchor($this->toolbar);
+ Display: Để hiển thị giao diện đã tạo…
$this
->display("main", $this->frame);
- Ngoài ra cần sử dụng các thuộc tính khác của P4A cần thiết cho chương trình
WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS
CHƯƠNG 4 – GIỚI THIỆU MỘT SỐ CHỨC NĂNG WEBSITE QUẢN LÝ HỌC SINH
Trong chương này từ nghiên cứu ứng dụng PHP FOR APPLICATIONS để xây dựng hệ thống “ Quản lý học sinh trường THCS” với một số Module sau đây:
4.1 Quản trị hệ thống:
Module này giúp người quản trị cập nhật danh sách menu các chức năng của hệ thống chương trình quản lý.
4.2 Quản lý danh mục
Dưới đây là các danh mục được thiết kế để phục vụ cho công việc quản lý và thống kê theo các danh mục.
Các danh mục được thiết kế với hình thức và chức năng tương tự như sau:
Hình 4.1 Giao diện quản lý danh mục
Muốn xem và sửa thông tin môn học nào, hãy chọn môn học đó từ danh sách này.
WEBBASE APPLICATIONS QUẢN LÝ HỌC SINH TRƯỜNG THCS
Các bước để thêm mới một thông tin: Bước 1: Nhấn nút
Bước 2: Điền thông tin mới ở bên phải hộp thoại.