DBMS trong PHP là gì

Hầu hết các dịch vụ mà chúng ta sử dụng trên Web được cung cấp bởi các ứng dụng cơ sở dữ liệu web. Email dựa trên web, mua sắm trực tuyến, diễn đàn và bảng thông báo, trang web công ty, cổng thông tin thể thao và tin tức đều dựa trên cơ sở dữ liệu. Để xây dựng một trang web hiện đại, bạn cần phát triển một ứng dụng cơ sở dữ liệu

Cuốn sách này trình bày một cách rất phổ biến, dễ dàng, chi phí thấp để kết hợp Web và cơ sở dữ liệu để xây dựng các ứng dụng. Hệ thống quản lý cơ sở dữ liệu phổ biến nhất được sử dụng trong các giải pháp này là MySQL, một hệ thống rất nhanh và dễ sử dụng được phân phối theo giấy phép Nguồn mở của nhà sản xuất MySQL AB. Chúng tôi thảo luận chi tiết về MySQL trong cuốn sách này

Với một máy chủ web chẳng hạn như Apache [chúng tôi giả định là Apache trong cuốn sách này, mặc dù phần mềm được thảo luận ở đây cũng hoạt động với các máy chủ web khác] và MySQL, bạn có hầu hết những gì bạn cần để phát triển một ứng dụng cơ sở dữ liệu web. Điểm mấu chốt bạn cần là một cách để máy chủ web giao tiếp với cơ sở dữ liệu; . Loại keo phổ biến nhất hoàn thành nhiệm vụ này là PHP

PHP là một dự án mã nguồn mở của Apache Software Foundation và nó là mô-đun bổ trợ máy chủ web Apache phổ biến nhất, với khoảng 53% máy chủ HTTP Apache có khả năng PHP. [] PHP đặc biệt phù hợp với các ứng dụng cơ sở dữ liệu web vì các công cụ tích hợp của nó dành cho môi trường cơ sở dữ liệu và Web. Đặc biệt, tính linh hoạt của việc nhúng các tập lệnh trong các trang HTML cho phép tích hợp dễ dàng trình bày và mã HTML. Hỗ trợ tích hợp tầng cơ sở dữ liệu cũng rất tuyệt vời, với hơn 15 thư viện có sẵn để tương tác với hầu hết tất cả các máy chủ cơ sở dữ liệu phổ biến. Trong cuốn sách này, chúng tôi trình bày một cái nhìn toàn diện về PHP cùng với một số tiện ích mở rộng mạnh mẽ được cung cấp bởi một kho lưu trữ có tên là PEAR

Apache, MySQL và PHP có thể chạy trên nhiều hệ điều hành. Trong cuốn sách này, chúng tôi chỉ cho bạn cách sử dụng chúng trên Linux, Mac OS X và Microsoft Windows

Đây là một cuốn sách giới thiệu, nhưng nó cung cấp cho bạn những kiến ​​thức phức tạp mà bạn cần để xây dựng các ứng dụng đúng cách. Điều này bao gồm các tác vụ quan trọng như kiểm tra đầu vào của người dùng, xử lý lỗi mạnh mẽ và khóa hoạt động cơ sở dữ liệu của bạn để tránh hỏng dữ liệu. Quan trọng nhất, chúng tôi giải thích các nguyên tắc đằng sau các ứng dụng cơ sở dữ liệu web tốt. Bạn sẽ hoàn thành cuốn sách không chỉ với các kỹ năng kỹ thuật để tạo ứng dụng mà còn đánh giá cao các chiến lược giúp ứng dụng trở nên an toàn, đáng tin cậy, có thể bảo trì và có thể mở rộng

Khi bạn duyệt Web, bạn sử dụng trình duyệt web của mình để yêu cầu tài nguyên từ máy chủ web và máy chủ web sẽ phản hồi bằng tài nguyên. Bạn thực hiện các yêu cầu này bằng cách điền và gửi biểu mẫu, nhấp vào liên kết hoặc nhập URL vào trình duyệt của mình. Thông thường, tài nguyên là các trang HTML tĩnh được hiển thị trong trình duyệt. cho biết cách trình duyệt web giao tiếp với máy chủ web để truy xuất trang chủ của cuốn sách này. Đây là kiến ​​trúc hai tầng hoặc máy khách-máy chủ cổ điển được sử dụng trên Web

Hình 1-1. Kiến trúc hai tầng trong đó trình duyệt web đưa ra yêu cầu và máy chủ web phản hồi

Máy chủ web không phải là phần mềm lưu trữ phức tạp. Các hoạt động phức tạp trên dữ liệu, được thực hiện bởi các trang web thương mại và bất kỳ ai khác trình bày nhiều dữ liệu động, nên được xử lý bởi một cơ sở dữ liệu riêng biệt. Điều này dẫn đến một kiến ​​trúc phức tạp hơn với ba tầng. trình duyệt vẫn là tầng máy khách, máy chủ web trở thành tầng giữa và cơ sở dữ liệu là tầng thứ ba hoặc tầng cơ sở dữ liệu. cho biết cách trình duyệt web yêu cầu tài nguyên được tạo từ cơ sở dữ liệu cũng như cách cơ sở dữ liệu và máy chủ web phản hồi yêu cầu

Hình 1-2. Kiến trúc ba tầng trong đó trình duyệt web yêu cầu tài nguyên và phản hồi được tạo từ cơ sở dữ liệu

Cuốn sách này chỉ cho bạn cách phát triển các ứng dụng cơ sở dữ liệu web được xây dựng xung quanh mô hình kiến ​​trúc ba tầng được trình bày trong. Ở cơ sở của một ứng dụng là tầng cơ sở dữ liệu, bao gồm hệ thống quản lý cơ sở dữ liệu quản lý dữ liệu người dùng tạo, xóa, sửa đổi và truy vấn. Được xây dựng trên tầng cơ sở dữ liệu là tầng giữa, chứa hầu hết logic ứng dụng mà bạn phát triển. Nó cũng truyền dữ liệu giữa các tầng khác. Trên cùng là tầng máy khách, thường là phần mềm trình duyệt web tương tác với ứng dụng

Hình 1-3. Mô hình kiến ​​trúc ba tầng của một ứng dụng cơ sở dữ liệu web

Kiến trúc ba tầng là khái niệm. Trong thực tế, có nhiều triển khai ứng dụng cơ sở dữ liệu web khác nhau phù hợp với kiến ​​trúc này. Việc triển khai phổ biến nhất có máy chủ web [bao gồm công cụ tạo tập lệnh xử lý tập lệnh và thực hiện các hành động mà chúng chỉ định] và hệ thống quản lý cơ sở dữ liệu được cài đặt trên một máy. đó là cách đơn giản nhất để quản lý và bảo mật, và đó là trọng tâm của chúng tôi trong cuốn sách này. Với cách triển khai này trên phần cứng hiện đại, các ứng dụng của bạn có thể xử lý hàng chục nghìn yêu cầu mỗi giờ

Đối với các trang web phổ biến, cách triển khai phổ biến là cài đặt máy chủ web và máy chủ cơ sở dữ liệu trên các máy khác nhau, để tài nguyên được dành riêng để cho phép ứng dụng có khả năng mở rộng hơn và nhanh hơn. Đối với các ứng dụng rất cao cấp, có thể sử dụng một cụm máy tính, nơi cơ sở dữ liệu và máy chủ web được sao chép và tải được phân phối trên nhiều máy. Trọng tâm của chúng tôi là triển khai đơn giản;

Việc mô tả các ứng dụng cơ sở dữ liệu web dưới dạng kiến ​​trúc ba tầng khiến chúng nghe có vẻ được cấu trúc và tổ chức chính thức. Tuy nhiên, nó che giấu thực tế rằng các ứng dụng phải tập hợp các giao thức và phần mềm khác nhau, đồng thời phần mềm cần được cài đặt, định cấu hình và bảo mật. Phần lớn tài liệu trong cuốn sách này thảo luận về tầng giữa và logic ứng dụng cho phép trình duyệt web hoạt động với cơ sở dữ liệu

HTTP. giao thức truyền tải siêu văn bản

Kiến trúc ba lớp cung cấp khung khái niệm cho các ứng dụng cơ sở dữ liệu web. Bản thân Web cung cấp các giao thức và mạng kết nối máy khách và tầng giữa của ứng dụng. nó cung cấp kết nối giữa trình duyệt web và máy chủ web. HTTP là một thành phần liên kết với kiến ​​trúc ba tầng

HTTP cho phép các tài nguyên được giao tiếp và chia sẻ trên Web. Hầu hết các máy chủ web và trình duyệt web giao tiếp bằng phiên bản hiện tại, HTTP/1. 1. Kiến thức chi tiết về HTTP là không cần thiết để hiểu tài liệu trong cuốn sách này, nhưng điều quan trọng là phải hiểu các vấn đề mà HTTP gây ra cho các ứng dụng cơ sở dữ liệu web. [Có thể tìm thấy phần giới thiệu dài hơn về các giao thức web cơ bản trong Phụ lục D. ]

HTTP đơn giản về mặt khái niệm. trình duyệt web gửi yêu cầu tài nguyên đến máy chủ web và máy chủ web gửi lại phản hồi. Đối với mọi yêu cầu, luôn có một phản hồi. Phản hồi HTTP mang tài nguyên — tài liệu HTML, hình ảnh hoặc đầu ra của chương trình — trở lại trình duyệt web

Yêu cầu HTTP là mô tả bằng văn bản của tài nguyên và thông tin bổ sung hoặc tiêu đề mô tả cách tài nguyên sẽ được trả lại. Xem xét yêu cầu ví dụ sau

GET /~hugh/index.html HTTP/1.1
Host: goanna.cs.rmit.edu.au
From: hugh@hughwilliams.com [Hugh Williams]
User-agent: Hugh-fake-browser/version-1.0
Accept: text/plain, text/html

Ví dụ này sử dụng phương thức

HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 04:30:02 GMT
Server: Apache/1.3.27 [Unix]
Last-Modified: Fri, 21 Nov 2003 22:26:07 GMT
ETag: "a87da0-2128-3fbe90ff"
Accept-Ranges: bytes
Content-Length: 8488
Content-Type: text/html




...
2 để yêu cầu một trang HTML /~hugh/index. html từ máy chủ goanna. cs. công nhận. giáo dục. au với HTTP/1. 1. Trong ví dụ này, bốn dòng tiêu đề bổ sung chỉ định máy chủ lưu trữ, xác định người dùng và trình duyệt web và xác định loại dữ liệu nào có thể được trình duyệt chấp nhận. Yêu cầu thường được thực hiện bởi trình duyệt web và có thể bao gồm các tiêu đề khác

Phản hồi HTTP có mã phản hồi và thông báo, tiêu đề bổ sung và thường là tài nguyên đã được yêu cầu. Một phần của phản hồi đối với yêu cầu /~hugh/index. html như sau

HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 04:30:02 GMT
Server: Apache/1.3.27 [Unix]
Last-Modified: Fri, 21 Nov 2003 22:26:07 GMT
ETag: "a87da0-2128-3fbe90ff"
Accept-Ranges: bytes
Content-Length: 8488
Content-Type: text/html




...

Dòng đầu tiên của phản hồi cho trình duyệt biết rằng phản hồi là HTTP/1. 1 và xác nhận rằng yêu cầu đã thành công bằng cách báo cáo mã phản hồi

HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 04:30:02 GMT
Server: Apache/1.3.27 [Unix]
Last-Modified: Fri, 21 Nov 2003 22:26:07 GMT
ETag: "a87da0-2128-3fbe90ff"
Accept-Ranges: bytes
Content-Length: 8488
Content-Type: text/html




...
3 và thông báo
HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 04:30:02 GMT
Server: Apache/1.3.27 [Unix]
Last-Modified: Fri, 21 Nov 2003 22:26:07 GMT
ETag: "a87da0-2128-3fbe90ff"
Accept-Ranges: bytes
Content-Length: 8488
Content-Type: text/html




...
4. Trong ví dụ này, bảy dòng tiêu đề bổ sung xác định ngày và giờ hiện tại, phần mềm máy chủ web, ngày và giờ cuối cùng trang được thay đổi, thẻ thực thể [
HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 04:30:02 GMT
Server: Apache/1.3.27 [Unix]
Last-Modified: Fri, 21 Nov 2003 22:26:07 GMT
ETag: "a87da0-2128-3fbe90ff"
Accept-Ranges: bytes
Content-Length: 8488
Content-Type: text/html




...
5] được sử dụng để lưu vào bộ đệm, hướng dẫn cho trình duyệt về cách thực hiện . Sau một dòng trống, tài nguyên tự theo sau và chúng tôi chỉ hiển thị một vài dòng đầu tiên. Trong ví dụ này, tài nguyên là tài liệu HTML được yêu cầu, /~hugh/index. html

Các ứng dụng cơ sở dữ liệu truyền thống có trạng thái. Người dùng đăng nhập, chạy các giao dịch liên quan và sau đó đăng xuất khi hoàn tất. Ví dụ: trong ứng dụng ngân hàng, giao dịch viên ngân hàng có thể đăng nhập, sử dụng ứng dụng thông qua một loạt menu khi anh ta phục vụ các yêu cầu của khách hàng và đăng xuất khi anh ta kết thúc một ngày. Ứng dụng ngân hàng có trạng thái. sau khi giao dịch viên đăng nhập, anh ta có thể tương tác với ứng dụng theo cách có cấu trúc bằng các menu. Khi giao dịch viên đã đăng xuất thì không thể sử dụng ứng dụng được nữa

HTTP là không trạng thái. Mọi tương tác giữa trình duyệt web và máy chủ web đều độc lập với mọi tương tác khác. Mỗi yêu cầu HTTP từ trình duyệt web bao gồm thông tin tiêu đề giống nhau, chẳng hạn như thông tin đăng nhập bảo mật của người dùng, loại trang mà trình duyệt có thể chấp nhận và hướng dẫn về cách định dạng phản hồi. Máy chủ xử lý các tiêu đề, tạo phản hồi giải thích cách yêu cầu được phục vụ và trả về các tiêu đề và tài nguyên cho trình duyệt. Khi phản hồi hoàn tất, máy chủ sẽ quên yêu cầu và không có cách nào để quay lại và truy xuất yêu cầu hoặc phản hồi

Không quốc tịch có lợi ích. quan trọng nhất là tiết kiệm tài nguyên do không phải duy trì thông tin tại máy chủ web để theo dõi người dùng hoặc yêu cầu và tính linh hoạt để cho phép người dùng di chuyển giữa các trang hoặc tài nguyên không liên quan. Tuy nhiên, vì HTTP không có trạng thái nên rất khó để phát triển các ứng dụng cơ sở dữ liệu web có trạng thái. ví dụ: thật khó để buộc người dùng tuân theo các menu hoặc một loạt các bước để hoàn thành một tác vụ

Để thêm trạng thái vào HTTP, bạn cần một phương pháp để áp đặt cấu trúc và luồng thông tin. Một giải pháp phổ biến là trao đổi mã thông báo hoặc khóa giữa trình duyệt web và máy chủ web để nhận dạng duy nhất người dùng và phiên của cô ấy. Mỗi khi trình duyệt yêu cầu một tài nguyên, nó sẽ hiển thị mã thông báo và mỗi khi máy chủ web phản hồi, nó sẽ trả lại mã thông báo cho trình duyệt web. Mã thông báo được phần mềm cấp trung gian sử dụng để khôi phục thông tin về người dùng từ yêu cầu trước đó của cô ấy, chẳng hạn như menu nào trong ứng dụng mà cô ấy truy cập lần cuối

Trao đổi mã thông báo cho phép thêm cấu trúc trạng thái như menu, bước và quy trình công việc vào ứng dụng. Chúng cũng có thể được sử dụng để ngăn các hành động xảy ra nhiều lần, hết thời gian đăng nhập sau một thời gian không hoạt động và kiểm soát quyền truy cập vào một ứng dụng

Làm dày khách hàng trong mô hình ba tầng

Cho rằng một ứng dụng cơ sở dữ liệu web được xây dựng với kiến ​​trúc ba tầng không phù hợp một cách tự nhiên với HTTP, tại sao lại sử dụng mô hình đó? . bất kỳ người dùng nào có trình duyệt web đều có thể sử dụng ứng dụng cơ sở dữ liệu web và thường không có bất kỳ hạn chế nào. Điều này có nghĩa là một ứng dụng có thể được phân phối tới bất kỳ số lượng người dùng đa dạng, phân tán nào sử dụng bất kỳ nền tảng, hệ điều hành hoặc phần mềm trình duyệt nào. Ưu điểm này quan trọng đến mức trọng tâm của chúng tôi trong cuốn sách này hoàn toàn là các giải pháp ba cấp sử dụng trình duyệt web làm cấp máy khách

Trình duyệt web là máy khách mỏng. Điều này có nghĩa là hầu như không có logic ứng dụng nào được đưa vào tầng máy khách. Trình duyệt chỉ cần gửi các yêu cầu HTTP về tài nguyên và sau đó hiển thị các phản hồi, hầu hết trong số đó là các trang HTML. Mô hình máy khách mỏng này có nghĩa là bạn không phải xây dựng, cài đặt hoặc định cấu hình tầng máy khách nhưng bạn cần phải xây dựng gần như tất cả ứng dụng của mình để chạy ở tầng giữa

Bạn có thể làm dày tầng máy khách để đưa nhiều công việc hơn vào trình duyệt. Sử dụng các công nghệ phổ biến như Java, JavaScript và Macromedia Flash, bạn có thể phát triển các thành phần ứng dụng xử lý dữ liệu độc lập với máy chủ web hoặc xử lý trước dữ liệu trước khi gửi đến máy chủ

JavaScript đặc biệt tốt cho nhiều tác vụ vì nó dễ sử dụng, mã nguồn mở và được tích hợp trong tất cả các trình duyệt phổ biến [mặc dù người dùng có thể tắt nó]. Nó thường được sử dụng để xác thực dữ liệu được nhập vào các biểu mẫu trước khi gửi đến máy chủ, đánh dấu các phần của trang khi chuột lướt qua, hiển thị menu và thực hiện các tác vụ đơn giản khác. Tuy nhiên, nó bị hạn chế về thông tin mà nó có thể lưu trữ và nó không thể giao tiếp với máy chủ cơ sở dữ liệu. Do đó, mặc dù bạn không nên phụ thuộc vào JavaScript để thực hiện các tác vụ quan trọng, nhưng nó rất hữu ích cho quá trình tiền xử lý và là một công nghệ quan trọng khác mà chúng ta sẽ thảo luận trong Chương 7

Tầng giữa có nhiều vai trò trong ứng dụng cơ sở dữ liệu web. Nó tập hợp các tầng khác lại với nhau, điều khiển cấu trúc và nội dung của dữ liệu được hiển thị cho người dùng, cung cấp bảo mật và xác thực cũng như thêm trạng thái cho ứng dụng. Đó là tầng tích hợp Web với máy chủ cơ sở dữ liệu

Về cơ bản có hai loại yêu cầu được gửi tới máy chủ web. cái đầu tiên yêu cầu một tệp — thường là một trang web HTML tĩnh hoặc một hình ảnh — được trả về và cái thứ hai yêu cầu chạy một chương trình hoặc tập lệnh và đầu ra của nó được trả về. Chúng tôi đã chỉ cho bạn một ví dụ đơn giản trước đây trong chương này và các yêu cầu đơn giản đối với tệp sẽ được thảo luận thêm trong Phụ lục D. Các yêu cầu HTTP cho các tập lệnh PHP yêu cầu máy chủ chạy công cụ tạo tập lệnh Zend của PHP, xử lý các hướng dẫn trong tập lệnh [có thể truy cập cơ sở dữ liệu] và trả lại đầu ra tập lệnh cho trình duyệt để xuất ra dưới dạng HTML thuần túy

Apache là một máy chủ web nguồn mở, nhanh và có thể mở rộng. Nó có thể xử lý các yêu cầu đồng thời từ các trình duyệt và được thiết kế để chạy trên các hệ điều hành đa nhiệm như Linux, Mac OS X và Microsoft Windows. Nó có yêu cầu tài nguyên thấp, có thể xử lý hiệu quả các thay đổi về tải yêu cầu và có thể chạy nhanh trên cả phần cứng khiêm tốn. Nó được sử dụng rộng rãi và thử nghiệm. Bản phát hành hiện tại tại thời điểm viết là 2. 0. 48

Về mặt khái niệm, Apache không phức tạp. Trên nền tảng Unix, máy chủ web thực sự là một số chương trình đang chạy, trong đó một chương trình điều phối các chương trình khác và không tự phục vụ các yêu cầu. Các chương trình máy chủ khác thông báo tính khả dụng của chúng để xử lý các yêu cầu đến máy chủ điều phối. Nếu có quá ít máy chủ để xử lý các yêu cầu đến, máy chủ điều phối có thể khởi động các máy chủ mới;

Tệp cấu hình của Apache kiểm soát cách nó lắng nghe trên mạng và phục vụ các yêu cầu. Quản trị viên máy chủ kiểm soát hành vi của Apache thông qua hơn 150 chỉ thị ảnh hưởng đến yêu cầu tài nguyên, thời gian phản hồi, tính linh hoạt trong việc xử lý biến đổi tải yêu cầu, bảo mật, cách xử lý và ghi nhật ký các yêu cầu HTTP, cách sử dụng công cụ tạo tập lệnh để chạy tập lệnh, v.v.

Cấu hình của Apache cho hầu hết các ứng dụng cơ sở dữ liệu web rất đơn giản. Chúng tôi thảo luận về cách cài đặt Apache trong Phụ lục A đến Phụ lục C, cách ẩn các tệp mà bạn không muốn phân phối trong Chương 6 và các tính năng của máy chủ web an toàn trong Chương 11. Chúng tôi thảo luận về giao thức HTTP và cách nó được triển khai trong Phụ lục D. Bạn có thể tìm thêm chi tiết về cấu hình Apache trong các tài nguyên được liệt kê trong Phụ lục G

PHP là ngôn ngữ kịch bản web được hỗ trợ và sử dụng rộng rãi nhất và là một công cụ tuyệt vời để xây dựng các ứng dụng cơ sở dữ liệu web. Điều này không có nghĩa là các ngôn ngữ kịch bản khác không có các tính năng tuyệt vời. Tuy nhiên, có nhiều lý do khiến PHP trở thành một lựa chọn tốt, bao gồm cả việc nó

Mã nguồn mở

Những nỗ lực của cộng đồng để duy trì và cải thiện nó không bị hạn chế bởi các mệnh lệnh thương mại

Linh hoạt để tích hợp với HTML

Một hoặc nhiều tập lệnh PHP có thể được nhúng vào các tệp HTML tĩnh và điều này giúp tích hợp tầng máy khách dễ dàng. Mặt khác, điều này có thể trộn lẫn các tập lệnh với bản trình bày;

Phù hợp với các dự án phức tạp

Nó là ngôn ngữ lập trình hướng đối tượng đầy đủ tính năng, với hơn 110 thư viện chức năng lập trình cho các tác vụ đa dạng như toán học, sắp xếp, tạo tài liệu PDF và gửi email. Có hơn 15 thư viện để truy cập nhanh vào tầng cơ sở dữ liệu

Chạy script nhanh

Sử dụng công cụ tạo tập lệnh Zend tích hợp sẵn, việc thực thi tập lệnh PHP diễn ra nhanh chóng và tất cả các thành phần chạy trong không gian bộ nhớ chính của PHP [ngược lại với các khung tập lệnh khác, trong đó các thành phần nằm trong các mô-đun riêng biệt]. Các thử nghiệm của chúng tôi cho thấy rằng đối với các tác vụ có độ phức tạp ít nhất là vừa phải, PHP nhanh hơn các công cụ tạo tập lệnh phổ biến khác

Nền tảng và hệ điều hành di động

Apache và PHP chạy trên nhiều nền tảng và hệ điều hành khác nhau. PHP cũng có thể được tích hợp với các máy chủ web khác

Một nỗ lực cộng đồng

PHP chứa PEAR, một kho chứa hơn 100 gói mã nguồn có sẵn miễn phí cho các tác vụ lập trình PHP phổ biến

Tại thời điểm viết bài, PHP4 [Phiên bản 4. 3. 3] là phiên bản hiện tại và PHP5 đã có sẵn để thử nghiệm beta [Phiên bản 5. 0. 0b2]. Các tập lệnh trong cuốn sách này đã được phát triển và thử nghiệm bằng PHP4 và thử nghiệm trên PHP5 đã xác định được một số hạn chế. Cuốn sách này mô tả cả hai phiên bản của PHP. đặc biệt, bạn sẽ tìm thấy phần thảo luận về các tính năng hướng đối tượng mới của PHP5 trong Chương 14. Khi một tính năng chỉ khả dụng trong PHP5, chúng tôi sẽ thông báo cho bạn trong văn bản. Khi một tập lệnh hoặc tính năng PHP4 không hoạt động trên PHP5, chúng tôi sẽ giải thích lý do và dự đoán cách khắc phục trong tương lai;

PHP là một chủ đề chính của cuốn sách này. Nó được giới thiệu trong Chương 3 đến Chương 5, nơi chúng tôi thảo luận về hầu hết các tính năng của ngôn ngữ cốt lõi. Các thư viện PHP quan trọng đối với việc phát triển ứng dụng cơ sở dữ liệu web là chủ đề của Chương 6 và Chương 8 đến Chương 13. Kho lưu trữ gói PHP PEAR là chủ đề của Chương 7. Một ứng dụng PHP ví dụ là chủ đề của Chương 16 đến Chương 20. Phụ lục A đến Phụ lục C hướng dẫn cách cài đặt PHP. Các gợi ý khác về tài nguyên web, sách và sản phẩm thương mại để phát triển PHP được liệt kê trong Phụ lục G

Giải thích kỹ thuật về các tính năng mới của PHP5 được trình bày trong phần tiếp theo. Nếu bạn chưa quen với PHP4, hãy chuyển sang phần tiếp theo

PHP4 bao gồm bản phát hành đầu tiên của công cụ Zend phiên bản 1. 0, công cụ viết kịch bản của PHP thực hiện cú pháp của ngôn ngữ và cung cấp tất cả các công cụ cần thiết để chạy các hàm thư viện. PHP5 bao gồm một công cụ Zend mới phiên bản 2. 0, được cải tiến để giải quyết các hạn chế của phiên bản 1. 0 và bao gồm các tính năng mới đã được các nhà phát triển yêu cầu. Tuy nhiên, không giống như những thay đổi xảy ra khi PHP3 trở thành PHP4, những thay đổi từ PHP4 sang PHP5 chỉ ảnh hưởng đến một phần của ngôn ngữ. Hầu hết mã được viết cho PHP4 sẽ chạy mà không cần sửa đổi trong PHP5

Tóm lại, sau đây là các tính năng mới chính trong PHP5. Nhiều tính năng trong số này được giải thích chi tiết ở những nơi khác trong cuốn sách này

Mô hình đối tượng mới

Lập trình hướng đối tượng [OOP] và các tính năng OOP của PHP5 sẽ được thảo luận chi tiết trong Chương 14. PHP4 có một mô hình đối tượng đơn giản không bao gồm nhiều tính năng mà các lập trình viên hướng đối tượng mong đợi trong một ngôn ngữ OOP chẳng hạn như hàm hủy, hàm và biến thành viên riêng và được bảo vệ, hàm và biến thành viên tĩnh, giao diện và gợi ý loại lớp. Tất cả các tính năng này đều có sẵn trong PHP5

Mô hình PHP5 OOP cũng quản lý tốt hơn cách các đối tượng được truyền giữa các hàm và lớp. Xử lý các đối tượng hiện được thông qua, thay vì chính các đối tượng. Điều này đã cải thiện đáng kể hiệu suất của PHP

quốc tế hóa

Hỗ trợ cho các bộ ký tự không phải phương Tây và Unicode. Điều này được thảo luận trong Chương 3

Xử lý ngoại lệ

Có sẵn các câu lệnh

HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 04:30:02 GMT
Server: Apache/1.3.27 [Unix]
Last-Modified: Fri, 21 Nov 2003 22:26:07 GMT
ETag: "a87da0-2128-3fbe90ff"
Accept-Ranges: bytes
Content-Length: 8488
Content-Type: text/html




...
6 và
HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 04:30:02 GMT
Server: Apache/1.3.27 [Unix]
Last-Modified: Fri, 21 Nov 2003 22:26:07 GMT
ETag: "a87da0-2128-3fbe90ff"
Accept-Ranges: bytes
Content-Length: 8488
Content-Type: text/html




...
0 mới nhằm mục đích cải thiện tính mạnh mẽ của ứng dụng khi xảy ra lỗi. Chúng được thảo luận trong Chương 4. Ngoài ra còn có một tính năng backtrace mà bạn có thể sử dụng để phát triển trình xử lý lỗi tùy chỉnh cho biết mã gây ra lỗi được gọi như thế nào. Tính năng này đã được chuyển ngược vào PHP4 và được thảo luận trong Chương 12

Cải thiện xử lý bộ nhớ và tốc độ

PHP4 đã nhanh, nhưng PHP5 còn nhanh hơn và sử dụng bộ nhớ tốt hơn. Chúng tôi không thảo luận chi tiết về điều này

Hỗ trợ XML mới

Có một số công cụ khác nhau để làm việc với Ngôn ngữ đánh dấu mở rộng [XML] trong PHP4. Những công cụ này đã được thay thế bằng một framework mới, mạnh mẽ duy nhất trong PHP5. Chúng tôi không thảo luận về hỗ trợ XML trong cuốn sách này

Thư viện MySQL cải tiến [mysqli]

Thư viện chức năng MySQL mới có sẵn trong PHP5 hỗ trợ MySQL 4. Thư viện có tính năng quan trọng là nó cho phép chuẩn bị truy vấn SQL một lần và thực hiện nhiều lần và điều này cải thiện đáng kể tốc độ nếu truy vấn thường được sử dụng. Thư viện này được mô tả ngắn gọn trong Chương 6 và là nguồn gốc của nhiều vấn đề về khả năng tương thích của PHP4 và PHP5 được mô tả xuyên suốt trong cuốn sách này

Bạn có thể tìm hiểu thêm về tính năng mới trong PHP5 từ http. //www. thiên thần. com/zend/tương lai. php

Tầng cơ sở dữ liệu lưu trữ và truy xuất dữ liệu. Nó cũng chịu trách nhiệm quản lý các bản cập nhật, cho phép truy cập đồng thời [đồng thời] từ các máy chủ web, cung cấp bảo mật, đảm bảo tính toàn vẹn của dữ liệu và cung cấp các dịch vụ hỗ trợ như sao lưu dữ liệu. Điều quan trọng là, một tầng cơ sở dữ liệu tốt phải cho phép truy cập nhanh chóng và linh hoạt vào hàng triệu sự kiện

Quản lý dữ liệu trong tầng cơ sở dữ liệu yêu cầu phần mềm phức tạp. May mắn thay, hầu hết các hệ thống quản lý cơ sở dữ liệu [DBMS] hoặc máy chủ được thiết kế sao cho sự phức tạp của phần mềm được ẩn đi. Để sử dụng hiệu quả máy chủ cơ sở dữ liệu, cần có các kỹ năng thiết kế cơ sở dữ liệu và xây dựng các truy vấn bằng ngôn ngữ SQL; . Sự hiểu biết về kiến ​​trúc cơ bản của máy chủ cơ sở dữ liệu không quan trọng đối với hầu hết người dùng

Trong cuốn sách này, chúng tôi sử dụng máy chủ MySQL để quản lý dữ liệu. Nó có một danh tiếng rất xứng đáng cho tốc độ. nó có thể quản lý hàng triệu sự kiện, nó rất có khả năng mở rộng và đặc biệt phù hợp với đặc điểm của các ứng dụng cơ sở dữ liệu web. Ngoài ra, giống như PHP và Apache, MySQL là phần mềm mã nguồn mở. Tuy nhiên, có những nhược điểm đối với MySQL mà chúng ta sẽ thảo luận sau trong phần này

Bước đầu tiên để phát triển ứng dụng cơ sở dữ liệu web thành công là hiểu các yêu cầu hệ thống và thiết kế cơ sở dữ liệu. Chúng tôi thảo luận về các kỹ thuật mô hình hóa các yêu cầu hệ thống, chuyển đổi mô hình thành cơ sở dữ liệu và các nguyên tắc của công nghệ cơ sở dữ liệu trong Phụ lục E. Trong phần này, chúng tôi tập trung vào tầng cơ sở dữ liệu và giới thiệu phần mềm cơ sở dữ liệu bằng cách so sánh nó với các kỹ thuật lưu trữ dữ liệu khác. Chương 5 và Chương 15 trình bày chi tiết hơn về các tiêu chuẩn và phần mềm chúng tôi sử dụng

Có các lựa chọn máy chủ khác để lưu trữ dữ liệu trong tầng cơ sở dữ liệu. Chúng bao gồm các công cụ tìm kiếm, hệ thống quản lý tài liệu và các dịch vụ cổng như phần mềm email. Các cuộc thảo luận của chúng tôi trong cuốn sách này tập trung vào máy chủ MySQL trong tầng cơ sở dữ liệu

Hệ thống Quản lý Dữ liệu

Máy chủ cơ sở dữ liệu hoặc DBMS tìm kiếm và quản lý dữ liệu được lưu trữ trong cơ sở dữ liệu. Cơ sở dữ liệu là tập hợp các dữ liệu liên quan và một ứng dụng có thể có nhiều cơ sở dữ liệu. Cơ sở dữ liệu có thể chứa một vài mục tạo nên một sổ địa chỉ đơn giản gồm tên, địa chỉ và số điện thoại. Ở một thái cực khác, một cơ sở dữ liệu có thể chứa hàng chục hoặc hàng trăm triệu bản ghi mô tả danh mục, mua hàng, đơn đặt hàng và bảng lương của một công ty lớn. Hầu hết các ứng dụng cơ sở dữ liệu web đều có cơ sở dữ liệu cỡ vừa và nhỏ lưu trữ hàng nghìn hoặc hàng chục nghìn bản ghi

Máy chủ cơ sở dữ liệu là phần mềm phức tạp. Tuy nhiên, thành phần quan trọng để phát triển ứng dụng cơ sở dữ liệu web là giao diện ứng dụng được sử dụng để truy cập máy chủ cơ sở dữ liệu. Đối với tất cả trừ các ứng dụng lớn nhất, việc hiểu và định cấu hình phần bên trong của máy chủ cơ sở dữ liệu thường là không cần thiết

Giao diện ứng dụng máy chủ cơ sở dữ liệu được truy cập bằng SQL. Đó là ngôn ngữ truy vấn tiêu chuẩn được sử dụng để xác định và thao tác cơ sở dữ liệu cũng như dữ liệu và được hỗ trợ bởi tất cả các máy chủ cơ sở dữ liệu phổ biến

SQL đã có một cuộc sống phức tạp. Nó bắt đầu tại Phòng thí nghiệm Nghiên cứu IBM San Jose vào đầu những năm 1970, nơi nó được gọi là Phần tiếp theo; . Sau gần 16 năm phát triển và triển khai khác nhau, các tổ chức tiêu chuẩn ANSI và ISO đã xuất bản một tiêu chuẩn SQL vào năm 1986. IBM đã công bố một tiêu chuẩn khác một năm sau đó

Kể từ giữa những năm 1980, ba tiêu chuẩn tiếp theo đã được xuất bản bởi ANSI và ISO. Đầu tiên, SQL-89, là SQL được triển khai đầy đủ, rộng rãi nhất trong các máy chủ cơ sở dữ liệu phổ biến. Nhiều máy chủ chỉ triển khai một số tính năng của phiên bản tiếp theo, SQL-2 hoặc SQL-92 và hầu như không có máy chủ nào triển khai các tính năng của tiêu chuẩn được phê duyệt gần đây nhất, SQL-99 hoặc SQL-3. MySQL hỗ trợ tiêu chuẩn SQL-92 cấp đầu vào và có một số phần mở rộng độc quyền

Hãy xem xét một ví dụ SQL. Giả sử bạn muốn lưu trữ thông tin về sách trong thư viện. Bạn có thể tạo một bảng—một đối tượng được lưu trữ trong cơ sở dữ liệu của bạn—bằng cách sử dụng câu lệnh sau

CREATE TABLE books [
  title char[50],
  author char[50],
  ISBN char[50] NOT NULL,
  PRIMARY KEY [ISBN]
];

Sau đó, bạn có thể thêm sách vào cơ sở dữ liệu bằng cách sử dụng các câu lệnh như

INSERT INTO books ["Web Database Apps", "Hugh and Dave", "123-456-N"];

Sau khi bạn đã thêm dữ liệu, bạn có thể truy xuất dữ kiện về sách bằng cách sử dụng các truy vấn như truy vấn sau để tìm tác giả và tên sách có ISBN cụ thể

SELECT author, title FROM books WHERE ISBN = "456-789-Q";

Đây chỉ là một số tính năng của SQL và thậm chí những tính năng này có thể được sử dụng theo những cách phức tạp. SQL cũng cho phép bạn cập nhật và xóa dữ liệu cũng như cơ sở dữ liệu và nó bao gồm nhiều tính năng khác như bảo mật và quản lý truy cập, giao dịch nhiều người dùng cho phép nhiều người dùng truy cập vào cùng một cơ sở dữ liệu mà không làm hỏng dữ liệu, các công cụ để nhập và xuất dữ liệu, và các công cụ mạnh mẽ

SQL được thảo luận chi tiết trong Chương 5 và Chương 15

Tại sao nên sử dụng máy chủ cơ sở dữ liệu?

Tại sao lại sử dụng một máy chủ cơ sở dữ liệu phức tạp để quản lý dữ liệu? . Một số tình huống ví dụ về việc nên và không nên sử dụng máy chủ cơ sở dữ liệu sẽ được thảo luận sau trong phần này

Lấy bảng tính làm ví dụ. Trang tính bảng tính thường được thiết kế cho một ứng dụng cụ thể. Nếu hai người dùng lưu trữ tên và địa chỉ, họ có khả năng sắp xếp dữ liệu theo một cách khác và phát triển các phương pháp tùy chỉnh để di chuyển và tóm tắt dữ liệu. Chương trình và dữ liệu không độc lập. di chuyển một cột có thể có nghĩa là viết lại macro hoặc công thức, trong khi việc trao đổi dữ liệu giữa hai ứng dụng của người dùng có thể phức tạp. Ngược lại, máy chủ cơ sở dữ liệu và SQL cung cấp tính độc lập của chương trình dữ liệu, trong đó phương pháp lưu trữ dữ liệu độc lập với ngôn ngữ truy cập nó

Khó quản lý các mối quan hệ phức tạp trong bảng tính hoặc tệp văn bản. Ví dụ, xem xét điều gì sẽ xảy ra nếu chúng ta muốn lưu trữ thông tin về khách hàng. chúng tôi có thể phân bổ một vài cột bảng tính để lưu trữ địa chỉ cư trú của từng khách hàng. Nếu chúng tôi thêm địa chỉ doanh nghiệp và địa chỉ bưu chính, chúng tôi sẽ cần nhiều cột hơn và quy trình xử lý phức tạp hơn, chẳng hạn như xử lý thư gửi cho khách hàng. Nếu chúng tôi muốn lưu trữ thông tin về việc mua hàng của khách hàng, bảng tính sẽ trở nên rộng hơn và các vấn đề bắt đầu xuất hiện. Ví dụ: rất khó để xác định số lượng cột tối đa cần thiết để lưu trữ đơn đặt hàng và thiết kế phương pháp xử lý các cột này để báo cáo. Ngược lại, cơ sở dữ liệu được thiết kế để quản lý dữ liệu quan hệ phức tạp

Máy chủ cơ sở dữ liệu thường cho phép nhiều người dùng truy cập cơ sở dữ liệu cùng một lúc theo cách có phương pháp. Ngược lại, một bảng tính chỉ nên được mở và viết bởi một người dùng; . Tốt nhất, một bảng tính hoặc tệp văn bản được chia sẻ cho phép truy cập đồng thời rất hạn chế

Một lợi ích bổ sung của máy chủ cơ sở dữ liệu là tốc độ và khả năng mở rộng của nó. Không hoàn toàn đúng khi nói rằng cơ sở dữ liệu cung cấp khả năng tìm kiếm dữ liệu nhanh hơn bảng tính hoặc hệ thống tệp tùy chỉnh. Trong nhiều trường hợp, việc tìm kiếm một bảng tính hoặc một tệp mục đích đặc biệt có thể hoàn toàn chấp nhận được hoặc thậm chí nhanh hơn nếu nó được thiết kế cẩn thận và khối lượng dữ liệu nhỏ. Tuy nhiên, để quản lý lượng lớn thông tin liên quan, cấu trúc tìm kiếm cơ bản cho phép tìm kiếm nhanh và nếu nhu cầu thông tin phức tạp, máy chủ cơ sở dữ liệu sẽ tối ưu hóa phương pháp truy xuất dữ liệu

Ngoài ra còn có các ưu điểm khác của máy chủ cơ sở dữ liệu, bao gồm bảo mật hướng dữ liệu và hướng người dùng, phần mềm quản trị, tính di động và hỗ trợ khôi phục dữ liệu. Một lợi ích thiết thực của việc này là giảm thời gian phát triển ứng dụng. hệ thống đã được xây dựng, nó chỉ cần dữ liệu và truy vấn để truy cập dữ liệu

Ví dụ về thời điểm sử dụng máy chủ cơ sở dữ liệu

Trong bất kỳ tình huống nào trong số này, nên sử dụng máy chủ cơ sở dữ liệu để quản lý dữ liệu

  • Có nhiều người dùng cần truy cập dữ liệu cùng một lúc

  • Có ít nhất một lượng dữ liệu vừa phải. Ví dụ: bạn có thể cần duy trì thông tin về vài trăm khách hàng

  • Có mối quan hệ giữa các mục dữ liệu được lưu trữ. Ví dụ: khách hàng có thể có bất kỳ số lượng hóa đơn liên quan nào

  • Có nhiều hơn một loại đối tượng dữ liệu. Ví dụ: có thể có thông tin về khách hàng, đơn đặt hàng, hàng tồn kho và các dữ liệu khác trong một cửa hàng trực tuyến

  • Có những ràng buộc phải được thực thi nghiêm ngặt trên dữ liệu, chẳng hạn như độ dài trường, loại trường, tính duy nhất của số khách hàng, v.v.

  • Thông tin mới hoặc hợp nhất phải được tạo ra từ thông tin cơ bản, liên quan;

  • Có một lượng lớn dữ liệu phải được tìm kiếm nhanh chóng

  • Bảo mật là quan trọng. Cần phải thực thi các quy tắc về việc ai có thể truy cập dữ liệu

  • Thêm, xóa hoặc sửa đổi dữ liệu là một quá trình phức tạp

  • Thêm, xóa và cập nhật dữ liệu là một quá trình thường xuyên hoặc phức tạp

Ví dụ về thời điểm không sử dụng DBMS

Có một số tình huống mà một DBMS quan hệ có thể không cần thiết hoặc không phù hợp. Dưới đây là một số ví dụ

  • Có một loại mục dữ liệu và dữ liệu không được tìm kiếm. Ví dụ: nếu một mục nhập nhật ký được viết khi người dùng đăng nhập và đăng xuất, thì việc thêm mục nhập vào cuối tệp văn bản đơn giản là đủ

  • Nhiệm vụ quản lý dữ liệu là tầm thường và việc truy cập máy chủ cơ sở dữ liệu sẽ làm tăng thêm chi phí không cần thiết. Trong trường hợp này, dữ liệu có thể được mã hóa thành tập lệnh web ở tầng giữa

MySQL có hầu hết các tính năng của máy chủ cơ sở dữ liệu thương mại cao cấp, bao gồm khả năng quản lý lượng dữ liệu rất lớn. Thiết kế của nó phù hợp lý tưởng để quản lý cơ sở dữ liệu điển hình của hầu hết các ứng dụng cơ sở dữ liệu web. Phiên bản hiện tại tại thời điểm viết bài là MySQL 4. 1

Sự khác biệt giữa MySQL và các máy chủ thương mại cao cấp là các thành phần của MySQL chưa hoàn thiện. Ví dụ: trình đánh giá truy vấn của MySQL không phải lúc nào cũng phát triển một kế hoạch nhanh để đánh giá các truy vấn phức tạp. Nó cũng không hỗ trợ tất cả các tính năng bạn có thể tìm thấy trong các máy chủ khác. ví dụ: chế độ xem, trình kích hoạt và quy trình được lưu trữ được lên kế hoạch cho các phiên bản trong tương lai. Có những hạn chế khác, nhỏ hơn thường không ảnh hưởng đến quá trình phát triển web. Tuy nhiên, ngay cả những người dùng cần những tính năng này cũng thường chọn MySQL vì nó miễn phí. [Trái với niềm tin phổ biến, từ năm 2002, MySQL đã hỗ trợ khóa các truy vấn, giao dịch và hàng [hoặc bản ghi] lồng nhau. ]

MySQL là một chủ đề chính khác của cuốn sách này. Nó được giới thiệu trong Chương 5 và được sử dụng rộng rãi trong các ví dụ ở Chương 6 đến Chương 8 và Chương 11 và Chương 12. Các tính năng nâng cao của MySQL là chủ đề của Chương 15. Một ứng dụng ví dụ sử dụng PHP và MySQL là chủ đề của Chương 16 đến Chương 20. Phụ lục A đến Phụ lục C trình bày cách cài đặt MySQL và các tài nguyên MySQL đã chọn được liệt kê trong Phụ lục G

Giải thích kỹ thuật về các tính năng của MySQL 4 được trình bày trong phần tiếp theo. Nếu bạn không quen thuộc với MySQL, hãy chuyển sang phần tiếp theo

MySQL 4 là một bản phát hành mới quan trọng bao gồm các tính năng quan trọng đã được thêm vào kể từ MySQL 3. 23. Phiên bản hiện tại, MySQL 4. 1, hỗ trợ nhiều loại truy vấn SQL, bao gồm liên kết, cập nhật và xóa nhiều bảng cũng như truy vấn lồng nhau. Hiện tại, nó hỗ trợ hầu hết các tính năng của tiêu chuẩn SQL 92 và mục đích của nó là hỗ trợ đầy đủ SQL 99

Máy chủ MySQL hỗ trợ một số loại bảng cho phép nhiều lựa chọn trong các ứng dụng của bạn về kỹ thuật khóa, môi trường giao dịch và lựa chọn hiệu suất. Nó cũng có các công cụ tốt để sao lưu và phục hồi. MySQL là một DBMS mạnh mẽ, đầy đủ tính năng được hỗ trợ thương mại bởi công ty MySQL AB

Cụ thể, sau đây là các tính năng chính của MySQL 4. Nhiều tính năng trong số này được giải thích chi tiết ở những nơi khác trong cuốn sách này

Truy vấn lồng nhau và hỗ trợ bảng dẫn xuất

Truy vấn phụ mới trong MySQL 4. 1. Điều này cho phép bạn sử dụng các câu lệnh SQL

HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 04:30:02 GMT
Server: Apache/1.3.27 [Unix]
Last-Modified: Fri, 21 Nov 2003 22:26:07 GMT
ETag: "a87da0-2128-3fbe90ff"
Accept-Ranges: bytes
Content-Length: 8488
Content-Type: text/html




...
1,
HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 04:30:02 GMT
Server: Apache/1.3.27 [Unix]
Last-Modified: Fri, 21 Nov 2003 22:26:07 GMT
ETag: "a87da0-2128-3fbe90ff"
Accept-Ranges: bytes
Content-Length: 8488
Content-Type: text/html




...
2,
HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 04:30:02 GMT
Server: Apache/1.3.27 [Unix]
Last-Modified: Fri, 21 Nov 2003 22:26:07 GMT
ETag: "a87da0-2128-3fbe90ff"
Accept-Ranges: bytes
Content-Length: 8488
Content-Type: text/html




...
3 và
HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 04:30:02 GMT
Server: Apache/1.3.27 [Unix]
Last-Modified: Fri, 21 Nov 2003 22:26:07 GMT
ETag: "a87da0-2128-3fbe90ff"
Accept-Ranges: bytes
Content-Length: 8488
Content-Type: text/html




...
4, đồng thời nó cũng cho phép bạn bao gồm một truy vấn lồng nhau trong mệnh đề
HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 04:30:02 GMT
Server: Apache/1.3.27 [Unix]
Last-Modified: Fri, 21 Nov 2003 22:26:07 GMT
ETag: "a87da0-2128-3fbe90ff"
Accept-Ranges: bytes
Content-Length: 8488
Content-Type: text/html




...
5 để tạo bảng dẫn xuất.
HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 04:30:02 GMT
Server: Apache/1.3.27 [Unix]
Last-Modified: Fri, 21 Nov 2003 22:26:07 GMT
ETag: "a87da0-2128-3fbe90ff"
Accept-Ranges: bytes
Content-Length: 8488
Content-Type: text/html




...
6 đã được giới thiệu trong MySQL 4. 0. Tất cả những điều này được thảo luận chi tiết trong Chương 15

quốc tế hóa

mysql 4. 1 hiện hỗ trợ Unicode, cho phép bạn phát triển các ứng dụng không sử dụng ngôn ngữ phương Tây. Chúng tôi không thảo luận về việc sử dụng Unicode của MySQL trong cuốn sách này, nhưng chúng tôi thảo luận về hỗ trợ Unicode của PHP trong Chương 3

Bộ nhớ đệm truy vấn

mysql 4. 0 đã giới thiệu bộ đệm truy vấn lưu trữ các kết quả gần đây nhất của các truy vấn và phân phối chúng một cách thông minh dưới dạng câu trả lời cho các truy vấn giống hệt nhau trong tương lai. Chúng tôi chỉ cho bạn cách sử dụng tính năng này trong Chương 15. Chúng tôi giải thích các cải tiến tốc độ khác trong cùng một chương

Các bảng InnoDB an toàn giao dịch

Loại bảng InnoDB được bao gồm dưới dạng mô-đun tích hợp trong MySQL 4. 0. InnoDB hỗ trợ các giao dịch và cho phép bạn quyết định xem có cam kết hay khôi phục một tập hợp các thao tác ghi vào cơ sở dữ liệu hay không. Nó cũng hỗ trợ điểm kiểm tra, được MySQL sử dụng để đưa cơ sở dữ liệu về trạng thái đã biết sau sự cố hoặc lỗi nghiêm trọng. Chúng tôi giải thích những ưu điểm và nhược điểm của InnoDB trong Chương 15

tìm kiếm toàn văn

MySQL 4 đã giới thiệu các phương pháp mới để tìm kiếm nhanh văn bản và một dạng xếp hạng giống như công cụ tìm kiếm. Chúng tôi không thảo luận về điều này trong cuốn sách

PHP trong DBMS là gì?

PHP là ngôn ngữ cho phép bạn linh hoạt kết nối và làm việc với các cơ sở dữ liệu khác nhau trong khi phát triển trang web của mình . Có nhiều cơ sở dữ liệu khác nhau, cả thương mại và miễn phí sử dụng. Trong số đó, MySQL là cơ sở dữ liệu được sử dụng phổ biến nhất bên cạnh PHP.

Giải thích DBMS là gì?

Hệ thống quản lý cơ sở dữ liệu [hay DBMS] về cơ bản không gì khác hơn là hệ thống lưu giữ dữ liệu được vi tính hóa . Người dùng hệ thống được cung cấp các phương tiện để thực hiện một số loại thao tác trên hệ thống như vậy để thao tác dữ liệu trong cơ sở dữ liệu hoặc quản lý chính cấu trúc cơ sở dữ liệu.

4 loại DBMS là gì?

Các loại DBMS .
Cơ sở dữ liệu quan hệ
Cơ sở dữ liệu hướng đối tượng
cơ sở dữ liệu phân cấp
cơ sở dữ liệu mạng

Tại sao PHP được sử dụng trong cơ sở dữ liệu?

Kết nối tốt với cơ sở dữ liệu. PHP giúp dễ dàng kết nối an toàn với hầu hết mọi loại cơ sở dữ liệu . Điều này giúp các nhà phát triển tự do hơn khi chọn cơ sở dữ liệu nào phù hợp nhất cho ứng dụng đang được xây dựng.

Chủ Đề