|
Giới thiệu về MySQLCuối cùng cũng tới được phần II rồi ! Thở một cái nào ! Giờ thì các bạn không còn là một beginner về PHP nữa, bạn đã có thể viết một trang web bằng PHP rồi đấy ! Nhưng đấy chỉ là về cơ bản, chưa có gì hấp dẫn cả đâu ! Bạn đã học những chức năng rời rạc của PHP, vấn đề là trong thực tế mình dùng những chức năng ấy như thế nào, dùng để làm gì cho trang web, làm sao kết hợp các chức năng đó lại để phục vụ cho mục đích của mình ! Bạn đã từng suy nghĩ làm sao để tạo một forum hay đơn giản chỉ là một cái blog cho riêng mình chưa nhỉ ? Tất nhiên ý tôi muốn nói là bạn tự viết, chứ không phải dùng các công cụ có sẵn để làm forum hay dùng các dịch vụ blog miễn phí như Yahoo 360 hay WorldPress, Opera,…Thế thì đừng chần chừ nữa, hãy bắt tay vào khám phá MySQL, bạn đồng hành của PHP ! Hai người bạn này mà hợp sức lại thì sẽ làm nên nghiệp lớn đấy !
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ữ.
Nếu tớ không thích sắp xếp gọn gàng ngăn nắp thì sao ? Tớ thích cứ bừa ra hỗn độn thế đấy ! Có ai kề dao vào cổ bắt tớ phải sắp xếp thông tin lưu
trữ cho có trật tự lại không ?
Không ! Chả ai ép bạn sắp xếp lại cả, nhưng cuối cùng rồi chính bạn là người sẽ tự kề dao vào cổ mình thôi ! Hãy thử tưởng tượng nhé : khi bạn
bước vào một căn phòng, bạn chứng kiến một cảnh tượng hỗn độn chưa từng thấy trên đời : nồi niêu xoong chảo bừa cả trên giường, chăn màn chiếu
gối dồn cục ở xó bếp, bát đĩa đầy dầu mỡ ngỗn ngang trong bồn chưa được rửa, tủ chứa đầy sách bị đổ cả ra ngoài không còn lối đi, chiếc máy tính
được tìm thấy dưới một lớp vỏ chai bia, nước ngọt, trái cây, vỏ kẹo,…thì bạn có thấy dễ chịu không ? Tôi thà không thèm trỡ về còn hơn là chui
vô đó để ngủ ! Chẳng hạn trong hình này, đố bạn tìm được hộp cơm của tôi đấy, đố bạn biết tôi ngồi ở đâu để đánh máy vi tính !![]() Sự ngăn nắp thì có lợi như thế nào ? Tưởng tượng một cái tủ hồ sơ nhé ! Tất cả hồ sơ được cất trong đó, ngăn trên cùng chứa hồ sơ khách hàng, ngăn dưới chứa hồ sơ nhân sự trong công ty, ngăn dưới nữa chứa các catalogues sản phẩm của công ty. Và trong mỗi ngăn hồ sơ lại được sắp xếp theo một thứ tự nào đó, chẳng hạn khách hàng thì được sắp xếp theo mẫu tự ABC, nhân sự thì được sắp xếp theo cấp bậc trong công ty, và mỗi cấp bậc lại được sắp xếp theo mẫu tự ABC nữa, tên sản phẩm cũng được sắp xếp theo vần ABC hoặc theo lĩnh vực sử dụng (giải trí, ăn uống, du lịch, thời trang, thương mại,…). Như vậy, chuyện tìm ra một hồ sơ để xử lý không còn là vấn đề khó khăn nữa đúng không ? Thông tin cũng vậy, nếu bạn sắp xếp tốt thông tin mà bạn sưu tập và lưu trữ, thì sau đó bạn sẽ dễ dàng tìm ra thông tin cần thiết để xử lý ! 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 : ![]() Ở đâ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 :
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ệuChú ý 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 :
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:
Help! Tớ có câu hỏi!
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\dataNhư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ó! Hết chương 1 |