Trong bối cảnh ngành công nghệ thông tin phát triển nhanh chóng như hiện nay, việc tạo một trang Web động không còn là vấn đề khó khăn như trước đây nữa. Các công nghệ thiết kế Web ngày càng được nâng cấp chất lượng và hoàn thiện hơn để tạo mọi hỗ trợ tối đa cho các nhà lập trình và thiết kế Web. Hiện nay, trên thị trường có rất nhiều công nghệ dùng để thiết kế những trang Web động, hai trong số các công nghệ đó được các nhà lập trình chú ý nhiều nhất như là ASP của Microsoft, JSP của hãng Sun. Hai công nghệ này hiện đang được phổ biến rất rộng rãi ở Việt Nam, bạn có thể dễ dàng đăng ký học và nghiên cứu ASP và JSP bất cứ khi nào bạn muốn. Nhưng xu thế thiết kế những trang Web động hiện nay trên thế giới lại nghiên về một công nghệ khác, không phải ASP hay JSP mà chính là công nghệ MySQL và PHP.
62 trang |
Chia sẻ: vietpd | Lượt xem: 2994 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Tìm hiểu mysql và php, hiện thực ứng dụng quản lý xuất nhập tân dược cho công ty xuất nhập khẩu y tế thành phố Hồ Chí Minh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 1
DẪN NHẬP
Trong bối cảnh ngành công nghệ thông tin phát triển nhanh chóng như hiện nay, việc tạo một trang Web động không còn là vấn đề khó khăn như trước đây nữa. Các công nghệ thiết kế Web ngày càng được nâng cấp chất lượng và hoàn thiện hơn để tạo mọi hỗ trợ tối đa cho các nhà lập trình và thiết kế Web. Hiện nay, trên thị trường có rất nhiều công nghệ dùng để thiết kế những trang Web động, hai trong số các công nghệ đó được các nhà lập trình chú ý nhiều nhất như là ASP của Microsoft, JSP của hãng Sun. Hai công nghệ này hiện đang được phổ biến rất rộng rãi ở Việt Nam, bạn có thể dễ dàng đăng ký học và nghiên cứu ASP và JSP bất cứ khi nào bạn muốn. Nhưng xu thế thiết kế những trang Web động hiện nay trên thế giới lại nghiên về một công nghệ khác, không phải ASP hay JSP mà chính là công nghệ MySQL và PHP.
Có rất nhiều ưu điểm của MySQL và PHP đáng để chúng ta lưu tâm đến và sử dụng chúng, nhưng vấn đề khó khăn của các nhà lập trình Web tương lai tại Việt Nam là cách thức tiếp cận với hai công nghệ này. Nếu nắm bắt kịp công nghệ nêu trên, nghĩa là chúng ta đã theo kịp tốc độ phát triển công nghệ của thế giới và cùng hoà vào dòng chảy của các công nghệ tiên tiến nhất hiện nay. Cũng giống như ASP và JSP, công nghệ MySQL và PHP sẽ được giảng dạy rộng rãi trong các khoá học thiết kế Web động, sách viết về chúng sẽ được dịch chuyển sang tiếng việt và bày bán trong nhà sách, … nhưng đó là trong tương lai. Còn như hiện nay, công nghệ mới này vẫn còn đang xa lạ và mới mẻ đối với giới sinh viên, những cử nhân, kỹ sư công nghệ thông tin tương lai. Chính vì thế chúng tôi chọn đề tài “Tìm Hiểu Công Nghệ MySQL và PHP “ để làm Luận văn tốt nghiệp, mặt khác cũng là để nâng cao sự hiểu biết của mình, mở ra một tầm nhìn mới về lĩnh vực tạo trang Web, hoà nhập vào sự tiến bộ của thế giới.
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ, PHP là ngôn ngữ kịch bản trên máy chủ dùng để thiết kế trang Web. Để tạo dữ liệu động cho một trang Web, chúng ta cần phải kết hợp giữa một hệ quản trị cơ sở dữ liệu với một ngôn ngữ tạo Web. Sự kết hợp tuyệt vời giữa MySQL và PHP khiến cho chúng ngày càng được sử dụng rộng rãi hơn. Nghĩa là công nghệ này đã tạo được sự hỗ trợ tối đa cho các nhà lập trình Web. Cũng có nghĩa là PHP hỗ trợ tối đa các hàm để thao tác với dữ liệu của MySQL, kết nối cơ sở dữ liệu dễ dàng, tương tác dữ liệu nhanh chóng và đơn giản.
Luận văn này đề cập đến phần lý thuyết về cách thức hoạt động cũng như cách thức tạo một cơ sở dữ liệu bằng hệ quản trị cơ sở dữ liệu MySQL, cách thức tương tác và kết nối giữa MySQL và PHP để thiết lập một trang web động bằng ngôn ngữ PHP. Đề tài được trình bày gọn trong 5 chương sau:
Chương 1: Dẫn nhập.
Chương 2: Khảo sát các công nghệ.
Chương 3: Tìm hiểu về MySQL và PHP.
Chương 4: Hiện thực ứng dụng quản lý xuất nhập Tân Dược cho công ty xuất nhập khẩu y tế TP Hồ Chí Minh - Yteco.
Chương 5: Kết luận và hướng phát triển đề tài.
Nội dụng chính của chương 2 sẽ là những đánh giá và so sánh giữa các hệ quản trị cơ sở dữ liệu như Access, SQL Server, Oracle với MySQL, đánh giá và so sánh giữa các công nghệ thiết kế Web động phổ biến hiện nay như ASP, JSP, Coldfusion với PHP, so sánh giữa các các web server như PWS, IIS, Jrun và Apache, và sau cùng là nêu những ưu điểm của hệ quản trị cơ sở dữ liệu MySQL, ưu điểm của PHP, cùng với cách thức hoạt động giữa MySQL – PHP thông qua một web server ví dụ như là Apache.
Phần lý thuyết về tìm hiểu công nghệ sẽ được trình bày gói gọn trong chương 3. Ở đây chỉ nêu sơ lược một vài khái niệm chính về cách thức hoạt động của MySQL như các câu lệnh thao tác trên cơ sở dữ liệu, các câu lệnh thao tác trên dữ liệu, các phân quyền truy xuất, và một số tiện ích khác của MySQL. Đoạn cuối của chương 3 này sẽ là các khái niệm cơ bản về công nghệ PHP, cách thức cài đặt, và các loại hàm mà PHP hỗ trợ. Các cách thức để tạo một kết nối đến cơ sở dữ liệu cũng sẽ được chỉ ra cùng với cách lấy mẫu tin và cập nhật mẫu tin vào trong cơ sở dữ liệu cũng sẽ được trình bày ở dạng tóm lược thông qua các đoạn code ví dụ rất đơn giản.
Vì mục đích chính của đề tài chỉ nhằm tìm hiểu công nghệ MySQL và PHP nên việc tạo một ứng dụng chỉ nhằm mục đích là thể hiện sự nghiên cứu và tìm hiểu công nghệ đã được nêu bên trên mà thôi. Phạm vi của ứng dụng là xây dựng hệ thống quản lý xuất nhập trên mạng Internet thông qua trang Web của công ty Xuất Nhập Khẩu Y Tế Tp Hồ Chí Minh. Trang Web gồm hai mảng chính là phần dành cho khách truy cập và phần dành cho các nhân viên của công ty truy cập để thực hiện các giao dịch của công ty, đó cũng chính là ý nghĩa chung của chương 4. Nội dung của chương 4 sẽ trình bày về hiện trạng của ứng dụng, các bước phân tích thiết kế dữ liệu, phân tích thiết kế xử lý, sơ đồ trang Web, hình ảnh của trang chủ cùng với một số trang cấp một.
Phần cuối cùng của đề tài được trình bày trong chương 5 sẽ nêu lên một số kết luận, các đánh giá ưu khuyết điểm của đề tài, hướng phát triển của đề tài, các tài liệu tham khảo.
Chương 2
TÌM HIỂU CÁC CÔNG NGHỆ
Sử dụng các hệ quản trị cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu Access
Access là một hệ quản trị cơ sở dữ liệu gọn nhỏ và linh động. Tuy nhiên, khi đứng cạnh các hệ quản trị cơ sở dữ liệu mạnh như hiện nay, Access vẫn còn là một hệ quản trị cơ sở dữ liệu được ưa chuộng nhất. Bởi sự dễ dàng khi thực hiện các thao tác, dễ sử dụng, dễ cài đặt, dễ học và còn nhiều ưu điểm khác nữa khiến cho ngôn ngữ này ngày càng mang tính phổ biến. Một ưu điểm nữa của Access là bạn không phải mất công cài đặt nó lên máy tính, nó được hỗ trợ mặc định trong bộ Office của MicroSoft. Nhưng khi chọn một hệ quản trị cơ sở dữ liệu cho việc quản lý đặt nặng tính bảo mật thì Access lại không là một ứng cử viên sáng giá bởi bản thân nó mang tính bảo mật không cao. Hoặc khi chọn một hệ thống quản lý dữ liệu phân bố, bản thân Access lại không đáp ứng được cho các yêu cầu này.
Khi lượng dữ liệu trở nên quá lớn, mọi thao tác trên dữ liệu đều có tốc độ chậm hẳn đi, điều này khiến cho chúng ta gặp nhiều khó khăn hơn trong công việc.
Thay vào những khuyết điểm trên, Access lại có khả năng tương thích cao với các hàm gởi truy vấn dữ liệu của ODBC và ngay cả JDBC nữa. Chỉ cần cung cấp một đường dẫn đến tập tin cơ sở dữ liệu cho trình điều khiển là bạn đã có thể kết nối Access với một ngôn ngữ kịch bản tạo Web động như ASP, JSP hay thậm chí với cả PHP và PERL nữa.
Tóm lại, chỉ nên chọn Access để quản lý dữ liệu cho các trang Web có số lượng mẫu tin ít, dữ liệu không cần ràng buột chi tiết, và đặc biệt là dành cho các trang sử dụng dữ liệu không đặt nặng vấn đề bảo mật và không có sự phân bố dữ liệu trên mạng.
Hệ quản trị cơ sở dữ liệu SQL SERVER
Tương tự như Access, SQL Server là một hệ quản trị cơ sở dữ liệu sử dụng ngôn ngữ truy vấn có cấu trúc chuẩn SQL, một hệ quản trị cơ sở dữ liệu quan hệ rất mạnh.
Việc hỗ trợ tính phân bố dữ liệu và tính bảo mật dữ liệu cao làm cho SQL Server ngày càng tiến xa hơn nữa và trở thành một trong những chọn lựa hàng đầu khi cần một hệ thống quản lý dữ liệu an toàn. Nhưng SQL Server lại không hề đơn giản chút nào trong việc cài đặt nó vào máy của bạn, nó không tích hợp được với bất kỳ hệ điều hành nào khác ngoại trừ các hệ điều hành Windows của Microsoft.
Ngoài ra, nếu khối lượng dữ liệu quá lớn từ khoảng 50 GB trở lên thì SQL Server lại trở nên chậm chạp và không còn thích hợp nữa cho dù chúng ta thực hiện một truy vấn dữ liệu không điều kiện.
Hệ quản trị cơ sở dữ liệu ORACLE
Một lựa chọn khác để quản lý, chia sẻ và truy vấn dữ liệu là sử dụng hệ quản trị cơ sở dữ liệu Oracle. Phiên bản Oracle mới nhất hiện nay là Oracle 9i, được hỗ trợ tối đa các hàm tiện ích giúp chúng ta có thể tạo các truy vấn chính xác và mang tính bảo mật cao. Không như SQL Server, Oracle 8i có thể thao tác trên một lượng dữ liệu rất lớn với khoảng thời gian chấp nhận được (nhiều hơn 50 GB dữ liệu) và cho bạn một kết quả như mong muốn. Ngoài ra, bạn có thể cài Oracle vào các hệ điều hành khác ngoài Windows như Unix và Linux một cách dễ dàng vì chúng được thiết kế để tương thích với mọi hệ điều hành.
Mặc dù được mệnh danh là hệ quản trị cơ sở dữ liệu mạnh nhất hiện nay, nhưng người sử dụng lại gặp phải khá nhiều vấn đề khó khăn khi tiếp cận với Oracle. Vấn đề khó khăn đầu tiên là chi phí để trả cho một bản quyền đầy đủ. Nếu không, chúng ta sẽ khó lòng mà có được những điều mình mong muốn.
Vì các lý do trên, Oracle chỉ thích hợp để quản lý những cơ sở dữ liệu lớn, có nhu cầu về sự phân bố dữ liệu trên mạng và cần có độ an toàn cao cho dữ liệu. Nếu bạn cần chọn một hệ quản trị cơ sở dữ liệu linh động, gọn nhẹ, chi phí thấp và dễ sử dụng để quản lý dữ liệu, bạn không nên chọn Oracle, có một giải pháp mới dành cho bạn, đó là hệ quản trị cơ sở dữ liệu quan hệ MySQL.
Các ưu điểm nổi bật của MySQL
Đối thủ chính của MySQL là Microsoft SQL Server và Ocracle, nhưng bản thân MySQL lại có nhiều điểm mạnh khiến nó đáng được quan tâm như:
Tính thực thi cao: MySQL thực thi nhanh và rất đáng tin cậy để chúng ta sử dụng. Sự kết nối tốc độ và bảo mật làm MySQL phù hợp cho việc truy cập cơ sở dữ liệu trên Internet.
Chi phí thấp: MySQL miễn phí với bản quyền mã nguồn mở hoặc chi phí thấp với bản quyền thương mại mà ứng dụng chúng ta cần.
Sử dụng: Hầu hết mọi cơ sở dữ liệu hiện nay đều dùng ngôn ngữ truy vấn có cấu trúc chuẩn SQL. Nếu bạn đã từng sử dụng một hệ quản trị cơ sở dữ liệu quan hệ RDBMS thì bạn sẽ không gặp rắc rối gì khi sử dụng MySQLvà chúng cũng rất dễ cài đặt cấu hình.
Tính linh động: MySQL tương thích với nhiều hệ điều hành khác nhau như UNIX cũng như Microsoft Windows.
Mã nguồn: Bạn có thể lấy mã nguồn của MySQL một cách dễ dàng và sửa đổi chúng theo ý thích của bạn.
Trình kết nối cơ sở dữ liệu
ODBC
ODBC – Open DataBase Connectivity - là một chương trình giao tiếp lập trình chuẩn cho người phát triển ứng dụng và nhà cung cấp cơ sở dữ liệu của Microsoft. Để truy xuất đến các cơ sở dữ liệu thông qua ODBC, ta phải cài đặt Driver đến cơ sở dữ liệu đó. ODBC có nhiều Driver hỗ trợ cho các cơ sở dữ liệu khác nhau, để chuyển các mẩu tin thành những dữ liệu nguồn (Data Source). Hệ điều hành căn cứ vào các thông tin khai báo để xác định cấp của ODBC Driver giao tiếp với Data Source. Việc nạp ODBC là “trong suốt” đối với chương trình ứng dụng. Trong môi trường mạng, ODBC đảm nhận luôn cả việc xử lý những vấn đề truy xuất dữ liệu trên mạng như việc truy cập đồng thời, giải quyết các xung đột, …
Vì ODBC cung cấp sự truy xuất bất kỳ dạng cơ sở dữ liệu thông dụng có sẵn nên tạo một sự uyển chuyển trong ứng dụng, từ đó giúp chúng ta đưa cơ sở dữ liệu lên trang Web một cách dễ dàng. Nếu bạn có thể dùng ODBC với Web Server, tức là bạn có thể lấy dữ liệu từ cơ sở dữ liệu và đưa lên trang Web bất kể dữ liệu đó được lưu trữ trên môi trường nào.
JDBC
JDBC - Java Database Connectivity - tương tự như ODBC, là một giao thức để kết nối đến cơ sở dữ liệu, gởi các hàm truy vấn SQL và nhận dữ liệu trả về. Công nghệ JDBC còn là giao thức độc lập của Java API, nó cung cấp tập hợp các lớp và giao diện cho phép phát triển các ứng dụng Java cũng như các ứng dụng Web liên quan đến truy xuất cơ sở dữ liệu. Có bốn loại trình điều khiển JDBC được hãng Sun cung cấp như :
Cầu nối ODBC – JDBC: Cầu nối này thực hiện việc truy cập đến cơ sở dữ liệu thông qua trình điều khiển ODBC của Windows. Loại trình điều khiển này thường dùng khi không có sẵn JDBC kết nối trực tiếp vào cơ sở dữ liệu quan hệ.
Trình điều khiển thuần tuý Java – Native API: Trình điều khiển này hoạt động bằng cách biến đổi lệnh JDBC thành cuộc gọi trực tiếp đến cơ sở dữ liệu. Điều này làm cho trình điều khiển trở nên tiện lợi và nhanh hơn các trình điều khiển khác. Tuy nhiên không phải cơ sở dữ liệu nào cũng cung cấp cho bạn cách giao tiếp thông qua JDBC – API trực tiếp.
Trình điều khiển JDBC – NET: Trình điều khiển này là giải pháp cho mô hình dữ liệu đa tầng. Máy chủ server sẽ dịch các nghi thức độc lập của JDBC thành nghi thức cụ thể của hệ quản trị cơ sở dữ liệu.
Trình điều khiển Native Protocol: Đây là loại trình điều khiển thuần tuý Java, nó sẽ giao tiếp trực tiếp với cơ sở dữ liệu của nhà cung cấp.
Có bốn bước cần thực hiện khi sử dụng trình điều khiển để kết nối đến cơ sở dữ liệu như: Tạo một thiết lập kết nối với cơ sở dữ liệu, gởi câu lệnh SQL, xử lý kết quả và đóng kết nối.
Sự hỗ trợ của Server đối với các ngôn ngữ kịch bản
Bước đầu tiên bạn cần thực hiện khi bắt đầu thiết kế hay lập trình Web là bạn phải cài một Web Server cùng với một ngôn ngữ kịch bản chạy trên server mà bạn muốn sử dụng. Bạn cần cài đặt một trong bốn loại Web Server thông dụng nhất hiện nay, sẽ được giới thiệu bên dưới đây, tuỳ theo cấu hình máy của bạn.
Personal Web Server - PWS
Đây là loại Web server thường dùng trên hệ điều hành Win9x, NT Workstation hay Win 2000 Workstation. Cấu hình này thường được dùng cho các nhà lập trình Web trong thời gian thiết kế. Web server này sẽ nhận các yêu cầu, tìm trang cần thiết, chạy kịch bản, liên kết với dữ liệu và trả về các trang đáp ứng.
Ưu điểm của PWS là nó cung cấp một môi trường phát triển tiện lợi, chi phí thấp và không cần phần cứng mạnh. Tuy nhiên, nhược điểm của nó là có độ tin cậy không cao và không thể mở rộng trang Web ra nhiều Server.
Internet Information Server – IIS
Web server này dùng để cấu hình server trên nền hệ điều hành NT Server và Win 2000 Server, cấu hình này được dùng để triển khai các hệ thống trên qui mô lớn nên nó đòi hỏi nhiều tài nguyên của máy cũng như cấu hình máy phải mạnh.
Ưu điểm của cấu hình NT Server/IIS là mang lại độ tin cậy cao và cho phép mở rộng trang Web ra nhiều server, nhưng nhược điểm của nó là cần chi phí cao hơn so với cấu hình Win9x/PWS.
JRUN
Đây là trình chủ Web có khả năng hiểu Java do hãng Allaire cung cấp nhằm phục vụ những phiên bản của hãng Sun Microsystem dựa trên nền Java, nó có khả năng thích ứng tốt với nhiều hệ điều hành như Win9x, Windows 2000, Windows NT, Linux và Unix.
Ngoài những tính năng của một trình chủ Web, JRUN còn có khả năng liên kết với các trình chủ khác như IIS và Apache. Các yêu cầu về phần cứng cũng như phần mềm khi tạo trình chủ Web JRUN khiến cho JRUN trở nên phức tạp khi cài đặt và quản lý, đây cũng là một nhược điểm của JRUN.
APACHE
Trình chủ Web Apache là trình chủ phổ biến nhất hiện nay trên thế giới, nó hiện đang quản lý hơn 50% số trang Web hiện có trên thế giới, nhiều hơn cả số trang mà PWS, IIS và JRUN hiện đang quản lý. Vì thế, Apache có nhiều ưu điểm đáng để chúng ta quan tâm và lưu ý đến nó. Cũng giống như JRUN, Apache có khả năng thích ứng tốt với nhiều hệ điều hành, nhưng một điểm khác với JRUN là nó không yêu cầu về cấu hình của máy khi cài đặt và các thao tác cài đặt lại vô cùng dễ dàng.
Các ngôn ngữ kịch bản trên Server
Hiện nay, nếu bạn muốn tạo một trang Web động, không còn cách nào khác là bạn phải sử dụng một ngôn ngữ kịch bản chạy trên Server để liên kết với một trình điều khiển kết nối cơ sở dữ liệu. Các ngôn ngữ kịch bản chạy trên server thông dụng nhất hiện nay gồm bốn loại sau:
Active Sserver Pages - ASP
ASP là một ngôn ngữ kịch bản chạy trên server, được hỗ trợ mặc định trong trình duyệt IE 4.0. ASP thực sự là phần mở rộng cho Web server của bạn. Nó cung cấp một tập hợp các thành phần và các đối tượng đặc trưng để quản lý sự tương tác giữa Web server và trình duyệt.
Một khuyết điểm của ASP khiến cho nhiều người không thích sử dụng ASP chính là khả năng bảo vệ mã nguồn của ASP (có nhiều người cho đây là ưu điểm của nó) và sự tăng tải trên server. Nhưng bù lại, ASP có khả năng thích ứng rộng, khả năng kết hợp với các phần mềm khác cao và tính dễ gỡ rối.
Java Server Pages – JSP
JSP là một kỹ thuật mới kết hợp ngôn ngữ đánh dấu HTML (hoặc XML) với Java để tạo các trang Web động. Cũng như Java, JSP là ngôn ngữ lập trình hướng đối tượng thuần tuý và tối ưu. Một trong những ưu điểm chính của JSP là tính khả chuyển của mã nguồn giữa các server với nhau, và tính mã nguồn mở.
ColdFusion
ColdFusion cho phép server truy xuất cơ sở dữ liệu khi tạo Web. Trang Web tạo bởi ColdFusion ( tập tin .cfm) có thể đọc được bởi mọi trình duyệt, tuy nhiên nó sử dụng các thẻ của riêng nó. Điểm khác nhau cơ bản giữa ColdFusion và các ngôn ngữ khác đó là nó sử dụng các thẻ riêng của nó thay vì sử dụng các đối tượng và các ngôn ngữ kịch bản phía Client.
Personal Home Page – PHP
Tương tự như ASP và ColdFusion, PHP là ngôn ngữ dùng để tạo các trang Web động từ server và gởi chúng tới trình duyệt. Tuy nhiên, PHP tương thích với nhiều hệ điều hành hơn, và cũng tương thích với nhiều Web server hơn các ngôn ngữ khác. Các điểm mạnh của PHP bao gồm:
Tính thực thi cao: PHP rất hiệu quả, sử dụng server rẻ, bạn có thể đáp ứng hàng triệu lượt truy cập mỗi ngày vào trang Web của bạn.
Mạch ghép nối đến nhiều hệ thống cơ sở dữ liệu khác nhau: PHP kết nối đến nhiều hệ thống cơ sở dữ liệu. Ngoài MySQL ra bạn còn có thể kết nối được với các hệ quản trị cơ sở dữ liệu khác như: PostgreSQL, mSQl, Ocracle, dbm, filePro, Hyperwave, Infomix, InterBase, và Sybase. Dùng ODBC (Open Database Connectivity Standard) bạn có thể kết nối đến bất kỳ cơ sở dữ liệu nào có hỗ trợ ODBC driver bao gồm các sản phẩm của Microsoft và nhiều hãng khác.
Xây dựng thư viện cho nhiều tác vụ Web thông dụng: Do PHP được thiết kế cho việc sử dụng Web nên nó có nhiều chức năng được xây dựng để thực th