Giới thiệu về MySQL

MySQL là gì ?

MySQL là một chương trình dùng để quản lý hệ thống cơ sở dữ liệu (CSDL), CSDL là một hệ thống lưu trữ thông tin ! Giống như một file text chứ gì ? Không, hoàn toàn không ! Điều quan trọng ở đây là CSDL là một hệ thống được sắp xếp, phân lớp rõ ràng ngăn nắp những thông tin mà mình lưu trữ. 

PHP làm việc cùng với MySQL

Nói nhiều vậy đâu có ích gì phải không? Nói thiệt đọc xong mấy đoạn trên tôi cũng chưa tưởng tượng ra rốt cụt thì MySQL là cái gì !
Cho tới bây giờ mình chỉ biết mỗi PHP, dùng để ra lệnh cho server làm gì đó ! Và mình ra lệnh bằng tiếng PHP (ngôn ngữ PHP)! Với MySQL, mình sẽ ra lệnh cho nó bằng « tiếng SQL » ! Đừng hoảng, tạm thời bạn hãy nhớ điều này, rồi tôi sẽ giải thích ngôn ngữ SQL là gì.
Vấn đề là không hiểu sao mình không có cách nào để ra lệnh trực tiếp cho MySQL, có lẽ thằng MySQL không hiểu tiếng của mình nên nó nhờ thằng PHP làm thông dịch giúp ! Và vì vậy mà mình mới phải nhờ PHP làm trung gian để mình ra lệnh cho MySQL. Ví dụ mình bảo PHP như thế này : "mày đi mà nói với thằng MySQL rằng tao muốn lấy tài liệu số 4 hàng thứ 2" ! Đại khái như vậy.
Sơ đồ hóa quá trình làm việc của PHP và MySQL như thế này :
co che hoat dong cua MySQL

Ở đây mình không thấy client đâu cả, mình chỉ quan tâm đến những gì server làm khi phát sinh một trang web từ php mà thôi.
Đây là những gì diễn ra khi client yêu cầu server cho phép post một tin nhắn mới lên forum :
  1. Server sử dụng PHP để thực hiện việc chuyển tải tin nhắn
  2. PHP thực hiện việc cần làm của nó, rồi báo cáo là nó cần đến MySQL để lưu trữ tin nhắn đó, thế là PHP gọi « alo, anh MySQL cho em gửi nhờ tin nhắn này trong cơ sở dữ liệu nhé, để sau này cần thì em còn lấy lại »
  3. MySQL nhận lời gửi thác của PHP, làm chút việc của nó, rồi trả lời lại PHP rằng « mọi việc OK, chú có thể lấy dữ liệu lúc nào cũng được » !
  4. PHP quay lại nói với Server rằng MySQL đã chấp nhận yêu cầu, lệnh đã được gửi ! Server có thể in nội dung tin nhắn ra được rồi !
Đại khái quá trình làm việc song hành của PHP và MySQL là như vậy!
Bây giờ chúng ta cùng ngâm cứu xem CSDL được sắp xếp tổ chức như thế nào nhé!

Cấu trúc của một cơ sở dữ liệu

Chú ý chú ý: cẩn thận ở phần này, những gì sau đây là vô cùng quan trọng để lãnh ngộ được ruột gan của CSDL!
Tôi chưa yêu cầu bạn phải nhớ nằm lòng từ ngữ nào cả phải không? Vậy lần đầu tiên tôi xin các bạn hãy nhớ các thuật ngữ sau đây, bởi vì với CSDL mình cần phải dùng từ chính xác! Để dễ nhớ mình có thể tưởng tượng một cái tủ chứa đồ nhé, và những từ in đậm sau đây là những thuật ngữ mà bạn buộc phải nhớ và dùng chính xác :
  1. CSDL, data base (gọi tắt là base)là một cái tủ mà mấy bà thư kí hay chứa thông tin tài liệu trong đó
  2. Trong tủ có rất nhiều ngăn kéo, một ngăn kéo theo ngôn ngữ MySQL gọi là một table. Mỗi ngăn kéo chứa nhiều loại dữ liệu khác nhau, ví dụ một ngăn kéo chứa nick name, thông tin, bài viết của các thành viên trong forum chẳng hạn!
    Một table cũng tương tự, nó chứa các loại dữ liệu khác nhau, mình có thể tưởng tượng nó như một cái bảng, trong đó các cột gọi là các trường (fields) còn các hàng gọi là row hay record. Ví dụ một table tên là visitors như sau:
Stt nickname email age
1 onggia thanhtra0104@yahoo.com 21
2 khoailang khoailang@hotmail.com 18
3 cuchuoi freedom@gmail.com 20
4 batron khung@yahoo.fr 32
... ... ... ...
Đây là bảng chứa dữ liệu của một table (hay một ngăn kéo)! Bảng gồm 4 trường (4 fields): stt, nickname, email và age! 4 record (4 hàng), thực tế một bảng có thể chứa hàng trăm, hàng nghìn record (row) như vậy! Mỗi record chứa thông tin của một người chẳng hạn!
Khi tạo một bảng như vậy, thường mình nên tạo một cột số thứ tự hay “id”, cái này rất tiện lợi về việc quản lý, chúng ta sẽ thấy sự tiện lợi này sau! Bây giờ hãy tóm tắt lại sơ sơ về CSDL nhé:
Một CSDL chứa nhiều table, ( nhiều bảng), mỗi table chứa dữ liệu được xếp vào các hàng (row, record) và các cột (fields)!
Ví dụ một forum có thể có các table sau đây:
  • Một table chứa tin tức mới (news)
  • Một table chứa bài viết cho sổ lưu bút
  • Một table chứa thông tin thành viên
  • Một table chứa nội dung bài viết
  • Một table news letters chứa email các thành viên đăng kí vào news letters
  • … 
MySQL lưu dữ liệu ở đâu?
Lĩnh vực này hơi trừu tượng một chút, cái bảng mà tôi đã trình bày ở trên chỉ là một cách tưởng tượng để mình “nhìn” dữ liệu bên trong. Thực ra MySQL lưu dữ liệu ở một nơi nào đó, trong một file!
Vậy mấy file đó nằm ở đâu?
Ở trong một thư mục mà MySQL được cài đặt, trong bài viết này mình đã cài wamp, trong đó nó cài luôn Mysql, mặc định thì những file đó nằm ở : C:\wamp\mysql\data
Nhưng mà tớ bảo này, mình chả cần đụng đến mấy file đó đâu, mọi thao tác lưu, đọc, truy xuất, sắp xếp này nọ mình đều dùng ngôn ngữ SQL để cho MySQL làm gì thì làm, mình không trực tiếp mò đến nó!Nếu muốn học 1 cách bài bản,bạn có thể tìm tài liệu học PHP và MySQL tại http://daotaolaptrinh.edu.vn

Related Post

Next
Previous
Click here for Comments

0 nhận xét:



:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:P
:o
:>)
(o)
[-(
:-?
(p)
:-s
(m)
8-)
:-t
:-b
b-(
:-#
=p~
$-)
(y)
(f)
x-)
(k)
(h)
(c)
cheer