BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP KỸ THUẬT CÔNG NGHỆ
LUẬN VĂN TỐT NGHIỆP
ĐỀ TÀI
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Ế
TP HỒ CHÍ MINH
GVHD : Th.S BÙI TRỌNG HIẾU
SVTH : PHAN THỊ DIỄM THÚY - 98
TH
261
NGUYỄN ĐINH CHÂU UYÊN - 98
GVHD : Th.S BÙI TRỌNG HIẾU
SVTH : PHAN THỊ DIỄM THÚY - 98
TH
261
NGUYỄN ĐINH CHÂU UYÊN - 98
TH
304
KHOÁ 98 TP HỒ CHÍ MINH
2003
LỜI CẢM ƠN
Trong suốt quá trình học tập tại trường Đại Học Kỹ Thuật Công Nghệï,
chúng em đã được các thầy cô tận tình giảng dạy, truyền đạt kiến thức và kinh
nghiệm thực tiễn. Luận văn tốt nghiệp là diệp để chúng em tổng kết và ứng dụng
những kiến thức đã học.
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Mục lục
Chương 1 DẪN NHẬP
trang1
MINH
trang 63
4.1. Tổng quan về hệ thống
trang 63
4.1.1. Mục đích
trang 63
4.1.2. Cách quản lý thuốc tại công ty
trang 64
4.2. Thiết kế cơ sở dữ liệu
trang 66
4.2.1. Thiết kế cơ sở dữ liệu mức quan niệm
trang 66
4.2.2. Thiết kế dữ liệu mức logic
trang 73
4.2.3. Thiết kế dữ liệu mức vật lý
trang 83
4.3. Thiết kế xử lý
trang 86
4.4. Sơ đồ Web Site
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 tốt nghiệp GVHD: Th.S Bùi Trọng Hiếu
Trang 2
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.
Luận văn tốt nghiệp GVHD: Th.S Bùi Trọng Hiếu
Trang 3
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.
ứ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.
b. 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
Luận văn tốt nghiệp GVHD: Th.S Bùi Trọng Hiếu
Trang 5
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.
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ệ
Luận văn tốt nghiệp GVHD: Th.S Bùi Trọng Hiếu
Trang 6
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.
2.2. Trình kết nối cơ sở dữ liệu
a. 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ó
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.2.3. 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.a. 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.
Luận văn tốt nghiệp GVHD: Th.S Bùi Trọng Hiếu
2.4. 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: Luận văn tốt nghiệp GVHD: Th.S Bùi Trọng Hiếu
Trang 9
a. 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.b. 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ở.c. ColdFusion
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 thi nhiều tác vụ quan hệ Web hữu dụng. Bạn có thể
thao tác trên hình ảnh GIF, kết nối với những dòch vụ mạng khác, gởi
mail, làm việc với cookie và tạo tài liệu PDF. Chi phí thấp: PHP thì miễn phí. Bạn có thể tải miễn phí phiên bản
mới nhất tại Web site: .
Dễ học và dễ sử dụng: Cú pháp của PHP dựa trên các ngôn ngữ lập
trình khác, chủ yếu là C và Perl. Nếu bạn đã biết C hay Perl hay một
ngôn ngữ giống C như C++ hay Java thì bạn sẽ sử dụng PHP được
ngay.
Linh hoạt: PHP thích hợp cho nhiều hệ điều hành khác nhau. Bạn có
thể viết mã trên hệ điều hành Unix, Linux và FreeBSD, phiên bản
Unix thương mại, Solaris và IRIX hay trên những phiên bản của
Microsoft Windows giống nhau.
Mã nguồn:
Bạn đã truy cập mã nguồn PHP. Không giống như trong
thương mại hay những sản phẩm mã nguồn đóng, bạn có thể tự do
sửa đổi hay thêm gì đó vào PHP và cũng không cần lo lắng về việc
nhà sản xuất ngừng hỗ trợ.2.5. Công nghệ MySQL và PHP
Đây cũng chính là sự kết hợp tuyệt vời giữa hai công nghệ đang được ưa
chuộng nhất hiện nay trên thế giới. Một bộ đôi có nhiều điểm chung giống
nhau như độc lập với hệ điều hành, mã nguồn mở, tiết kiệm chi phí, …
Luận văn tốt nghiệp GVHD: Th.S Bùi Trọng Hiếu
Trang 12
Chương 3
TÌM HIỂU VỀ MYSQL VÀ PHP
3.1. Tìm hiểu về MySQL
3.1.1. Giới thiệu về MySQL
MySQL là một hệ quản trò cơ sở dữ liệu quan hệ mạnh mẽ và tốc độ.
MySQL cho phép bạn lưu trữ, tìm kiếm, sắp xếp và lấy dữ liệu rất hiệu quả và
nhanh chóng. Cơ sở dữ liệu chủ MySQL điều khiển việc truy cập dữ liệu, cho
phép nhiều người dùng cùng truy cập đồng thời mà an toàn và nhanh chóng. Do
đó MySQL trở thành một hệ quản trò cơ sở dữ liệu chủ đa người dùng và đa
luồng. Nó sử dụng ngôn ngữ truy vấn có cấu trúc SQL, là ngôn ngữ truy vấn cơ
sở dữ liệu chuẩn trên thế giới hiện nay. MySQL trở nên phổ biến từ những năm
1996 nhưng lòch sử phát triển của nó đã bắt nguồn từ những năm 1979.
MySQL là phần mềm có mã nguồn mở, bạn có thể download phần mềm miễn
phí trên Internet từ đòa chỉ : và bạn hoàn toàn có thể học mã
nguồn, thay đổi mã nguồn để sử dụng theo mục đích riêng của bạn. Nếu vẫn
chưa đáp ứng đủ, hay khi bạn cần nhúng MySQL vào một ứng dụng thương mại
nào đó thì bạn có thể mua một phiên bản thương mại từ công ty.
C:\mysql\bin\mysqlshow –u root mysql
C:\mysql\bin\mysqladmin version status proc
C:\mysql\bin\mysqladmin –u root shutdown
MySQL sẽ tạo cơ sở dữ liệu gồm mysql và test. Cơ sở dữ liệu mysql
được sử dụng để lưu trữ sự phân quyền và truy cập trên server.
b. Đăng nhập vào hệ thống MySQL
Để log vào MySQL, trước tiên bạn cần khởi động MySQL server bằng
cách vào Start -> Run gõ dòng lệnh như sau:
NET START mysql
Biểu tượng đèn tín hiệu “giao thông” của MySQL server ở góc phải màn
hình sẽ bật lên màu xanh để báo hiệu cho bạn biết MySQL server đã sẵng
sàng. Nếu không có dấu hiệu này, bạn hãy xem lại cách cài đặt của mình đã
đúng chỉ dẫn hay chưa.
Sau đó bạn vào Start -> Run và nhập tiếp dòng lệnh sau để Log vào
MySQL server :
C:\mysql\bin\mysql –h hostname –u username –p password
Với vò trí hostname, bạn cần nhập vào tên host đang chạy MySQL mà
bạn muốn kết nối đến.
Với vò trí username, bạn cần nhập vào tên tài khoản người sử dụng mà
người quản trò hệ thống thiết lập riêng cho ban. Nếu bạn đang sử dụng máy
riêng của mình, bạn có thể để trống phần này, MySQL server sẽ lấy giá trò
mặc đònh là tên tại khoản đã đăng ký với hệ điều hành.
Trong phần password, bạn cần nhập vào đúng mật khẩu được chỉ đònh đi
kèm với username. Vì lý do bảo mật, một lời khuyên dành cho bạn là không
nên nhập mật khẩu vào đây, vì mật khẩu của bạn sẽ hiện nguyên từng ký tự
một khi bạn gõ vao. Chính vì thế bạn nên bỏ trống phần này, MySQL server sẽ
Luận văn tốt nghiệp GVHD: Th.S Bùi Trọng Hiếu
Trang 14
Đối tượng cần
đònh danh
Chiều dài
tối đa
Trường hợp tương tự Ký tự được dùng
Cơ sở dữ liệu 64 Cách đònh danh cho một
thư mục trong hệ điều
hành
Mọi ký tự cho phép
ngoại trừ ký tự “/”
Bảng 64 Cách đònh danh cho một
tập tin trong hệ điều
hành
Mọi ký tự cho phép
ngoại trừ ký tự “/”
và dấu “.”
Cột 64 Không có Mọi ký tự
Bí danh 255 Không có Mọi ký tự
Luận văn tốt nghiệp GVHD: Th.S Bùi Trọng Hiếu
Trang 15
3.1.2. Quản trò cơ sở dữ liệu trong MySQL
a. Vấn đề phân quyền và người dùng
Mỗi hệ thống MySQL có thể có nhiều người sử sụng đồng thời. Vì lý do
bảo mật nên người quản trò hệ thống cần phải bảo vệ tài khoản và mật khẩu
truy cập vào root. Khi có một người dùng khác cần sử dụng hệ thống, người
quản trò cần cấp cho người dùng này một tài khoản và mật khẩu riêng để log
vào hệ thống. Ngoài ra cần phải cấp cho người này một số quyền tối thiểu để
DROP Xoá một bảng
SELECT Cho phép lấy các mẫu tin trong cột
INSERT Thêm một dòng mới vào cột
Cột (column)
UPDATE Cập nhật mới các giá trò trong cột
Luận văn tốt nghiệp GVHD: Th.S Bùi Trọng Hiếu
Trang 16
Phân quyền nhóm quản trò hệ thống : Bạn có thể cấp các quyền này cho
một người dùng đặc biệt nào đó để người này có thể quản lý hệ thống.
Cấp quyền Mô tả
RELOAD
Cho phép được Reload
SHUTDOWN
Cho phép một nhà quản trò có thể tắt hệ thống MySQL server
PROCESS
Cho phép một nhà quản trò có thể xem các tiến trình xử lý trên
server và ngăn chặn chúng.
FILE
Cho phép lấy dữ liệu từ các tập tin và đọc vào các bảng.
Các quyền đặc biệt khác: người quản trò hệ thống có thể cấp các quyền
tổng quát này cho một người dùng mới để tiết kiệm thời gian phân
quyền chi tiết như:
Cấp quyền Mô tả
ALL hay
ALL PRIVILEGES
Cho phép một người dùng có toàn quyền trên mọi cơ sở
dữ liệu, mọi bảng, mọi cột, kể cả nhóm quyền dùng để
quản trò hệ thống.
USAGE
user_name : Chỉ đònh tên một người dùng được cấp các quyền mới này.
Nếu MySQL không tìm thấy tên user_name này trong danh sách các
user của hệ thống MySQL thì hệ thống sẽ tự động tạo ra một user mới
với tên user_name và cập nhật vào hệ thống.
[ IDENTIFIED BY ‘password’] : Chỉ đònh mật khẩu đi kèm với tên
user_name trên (phần này có thể không cần cung cấp).
[ WITH GRANT OPTION] : Nếu câu lệnh cấp quyền có phần này,
nghóa là người có tên user_name ở trên có thể cấp lại các quyền này cho
một người khác .
Ghi chú: Danh sách tên người dùng và các quyền đã cấp cho người dùng
sẽ được lưu trữ trong bốn bảng của cơ sỡ dữ liệu tên mysql. Bốn bảng này có
tên là mysql.user, mysql.db, mysql.tables_priv, mysql.columns_priv. Bốn bảng
này có quan hệ mật thiết với bốn cấp độ phân quyền như đã đề cập ở trên.
Chính vì thế, bạn có thế chỉnh sửa câu lệnh GRANT bằng cách chỉnh sửa trực
tiếp trên các bảng này.
c. Câu lệnh dùng để rút quyền
Để rút lại các quyền đã cấp cho một người dùng, bạn có thể dùng câu
lệnh REVOKE dưới dạng tổng quát như sau:
REVOKE priveleges [columns]
ON item
FROM user_name
Mô tả:
priveleges : danh sách các quyền cần rút lại (các quyền đã được cấp
trước đó )
[columns] : phạm vi các cột hay trên danh sách các cột cần rút quyền (đã
được cấp trước đó - phần này có thể không cần cung cấp) .
item : cung cấp tên cơ sở dữ liệu hoặc tên bảng nằm trong phạm vi đã
cấp quyền trước đó mà ta cần rút quyền. Chúng ta có thể sử dụng các ký
hiệu đặc biệt (như phần câu lệnh GRANT đã mô tả) để thay cho một