CHƯƠNG 2 ỨNG DỤNG THU THẬP LẤY TIN TỰ ĐỘNG TRÊN
2.7 Hệ quản trị cơ sở dữ liệu MySQL
Trước đây người ta thường dùng mSQL để kết thao tác cơ sở dữ liệu qua các thủ tục. Mặc dù mSQL có thể cung cấp hầu hết các chức năng phục vụ cho việc khai thác dữ liệu nhưng sau một thời gian kiểm thử dần dần xuất hiện các vấn đề về nó. mSQL không đủ nhanh và linh hoạt như yêu cầu. Do đó, người ta đã nghĩ tới một phiên bản SQL mới. MySQL ra đời ngay từ phiên bản đầu tiên nó đáp ứng gần như khá hoàn hảo các yêu cầu của người sử dụng. MySQL được xây dựng chủ yếu dựa trên các hàm API giống như trong mSQL. Người ta sử dụng trực tiếp các hàm API truy cập hệ thống chứ không dùng các hàm trung gian của các công ty thứ ba giống như trong mSQL do đó tốc độ của MySQL vượt xã so với mSQL trước đây. Do nó có mã nguồn mở nên phiên bản MySQL phát triển rất nhanh. Nó được cung cấp các tính năng ngày càng mạnh hơn, linh hoạt hơn phiên bản đầu tiên rất nhiều.
2.7.2 Các đặc trưng của MySQL
MySQL là một hệ quản trị cơ sở dữ liệu : Một CSDL là một tập hợp dữ liệu có cấu trúc. Nó có thể là bất cứ thứ gì từ danh sách các loại hàng hóa đơn giản đến một triển lãm tranh hay là một lượng lớn thông tin trên mạng. Để truy cập và xử lý dữ liệu được lưu trữ trong cơ sở dữ liệu máy tính bạn cần phải có một hệ quản trị CSDL như MySQL. Từ khi các máy tính trở thành một phương tiện khá tốt trong việc điều khiển một lượng lớn dữ liệu, việc quản trị cơ sở dữ liệu đóng vai trò trung tâm trong tính toán. Nó giống như một tiện ích độc lập hay một phần của các ứng dụng khác.
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ: Một cơ sở dữ liệu quan hệ lưu trữ dữ liệu trong các bảng tách rời nhau thì thích hợp hơn là đưa tất cả dữ liệu vào một nơi lưu trữ lớn. Điều này làm tăng tốc độ và tính mềm dẻo. Các bảng được liên kết bởi các quan hệ được định nghĩa làm cho nó
có thể kết nối dữ liệu ở các bảng khác nhau trong một yêu cầu. SQL là một phần của MySQL. Nó là ngôn ngữ được chuẩn hóa và được sử dụng phổ biến nhất để truy cập cơ sở dữ liệu.
MySQL là phần mềm có mã nguồn mở: Một phần mềm có mã nguồn mở là phần mềm được dùng miễn phí cho mọi người. Do đó mọi người có thể nghiên cứu mà nguồn và thay đổi nó cho phù hợp với nhu cầu sử dụng của từng người. Hiện nay MySQL có một tập các chức năng rất lớn và đa dạng. Ngoài ra nó còn được bổ sung các tính năng khá mạnh khác như:
khả năng kết nối và khả năng bảo mật…
MySQL là một phần mềm thân thiện: MySQL là một hệ quản trị cơ sở dữ liệu có tốc độ xử lý khá nhanh và rất đáng tin cậy. Nó cung cấp một số công cụ cho phép bạn tìm kiếm thông tin một cách hiệu quả hơn nhiều so với các hệ quản trị cơ sở dữ liệu khác. Theo một thống kê cho thấy dung lượng và tốc độ xử lý của MySQL chỉ đứng sau Oracle tuy nhiên nó lại chiếm ưu thế hơn Oracle ở chỗ kích thước của nó lại rất nhỏ hơn rất nhiều rất phù hợp với các ứng dụng vừa và nhỏ.
Các đặc tính kỹ thuật của MySQL: MySQL là một hệ thống có mô hình client/server chứa server SQL đa luồng hỗ trợ các chương trình ứng dụng phía sau( trong mạng cục bộ, backend là các chương trình được lưu trữ trên máy chủ dùng để hoàn thành các nhiệm vụ xử lý mà chương trình đó được thiết kế để thực hiện, còn fontend là các chương trình phía trước dùng để điều khiển giao tiếp với từng user ở các client ) hỗ trợ các thư viện chương trình client khác nhau các công cụ quản trị và giao diện lập trình.
2.7.3 Một số thao tác cơ sở dữ liệu trong MySQL a.Kiểu xâu:
Xâu là một tập hợp các ký tự liên tiếp nhau và được đặt trong cặp dấu “”
hoặc ‘’ các quy tắc về xâu giống như trong ngôn ngữ C. MySQL hỗ trợ một số hàm thao tác xâu.
Các hàm về ký tự: ascii( ), ord( ), char( )…
Các hàm cắt trắng : Trim( ), ltrim( ), rtrim( )..
Các hàm về thao tác xâu: concat( ), left( ), right( ), mid( ),..
Các hàm về kiểu chữ: ucase( ), upper( ), lcase( )..
Các hàm khác: repeat( ), elt( )…
Kích thước của mỗi xâu là 255 để lưu trữ các xâu có kích thước lớn hơn ta có thể dùng các kiểu khác như: text, blob..
b. Kiểu số : MySQL hỗ trợ các kiểu số sau:
Các kiểu số nguyên: int , smallint, tinyint..
Các kiểu số thực: float, double, real, numeric, decimal..
Các hàm lượng giác: sin( ), cos( ), tan( )..
Các hàm số học: abs( ), exp( ), pow( )..
Các hàm làm tròn: ceiling( ), round( ), floor( )..
c. Kiểu ngày tháng : MySQL hỗ trợ các kiểu ngày tháng sau:
Tên kiểu Miêu tả
Datetime ‘0000-00-00 00:00:00’
Date ‘0000-00-00’
Time ‘0000:00’
Year ‘0000’
d. Các kiểu khác:
Ngoài các kiểu cơ bản trên MySQL còn hỗ trợ thêm một số kiểu khác dựa trên việc xây dựng từ các kiểu cơ bản nói trên như: set, enum….
2.7.4 Các lệnh thao tác CSDL a. Tạo một CSDL
Cú pháp: CREATE DATABASE [IF NOT EXISTS] db_name
Câu lệnh trên dùng để tạo một CSDL mới chưa có dữ liệu tên là db_name. CSDL trong MySQL tương tự như những thư mục chứa các file tương ứng với các bảng. Khi tạo một CSDL MySQL sẽ tạo luôn một thư mục cùng tên với tên của CSDL để chứa các file tương ứng với các bảng của nó. Lệnh trên sẽ có lỗi nếu có một CSDL cùng tên đã tồn tại và bạn không thêm chỉ lệnh [IF NOT EXISTS].
b. Xóa một CSDL
Cú pháp: DROP DATABASE [IF EXISTS] db_name
Câu lệnh trên dùng để xóa một CSDL có tên là db_name. Khi xóa toàn bộ dữ liệu trong CSDL này cũng bị xóa. Nếu bạn xóa một CSDL có biểu tượng liên kết thì cả liên kết và CSDL cũng bị xóa theo do đó bạn phải thật cẩn thận khi dùng lệnh này. Bạn có thể dùng chỉ lệnh [IF EXISTS] để ngăn chặn lỗi không tồn tại CSDL.
Kết quả của lệnh này là số file mà bạn xóa khỏi thư mục CSDL đó. Thông thường số file đưa ra gấp ba lần số bảng bởi vì mỗi bảng trong CSDL tương ứng với ba file có tên trùng tên bảng nhưng có phần mở rộng khác nhau:’.MYD’,
‘.MYI’, ‘.FRM’
c.Tạo một bảng
Cú pháp: CREATE [TEMPORARY] TABLE [IF NOT EXISTS]
tbl_name (create_definition,..)][table_options] [select_statement]
d. Thay đổi thông tin một bảng
Cú pháp: ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec..] alter_specification: ADD[COLUMN] create_definition[FIRST AFTER column_name]
Lệnh này dùng để thay đổi các thuộc tính của bảng như: đổi tên cột, thay đổi các kiểu cột..
e. Đổi tên bảng
Cú pháp: RENAME TABLE old_table TO backup_table, new_table TO old_table
Lệnh này dùng để đổi tên bảng old_table thành tên new_table.
f. Xóa bảng
Cú pháp: DROP TABLE [IF EXISTS] tbl_name [,tbl_name,..]
[RESTRICT/ ASCADE]
Lệnh này dùng để xóa một hay nhiều bảng cùng một lúc. Chỉ dẫn [IF EXISTS]
dùng để ngăn chặn lỗi khi không có bảng.