Chương 1 CƠ SỞ LÝ THUYẾT Chương này trình bày các thông tin, khái niệm của các kiến thức chuyên môn, giải thích các thuật ngữ, chú thích xuất hiện trong xuyên suốt đồ án. Hệ quản trị cơ sở dữ liệu MySQL 1. Giới thiệu về MySQL Hệ quản trị CSDL MySQL MySQL là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System - RDBMS) được sử dụng để quản lý dữ liệu trong môi trường máy tính. Nó sử dụng ngôn ngữ truy vấn SQL (Structured Query Language) để trao đổi dữ liệu giữa máy Client và máy chứa MySQL.
Một RDBMS bao gồm các thành phần chính như databases, database engine và các ứng dụng dùng để quản lý dữ liệu. MySQL được thiết kế và tối ưu hóa để hoạt động trên môi trường cơ sở dữ liệu lớn, có khả năng xử lý và lưu trữ dữ liệu trong các database có dung lượng lên đến hàng Tera-Byte. Đồng thời, MySQL có khả năng phục vụ đồng thời cho hàng ngàn người dùng, đảm bảo hiệu suất và khả năng mở rộng. SVTH: Trần Văn Hoàng 4 Xây dựng hệ thống trực tuyến hỗ trợ quản lý cửa hàng kinh doanh giày dép MySQL có thể tích hợp và tương tác với các máy chủ (server) khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server, giúp cung cấp các giải pháp toàn diện cho việc phát triển ứng dụng web và các hệ thống mạng.
Các thành phần cơ bản trong MySQL MySQL bao gồm nhiều thành phần quan trọng để tạo thành một giải pháp toàn diện cho việc lưu trữ và phân tích dữ liệu. Các thành phần cơ bản trong MySQL Database Engine: Đây là thành phần cốt lõi của MySQL, cho phép lưu trữ dữ liệu trong các bảng và hỗ trợ các câu truy vấn và thao tác trên dữ liệu. Nó cũng có khả năng điều chỉnh tài nguyên và tối ưu hiệu suất của hệ thống. Integration Services: Là bộ công cụ và đối tượng lập trình cho việc sao chép, di chuyển và chuyển đổi dữ liệu giữa các máy chủ và định dạng dữ liệu trước khi lưu vào cơ sở dữ liệu.
Điều này rất hữu ích khi bạn cần di chuyển dữ liệu giữa các hệ thống khác nhau và muốn định dạng dữ liệu một cách linh hoạt. Analysis Services: Đây là dịch vụ phân tích dữ liệu mạnh mẽ, cho phép bạn phân tích dữ liệu từ cơ sở dữ liệu thông qua các kỹ thuật khai thác dữ liệu và khái niệm hình khối nhiều chiều. Nó giúp bạn tìm ra những thông tin bổ ích và đưa ra các phân tích hiệu quả. Notification Services: Là một nền tảng để phát triển và triển khai các ứng dụng gửi thông báo.
Nó cho phép bạn tạo và gửi thông báo đến hàng ngàn người dùng đăng ký trên nhiều thiết bị khác nhau theo thời gian thực. SVTH: Trần Văn Hoàng 5 Xây dựng hệ thống trực tuyến hỗ trợ quản lý cửa hàng kinh doanh giày dép Reporting Services: Là một công cụ quản lý và triển khai báo cáo. Nó cung cấp nền tảng cho việc tạo và xây dựng các ứng dụng báo cáo, từ server đến client. Full Text Search Service: Là thành phần đặc biệt trong việc truy vấn và tạo chỉ mục dữ liệu văn bản không cấu trúc trong cơ sở dữ liệu MySQL.
Nó cho phép tìm kiếm dựa trên nội dung văn bản một cách hiệu quả. Service Broker: Là một môi trường lập trình cho việc tạo ra các ứng dụng truyền thông giữa các phiên bản của MySQL. Nó hỗ trợ việc truyền thông qua các instance và đảm bảo tính nhất quán và độ tin cậy của dữ liệu. Tổng quan về PHP 1.
Khái niệm PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với Web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng Web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở ngôn ngữ lập trình web phổ biến nhất thế giới. Lịch sử phát triển PHP/FI: PHP được phát triển từ một sản phẩm có tên là PHP/EI.
PHP/FI do Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools'. Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta.
Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay. SVTH: Trần Văn Hoàng 6 Xây dựng hệ thống trực tuyến hỗ trợ quản lý cửa hàng kinh doanh giày dép Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó. Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới. Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.
Các tính năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán khác.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm. PHP 4: Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP. Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả.
Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới. Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet. PHP 5: Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển PHP tự mãn. Cộng đồng PHP đã nhanh chóng giúp họ nhận ra những yếu kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.0, hỗ trợ dịch vụ web yếu.
Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm. Đó cũng là phiên bản đầu tiên của Zend Engine 2. Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất được SVTH: Trần Văn Hoàng 7 Xây dựng hệ thống trực tuyến hỗ trợ quản lý cửa hàng kinh doanh giày dép chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiếm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới.
PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP. PHP 6: Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản sử dụng thử đã có thể được download tại địa chỉ http://snaps. Phiên bản PHP 6 được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ: hỗ trợ namespace (hiện tại các nhà phát triển vẫn chưa công bố rõ ràng về vấn đề này); hỗ trợ Unicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thành thư viện PECL.
Môi trường hoạt động của PHP PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MYSQL và hệ điều hành Linux (LAMP). Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trinh duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trinh duyệt. MYSQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle, MySQL.) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu. Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các webserver.
Thông thường các phiên bản được sử dụng nhiều nhất là RedHat Enterprise Linux, Ubuntu. Tổng quan về Framework Laravel và Bootstrap Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC. Framework chính là một thư viện với các tài nguyên có sẵn cho từng lĩnh vực để lập trình viên sử dụng thay vì phải tự thiết kế. Có Framework, lập trình viên chỉ tìm hiểu và khai thác những tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnh sản phẩm của mình.