Tải bản đầy đủ (.doc) (107 trang)

CƠ SỞ LÝ THUYẾT VÀ GIỚI THIỆU MỘT SỐ CÔNG CỤ LẬP TRÌNH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.37 MB, 107 trang )

Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
Phần I. CƠ SỞ LÝ THUYẾT VÀ GIỚI THIỆU MỘT SỐ
CÔNG CỤ LẬP TRÌNH
Chương I. TỔNG QUAN VỀ INTERNET
I.1. INTERNET
I.1.1. TÌM HIỂU SƠ LƯỢC VỀ INTERNET
Internet là một mạng máy tính có phạm vi toàn cầu bao gồm nhiều mạng nhỏ cũng
như các máy tính riêng lẻ được kết nối với nhau để có thể liên lạc và trao đổi thông tin.
Thông qua mạng Internet bạn có thể viết thư, đọc báo, xem bản tin, giải trí, tra cứu... Đặc
biệt từ năm 1993 trở đi, mạng Internet không chỉ cho phép chuyển tải thông tin nhanh
chóng mà còn giúp cung cấp thông tin, nó cũng là diễn đàn và là thư viện toàn cầu đầu tiên.
Các thông tin được đặt rải rác trên toàn cầu có thể truyền thông được với nhau nhờ một
thiết bị là Modem và đường dây điện thoại.
Ngày nay, số lượng người truy cập vào mạng Internet trên toàn thế giới đang ngày
càng tăng lên nhanh chóng. Qua đó có thể thấy rằng Internet đã đưa chúng ta vào thế giới
có tầm nhìn rộng hơn.
Hệ điều hành UNIX là hệ phát triển mạnh với rất nhiều công cụ hỗ trợ và đảm bảo
các phần mềm ứng dụng có thể chuyển qua lại trên các họ máy tính khác nhau (máy mini,
máy tính lớn và máy vi tính). Bên cạnh là hệ điều hành UNIX BSD còn cung cấp nhiều thủ
tục Internet cơ bản, đưa ra khái niệm Socket và cho phép chương trình ứng dụng thâm nhập
vào Internet một cách dễ dàng.
Internet có thể tạm hiểu là liên mạng gồm các máy tính nối với nhau theo một nghi
thức và một số thủ tục chung gọi là TCP/IP (Transmission Control Protocol /Internet
Protocol). Thủ tục và nghi thức này trước kia đã được thiết lập và phát triển cho một đề án
nghiên cứu của Bộ Quốc Phòng Mỹ với mục đích liên lạc giữa các máy tính nối đơn lẻ và
các mạng máy tính với nhau mà không phụ thuộc vào các hãng cung cấp máy tính. Sự liên
lạc này vẫn được bảo đảm liên tục ngay cả trong trường hợp có nút trong mạng không hoạt
động.
Trên quan điểm Client/Server thì có thể xem Internet như là mạng của các mạng của
các Server, có thể truy xuất bởi hàng triệu Client. Việc chuyển và nhận thông tin trên
Internet được thực hiện bằng nghi thức TCP/IP. Nghi thức này gồm hai thành phần là


Internet Protocol (IP) và Transmission Control Protocol (TCP).
IP cắt nhỏ và đóng gói thông tin chuyển qua mạng, khi đến máy nhận thì thông tin
đó sẽ được ráp nối lại. TCP bảo đảm cho sự chính xác của thông tin được truyền đi cũng
như của thông tin được ráp nối lại, đồng thời TCP cũng sẽ yêu cầu truyền lại thông tin thất
lạc hay hư hỏng. Tùy theo thông tin lưu trữ và mục đích phục vụ mà các Server trên
Internet sẽ được phân chia thành các loại khác nhau như Web Server, Email Server hay
FTP Server. Mỗi loại server sẽ được tối ưu hóa theo mục đích sử dụng.
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
1
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
Theo quan điểm người sử dụng, Internet trông như là bao gồm một tập hợp các
chương trình ứng dụng, sử dụng những cơ sở hạ tầng của mạng để truyền tải những công
việc thông tin liên lạc. Chúng ta dùng thuật ngữ "Interoperability" để chỉ khả năng những
hệ máy tính nhiều chủng loại hợp tác lại với nhau để giải quyết vấn đề. Hầu hết người sử
dụng truy cập Internet thực hiện công việc đơn giản là chạy các chương trình ứng dụng trên
một máy tính nào đó gọi là máy Client mà không cần hiểu loại máy tính đang được truy
xuất (Server), kỹ thuật TCP/IP, cấu trúc hạ tầng mạng hay Internet ngay cả con đường
truyền dữ liệu đi qua để đến được đích của nó.Chỉ có những người lập trình mạng cần xem
TCP/IP như là một mạng và cần hiểu một vài chi tiết kỹ thuật.
Hình 1: Liên lạc trên Internet
I.1.2. INTERNET BẮT NGUỒN TỪ ĐÂU?
Internet bắt đầu từ đầu năm 1969 dưới cái tên là ARPANET (Advanced Research
Projects Agency) còn gọi là ARPA. Nó thuộc bộ quốc phòng Mỹ. Đầu tiên nó chỉ có 4 máy
được thiết kế để minh họa khả năng xây dựng mạng bằng cách dùng máy tính nằm rải rác
trong một vùng rộng.
Vào năm 1972, khi ARPANET được trình bày công khai đã được 50 trường đại học
và các viện nghiên cứu nối kết vào. Mục tiêu của ARPANET là nghiên cứu hệ thống máy
tính cho các mục đích quân sự. Mạng này thiết kế chỉ cho phép các văn thư lưu hành từ
máy tính này đến máy tính khác. Đối với chính phủ và quân đội, máy tính đã có những
công dụng rõ ràng và sâu rộng. Tuy nhiên, một trong những mối bận tâm chính yếu là tính

tin cậy vì nó có liên quan đến vấn đề sinh tử. Kế hoạch ARPANET đã đưa ra nhiều đường
nối giữa các máy tính. Điều quan trọng nhất là các máy tính có thể gởi các văn thư bởi bất
kỳ con đường khả dụng nào, thay vì chỉ qua một con đường cố định. Đây chính là nơi mà
vấn đề về giao thức đã xuất hiện.
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
2
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
I.1.3. GIAO THỨC
Giao thức hay còn gọi là nghi thức là các phương tiện để làm cho sự thông tin trở
nên khả hữu. Đầu tiên ARPANET đã đưa ra giao thức Host-to-Host Protocol, nhưng giao
thức này không đáng tin cậy và nó chỉ giới hạn trong một số máy. Vào cuối năm 1970, một
số mạng đã xuất hiện như mạng UUCP đã nối được hàng trăm máy rồi hàng ngàn máy.
Vào cuối năm 1980 mạng NSFNET của National Science Foundation được phát triển để
nối 5 trung tâm siêu máy tính của nó. Đây là một mạng hấp dẫn cho tất cả các nhà nghiên
cứu và các viện đại học cũng như các viện nghiên cứu. Năm 1972, bắt đầu thế hệ thứ hai
của giao thức mạng, đã làm phát sinh ra một nhóm giao thức được gọi là Transmission
Control Protocol/ Internet Protocol viết tắt là TCP/IP. Năm 1983, TCP/IP là bộ giao thức
cho ARPANET, TCP/IP đã trở thành một trong những giao thức mạng được dùng rộng rãi
nhất. Sau cùng tất cả các mạng được tài trợ bởi cá nhân hay xã hội: mạng ARPANET,
MILNET, UUCP, BITNET, CSNET và NASA Science Internet đã liên kết trong một mạng
khu vực NSFNET và ARPANET giải tán và ngày càng có nhiều mạng khác thêm vào...
Ngày nay để thực hiện việc truyền thông qua mạng phải thông qua trình duyệt Web
và ta cũng cần một giao thức để thực hiện công việc này. Mặc dù hiện nay cũng đang có rất
nhiều giao thức để truyền thông tin nhưng nhìn chung có hai giao thức thường được các lập
trình viên sử dụng đó là: TCP/IP (IP: là giao thức Internet, TCP: giao thức truyền tải) và
giao thức UDP (giao thức gói dữ liệu người dùng).
Giao thức TCP/IP:
Hình 2: Mô hình mạng TCP/IP.
TCP/IP là một giao thức hướng kết nối (connection) thiết lập một kết nối truyền
thông giữa địa chỉ cổng IP. Liên kết này đảm bảo việc truyền dữ liệu trên mạng là không

mất thông tin từ máy nguồn đến máy đích, các gói dữ liệu đến đích phải tuân theo đúng thứ
tự đã được gởi và các máy tính chạy trên mạng Internet truyền thông với nhau dùng các
Protocol TCP, UDP. Do đó ta sử dụng mô hình mạng TCP/IP gồm bốn lớp được mô tả
bằng hình 2.
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
3
Application Layer
Telnet, FPT, SMTP, DNS
Transport Layer
TCP/IP, UDP
Network Layer
IP
Physical Layer
EthernetX.25, Token Ring
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
 Application layer: chứa các ứng dụng mạng. Lớp này tương ứng với hai lớp trên
cùng (application và presentation layer) của mô hình OSI.
 Transport layer: cung cấp các dịch vụ truyền nhận dữ liệu giữa các quá trình với
nhau. Các quá trình này có thể trao đổi thông tin với nhau thông qua địa chỉ của máy tính
gửi/nhận và cổng thông tin. Cấp này tương ứng với hai cấp kế tiếp (session và transport
layer) của mô hình OSI.
 Network layer: đảm nhận việc xác định, tìm đường và phân phối các gói thông tin
với địa chỉ đích. Network layer trong mô hình TCP/IP tương ứng với hai lớp network và
data link của mô hình OSI.
 Physical layer: sử dụng các giao tiếp chuẩn hiện có như Enthernet, Tokenring,... để
phục vụ cho việc gởi và nhận dữ liệu.
Các máy tính trên mạng liên lạc với nhau bằng địa chỉ IP. Để gởi gói dữ liệu từ máy
nguồn tới máy đích, nó phải có một số cách nhận diện những máy này. Trên mạng được
nhận dạng bằng cách dùng một hay nhiều địa chỉ IP. Một máy tính có thể có nhiều hơn một
địa chỉ IP nếu nó có nhiều hơn một Card mạng. Các địa chỉ IP là một số 32 bit rất khó nhớ

để giải quyết việc này các nhà quản lý mạng đã chọn một hệ thống tên vùng (DNS) để quản
lý. Các địa chỉ IP được duy trì bởi một hệ thống máy phục vụ tên vùng. Các máy phục vụ
này có khả năng tìm kiếm địa chỉ IP tương ứng với tên vùng. Tuy nhiên liên lạc qua lại
giữa các máy tính chỉ là một vấn đề truyền thông tin trên mạng. Để một chương trình ứng
dụng như Mail, Chat, E-mail liên lạc với một ứng dụng khác như máy Server phục vụ thì
máy Server này phải có cách gửi dữ liệu đến các chương trình riêng bên trong một máy
tính. Địa chỉ cổng là địa chỉ 16 bit nằm bên trong một máy tính thường kết hợp với một
giao thức đặc biệt như TCP/IP, UDP. Một máy Server phải cài đặt chương trình ứng dụng
phục vụ lắng nghe các yêu cầu đến. Trong việc truyền nhận thông tin dựa trên TCP/IP, một
ứng dụng thiết lập một connection với một ứng dụng khác bằng cách gắn một socket cho
mỗi port number. Do đó sẽ không thể có hai ứng dụng dùng chung một port.
Bộ protocol TCP/IP bao gồm:
 TCP (Transmission Control Protocol): đây là loại protocol có cầu nối connection
oriented) cung cấp khả năng truyền dòng dữ liệu không lỗi, 2 chiều (full duplex) cho các
quá trình cho người sử dụng.
 UDP(User Datagram Protocol): loại protocol không thiết lập cầu nối
(connectionless) cho các quá trình của user. Không giống như TCP, nó không đảm bảo dữ
liệu khi truyền đi có đến nơi chính xác hay không.
 ICMP (Internet Control Message Protocol): protocol xử lý lỗi và điều khiển thông tin
giữa các gateway và các host.
 IP (Internet Protocol): IP là protocol cung cấp dịch vụ phân phối các package cho
TCP, UDP và ICMP.
 ARP (Address Resolution Protocol): Protocol ánh xạ 1 địa chỉ Internet thành địa chỉ
phần cứng(MAC address).
 RAPR(Address Resolution Protocol): Protocol ánh xạ một địa chỉ phần cứng thành
địa chỉ IP.
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
4
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
Mạng Internet sử dụng giao thức TCP/IP: TCP/IP được thiết kế để có thể kết nối các

thiết bị máy tính khác nhau, là ngôn ngữ chung để các hệ máy tính khác nhau có thể trao
đổi, liên lạc, chuẩn này được sử dụng rộng rãi trong hầu hết các hệ thống máy tính bởi
những đặc điểm ưu việt của nó và chức năng phụ trợ có thể cài đặt thêm vào. Mạng Internet
bao gồm rất nhiều kênh kết nối khác nhau mà các gói dữ liệu sẽ được lưu chuyển trên đó,
các kênh được giao tiếp với nhau bằng chuẩn TCP/IP. Nhờ đó tất cả các máy tính trên
mạng Internet có thể kết nối với nhau. Ngoài ra TCP cung cấp khả năng truyền không lỗi
từng gói dữ liệu gởi đi đến máy nhận, giao thức này phải có trách nhiệm thông báo và kiểm
tra xem dữ liệu có đến đủ hay chưa, có lỗi hay không có lỗi. Trước khi chuyển dữ liệu bao
giờ cũng có việc thiết lập kênh truyền giữa hai máy. Do phải duy trì mối kết nối và kiểm tra
dữ liệu nên sử dụng TCP phải đòi hỏi chiếm thêm một số tài nguyên và cách lập trình cho
giao thức này hơi khó (phải thực hiện các bước kiểm tra dữ liệu theo yêu cầu của TCP).
Truyền dữ liệu theo giao thức TCP thường áp dụng cho các dịch vụ như truyền tập tin, các
dịch vụ trực tuyến trên Internet đòi hỏi có độ chính xác cao.
Địa chỉ IP: Để có thể thực hiện truyền tin giữa các máy tính trên mạng, mỗi máy
trên mạng Internet đều có một tên riêng và một địa chỉ dạng số tương ứng gọi là địa chỉ IP.
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
5
Hình 3: Mô hình kết nối TCP/IP
Start
App
Server
Client
Create the socket
Create the server
socket
Accept New Connection
Acquire Stream and
Conduct Conversation
Acquire Stream and
Conduct Conversation

Close Stream and
Socket
Close Stream and Socket
Start
App
Continue?
yesno
Disconnect
Connect attempt
Exchange data
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
Tên được thiết kế để giúp cho việc truy cập được dễ dàng cho người sử dụng. Địa chỉ IP
dùng cho các máy tính và các thiết bị mạng liên lạc với nhau.
Tất cả các máy trong hệ thống mạng (LAN, WAN, Internet) đều có ít nhất 2 địa chỉ:
địa chỉ vật lý và địa chỉ Internet. Ðịa chỉ vật lý còn được gọi là Ethernet address là một dãy
bit gồm 48 bit được gán bởi các nhà sản xuất, địa chỉ này được biểu diễn dưới dạng số thập
lục phân (hecxa).
Như thế mỗi card mạng (interface card) có một địa chỉ duy nhất địa chỉ này được
quy định từ nhà sản xuất card mạng. Tuy nhiên địa chỉ vật lý không thể hiện khả năng xác
định vị trí của hệ thống trên mạng. Ðể giải quyết vấn đề đó người ta đưa ra địa chỉ IP(IP
Address).
Ðịa chỉ IP phải là duy nhất trên mạng và có một dạng thống nhất, mỗi địa chỉ IP
gồm có 4 byte và có 2 thành phần: địa chỉ đường mạng (Network ID) và địa chỉ host (Host
ID).
Phân loại địa chỉ IP:
Có tất cả 5 lớp địa chỉ IP nhưng hiện nay có 3 lớp được sử dụng là lớp A, B, và C.
 Lớp A: Dùng cho hệ thống mạng có số lượng địa chỉ host rất lớn, số lượng này có
thể lên đến 16 triệu địa chỉ host. Ðể có thể nhận biết địa chỉ thuộc lớp nào người ta căn cứ
vào bit đầu tiên trong phần network ID
 Lớp B: Dùng cho hệ thống mạng trung bình số lượng Host ID lên đến khoảng 65

ngàn. Ðịa chỉ lớp B được nhận biết qua bit đầu tiên trong phần Network ID bit đầu tiên có
giá trị 1. Phần Network ID có 16 bit và phần Host ID có 16 bit.
 Lớp C: Ðịa chỉ lớp C dùng cho mạng nhỏ có số lượng máy không vượt quá 254 máy.
Có thể nhận biết địa chỉ lớp C thông qua 2 bit đầu tiên trong phần Network ID, hai bit này
được bật lên 1.
I.1.4. CÁC DỊCH VỤ KẾT NỐI ĐẾN INTERNET
Muốn truy nhập Internet bạn phải đăng ký kết nối. Có nhiều phương pháp để có thể
đăng ký kết nối. Ba phương pháp phổ biến nhất hiện nay là: Dịch vụ trực tuyến, nhà cung
cấp dịch vụ Internet (ISP) và truy cập trực tuyến.
a. Dịch vụ trực tuyến (online service)
Là một doanh nghiệp: như AOL, CompuServe, Microsoft Network (MSN),...cung
cấp nhiều dịch vụ truyền thông, trong đó có truy cập Internet. Khi sử dụng dịch vụ trực
tuyến, bạn chạy chương trình kết nối của họ để đăng nhập dịch vụ do họ cung cấp, đến lúc
kết nối để chạy Internet Explorer. Dịch vụ trực tuyến thu cước phí hàng tháng (chưa áp
dụng cho người ở Việt Nam).
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
6
Network
ID
Host ID
32 bits(4 byte)
Địa chỉ IP
Class ID
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
b. Nhà cung cấp dịch vụ Internet (ISP)
Là một công ty nhỏ hơn, chuyên dụng hơn, cung cấp tùy chọn không nhiều bằng dịch
vụ trực tuyến. ISP cho phép truy nhập Internet theo giờ với cước phí thấp hoặc truy cập
không giới hạn với cước phí cao hơn. Họ còn cấp cho khách một tài khoản E-mail. Ở Việt
Nam hiện có ba dịch vụ ISP đang hoạt động: VNN, FTP và NetNam.
c. Truy nhập trực tuyến (direct access)

Khả dụng ở nhiều học viện giáo dục hoặc công ty lớn. Thay vì sử dụng Modem, những
tổ chức này thuê bao một đường truyền chuyên dụng để cung cấp truy nhập Internet 24/24
giờ.
I.2. CÁC DỊCH VỤ THÔNG TIN TRÊN INTERNET
I.2.1. DỊCH VỤ MIỀN (DNS: Domain Name System)
Việc định danh các phần tử của liên mạng bằng các con số như trong địa chỉ IP rõ
ràng là không làm cho người sử dụng hài lòng, bởi chúng khó nhớ, dễ nhầm lẫn. Vì thế
người ta đã xây dựng hệ thống đặt tên (name) cho các phần tử của Internet, cho phép người
sử dụng chỉ cần nhớ đến các tên chứ không cần nhớ đến các địa chỉ IP nữa. Ta có thể biết
thêm thông tin cách hoạt động của dịch vụ này thông qua RFC 1035.
Hệ thống này được gọi là DNS (Domain Name System). Ðây là một phương pháp
quản lý các tên bằng cách giao trách nhiệm phân cấp cho các nhóm tên. Mỗi cấp trong hệ
thống được gọi là một miền (domain), các miền được tách nhau bởi dấu chấm. Số lượng
domain trong một tên có thể thay đổi nhưng thường có nhiều nhất là 5 domain. Domain có
dạng tổng quát là local-part@domain-name.
trong đó :
+ Local-part thường là tên của một người sử dụng hay nhóm người sử dụng do
người quản lý mạng nội bộ qui định.
+ Còn domain-name được gán bởi các Trung tâm thông tin mạng (NIC) các cấp.
Domain cấp cao nhất là cấp quốc gia, mỗi quốc gia được gán một tên miền riêng biệt gồm
hai chữ cái. Ví dụ vn (Việt Nam), us (Mỹ), ca (Canada), fr (Pháp), v.v...Trong từng quốc
gia lại được chia thành 6 domain cao nhất và tiếp tục đi xuống các cấp thấp hơn.
Domain Phạm vi sử dụng
gov các tổ chức chính phủ (phi quân sự)
edu các cơ sở giáo dục
com các tổ chức kinh doanh, thương mại
mil các tổ chức quân sự
org các tổ chức khác
net các tài nguyên mạng
I.2.2. ĐĂNG NHẬP TỪ XA (TELNET)

Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
7
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
Là một chương trình dùng giao thức Telnet. Nó là một phần của bộ giao thức
TCP/IP. Nó cho phép người sử dụng từ một trạm làm việc của mình có thể đăng nhập vào
một mạng ở xa qua mạng và làm việc với hệ thống y như một trạm cuối, nói trực tiếp với
trạm ở xa đó. Telnet là một giao thức tương đối đơn giản so với các chương trình phỏng tạo
của trạm cuối phức tạp hiện nay.
Máy tính ở xa, còn được gọi là Telnet, sẽ chấp nhận nối kết Telnet từ một máy tính
trên một hệ thống TCP/IP. Bởi vì Internet là một mạng TCP/IP, Telnet sẽ làm việc một
cách hài hoà giữa các máy tính nối đến nó nếu như dịch vụ Telnet được cài đặt trên máy
tính của bạn. Các thành phần Telnet và Server thỏa thuận trong cách mà chúng sẽ dùng kết
nối. Vì thế mặc dù các hệ thống không cùng loại chúng vẫn tìm thấy một ngôn ngữ chung.
Telnet cũng có những giới hạn của nó, nếu lưu thông trên mạng kết nối từ xa có thể khiến
cho sự cập nhật từ màn hình trở nên chậm hơn. Telnet thường dùng cho các mục đích công
cộng và thương mại, cho phép những người dùng ở xa tìm kiếm các cơ sở dữ liệu lớn, phức
tạp và nó cũng là nguồn tài nguyên có giá trị trong giáo dục giúp cho việc nghiên cứu của
bạn trở nên hấp dẫn hơn.
Ðể khởi động Telnet, từ trạm làm việc của mình người sử dụng chỉ việc gõ:

I.2.3. TRUYỀN TỆP (FTP: File Transfer Protocol)
Là dịch vụ truyền tập tin (tệp) trên Internet. FTP cho phép dịch chuyển tập tin từ
trạm này sang trạm khác, bất kể trạm đó ở đâu và sử dụng hệ điều hành gì, chỉ cần chúng
đều được nối với Internet và có cài đặt FTP. FTP là một chương trình phức tạp vì có nhiều
cách khác nhau để xử lý tập tin và cấu trúc tập tin và cũng có nhiều cách lưu trữ tập tin
khác nhau. Để khởi tạo FTP từ trạm làm việc của mình người sử dụng chỉ gõ:
FTP<domain name or IP address>
FTP sẽ thiết lập liên kết các trạm xa và bạn sẽ đăng nhập vào hệ thống
(login/password). Vì FTP cho phép truyền tập tin theo cả hai chiều. Để chuyển tập tin của
mình đến trạm ở xa dùng lệnh put và ngược lại dùng lệnh get để lấy thông tin về. Ngoài ra

trong một số trường hợp nó có thể đổi tên, tạo, xoá thư mục….FTP Client sử dụng dịch vụ
để lấy (get) các tập tin từ FTP Server về máy của mình (download) hoặc gởi (put) các tập
tin lên FTP server (upload).
FTP theo nghĩa tiếng việt là nghi thức truyền tập tin giữa các máy tính này đến máy
tính khác thông qua mạng. Nếu như nghi thức TCP/IP gồm có các lớp Application, TCP,
IP, Network, Datalink và Physical thì FTP thuộc lớp ứng dụng (Application).
WWW là một dịch vụ hấp dẫn, nó thay thế hầu hết những chức năng của FTP. Tuy
nhiên chỉ có FTP mới cho phép sao chép tập tin từ máy tính Client đến Server. Nếu một
người dùng từ xa muốn làm điều này thì chắc chắn họ phải dùng FTP. Những loại tập tin có
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
8
telnet <domain-name or IP-address>
ftp>put source-file destination-file
ftp>get source-file destination-
file
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
thể truyền được bằng FTP rất phong phú, từ các tập tin tư liệu (Document) cho đến các tập
tin Multimedia như tập tin hình ảnh, âm thanh.
I.2.4. THƯ ĐIỆN TỬ (Electronic Mail)
Là dịch vụ được sử dụng nhiều nhất và có hiệu quả nhất. Người gởi chỉ cần soạn
thảo thư (giống như soạn thảo văn bản). Khai báo địa chỉ E-mail của người nhận trên
Internet rồi thực hiện một số thao tác theo mẫu hướng dẫn. Bức thư điện được chuyển đi
và cuối cùng lưu trữ trong máy của người nhận. Người nhận cũng chỉ thực hiện một số thao
tác đơn giản để lấy thư, đọc thư và nếu cần thì cho in ra. Cách liên lạc này thuận tiện hơn
nhiều so với gởi thư thông thường qua bức điện hoặc Fax, lại rẻ và nhanh hơn. Cách thực
hiện việc chuyển thư không cần phải kết nối trực tiếp với nhau để chuyển thư, thư có thể
được chuyển từ máy này đến máy khác cho tới máy đích. Giao thức truyền thống sử dụng
cho hệ thống thư điện tử của Internet là SMTP (Simple Mail Transfer Protocol). Cơ chế
hoạt động của thư điện tử (E-mail):
Hình 4: Sơ đồ hoạt động của mạng E-mail

Giao thức SMTP (Single Message Transfer Protocol) đặt tả trong hai chuẩn là trong
RFC 822 (định nghĩa cấu trúc của thư ) và RFC 821(đặt tả giao thức trao đổi thư giữa hai
mạng). Là giao thức cơ bản để chuyển thư giữa các máy Client, SMTP có một bộ gởi thư,
một bộ nhận thư và một tập hợp lệnh dùng để gởi thư từ người gởi đến người nhận.
Cứ mỗi trạm E-mail thường bao gồm hai dịch vụ: POP3 (Post Office Protocol
Version 3) có nhiệm vụ nhận/trả thư từ/tới e-mail client và dịch vụ SMTP (Simple E-mail
Transfer Protocol) có nhiệm vụ nhận/phân phối thư từ/đến POP3 đồng thời trao đổi thư với
các trạm e-mail trung gian.
Mỗi người dùng đều phải kết nối với một E-mail Server gần nhất (đóng vai trò bưu
cục địa phương) phải có một tên (E-mail account) trên một trạm E-mail và sử dụng chương
trình E-mail client (ví dụ như Eudora, Netscape...). Sau khi soạn thảo xong thư và đề rõ địa
chỉ đích (người nhận) rồi gửi thư tới E-mail Server của mình. E-mail Server này có nhiệm
vụ sẽ tự động kiểm tra và định hướng chuyển thư tới đích hoặc chuyển thư tới một E-mail
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
9
Trạm E-mail 1 Trạm E-mail 2 Trạm E-mail N
SMTP
Service
POP3 Service
SMTP
Service
POP3 Service
SMTP
Service
POP3 Service
E-mail Client E-mail Client E-mail Client
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
Server trung gian khác. Thư chuyển tới E-mail Server của người nhận và được lưu ở đó.
Đến khi người nhận thiết lập tới một cuộc kết nối tới E-mai Server đó thì thư sẽ chuyển về
máy người nhận, nếu không thì thư vẩn tiếp tục giữ lại ở Server đảm bảo không bị mất.

Phần khác của ứng dụng thư điện tử là cho phép người sử dụng đính kèm
(attachments) theo thư một tập tin bất kỳ (có thể dạng nhị phân chẳng hạn chương trình
chạy). E-mail đã và đang hết sức thành công đến nỗi những người sử dụng Internet phục
vụ dùng nó đối với hầu hết các trao đổi của họ. Một lý do làm E-mail Internet phổ biến là
vì việc thiết kế nó rất cẩn thận: giao thức làm cho việc "phát thư" có độ tin cậy cao. Không
chỉ hệ thống thư tín trên máy của người gởi tương tác trực tiếp trên máy của người nhận
mà giao thức còn đặt tả một thông điệp không thể bị xoá bởi người gởi cho đến khi người
nhận đã thật sự có một phiên bản của thông điệp trên bộ lưu trữ (đĩa cứng chẳng hạn) của
họ.
Như vậy để gởi/nhận thư người sử dụng chỉ cần quan tâm tới cách sử dụng chương
trình E-mail Client. Hiện nay có nhiều chương trình E-mail Client như Microsoft Outlook
Express, Eudora Pro, Peagasus mail,....
I.2.5. TÌM KIẾM TỆP (Archie)
Phát triển tại đại học McGill ở Canada, Archie là một loại thư viện khổng lồ sẽ tự
động và đều đặn tạo ra một số lớn các thông tin gởi đến máy chủ trên Internet và lập chỉ
mục các tập tin của chúng để tạo ra một cơ sở dữ liệu duy nhất có thể tìm kiếm được.
CSDL này còn là mục lục của dữ liệu danh mục, một sự biên dịch các tập tin có sẵn trên
mọi máy chủ. Archie quét qua các máy chủ Internet một cách thường xuyên, và CSDL này
thường xuyên được cập nhật. Thực sự thì Archie không phải là một hệ thống độc lập, thay
vì vậy nó là một nhóm các máy chủ. Mỗi máy chủ Archie đáp ứng cho sự tra hỏi các máy
chủ Internet của chính nó để tạo nên cơ sở dữ liệu cho chính nó.
I.2.6. GOPHER
Hệ thống Gopher phát triển bởi đại học Minnesota và được miễn phí cho các hoạt
động phi lợi nhuận. Gopher có thể được dùng trên một số hệ thống máy tính như: UNIX,
DOS, Microsoft Windows, Macintosh, OS/2...Phần mềm Client chạy trên máy tính của bạn
có thể chạy trên bất kỳ máy nào của Gopher. Với Gopher bạn có thể đi xuyên qua Internet
và đi đến những nơi mà không có người dùng nào đã từng đi đến, cách mà nó thực hiện bởi
tổng hợp các công cụ Internet như: Telnet, FTP để khi bạn tìm ra một đề mục tương quan
đến những gì bạn đang tìm kiếm, bạn có thể đi trực tiếp đến nó mà không cần một trình tiện
ích, hãy nhập vào địa chỉ của mục tiêu việc tìm kiếm....Gopher sẽ lấy tất cả điều này cho

bạn.
I.2.7. TÌM KIẾM THÔNG TIN THEO CHỈ SỐ (WAIS)
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
10
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
WAIS - Wide Area Information Server: nó là một trong những chương trình đầu tiên
dựa vào tiêu chuẩn Z39.50( tiêu chuẩn của American National Standard). Nó là hệ thống
đầu tiên dùng tiêu chuẩn này, nó trở thành một dạng thức tìm kiếm phổ biến, WAIS có thể
nối đến bất kỳ CSDL hoặc máy Client có dùng Z39.50. WAIS cho phép truy tìm kiếm và
truy nhập thông tin trên mạng mà không cần biết chúng đang thực sự nằm ở đâu. WAIS
cung hoạt động theo mô hình client/server. Ngoài ra còn có WAIS Indexer thực hiện việc
cập nhật dữ liệu mới, sắp xếp theo chỉ số để tiện tìm kiếm. Nó không chỉ cho phép hiển thị
tập tin văn bản mà còn những tập tin đồ họa. Nó là nguồn quan trọng giúp cho các nguồn
thông tin trên Internet có thể truy xuất được.
I.2.8. TÌM KIẾM THÔNG TIN DỰA TRÊN SIÊU VĂN BẢN (WWW: World
Wide Web)
Là dịch vụ thông tin mới nhất và hấp dẫn nhất trên Internet. Nó ra đời năm 1989 và
ngày nay nó cấu thành phần lớn nhất của Internet hiện nay dựa trên kỹ thuật biểu diễn
thông tin gọi là siêu văn bản, trong đó các từ được chọn trong văn bản có thể được mở rộng
bất cứ lúc nào để cung cấp đầy đủ hơn thông tin về từ đó. Sự mở rộng ở đây theo nghĩa là
chúng có thể liên kết tới các tài liệu khác: văn bản, hình ảnh, âm thanh hay hỗn hợp các
loại….có chứa thông tin bổ sung. Nói cách khác World Wide Web là phần đồ họa của
Internet. Lúc đầu, Internet là hệ thống truyền thông dựa trên văn bản, việc liên kết với
những site khác có nghĩa là phải gõ những địa chỉ mã hóa với độ chính xác 100%. Công
nghệ World Wide Web xuất hiện như là một vị cứu tinh. Khả năng đặt hình ảnh lên Web
Site bất ngờ làm cho thông tin trên Web trở nên hấp dẫn hơn, lôi cuốn hơn. Ngoài ra HTTP
(Hypertext Transfer Protocol) cho phép trang Web kết nối với nhau qua các siêu liên kết
(hyperlink). Nhờ vậy mà người dùng dễ dàng "nhảy" qua các Web site nằm ở hai đầu trái
đất, World Wide Web chỉ là một phần cấu thành nên Internet ngoài ra còn có rất nhiều
thành phần khác như: E-mail, Gopher, Telnet, Usenet...

Web site là gì?
Web hình thành từ hàng triệu Web site trên Internet. Web site là tập hợp trang Web
do cá nhân hoặc công ty đăng ký hiển thị trên Web. Một Web site tiêu biểu thường gồm
nhiều trang Web, bắt đầu bằng trang chủ (home page), liệt kê nội dung của Site. Một Web
site tiêu biểu còn chứa siêu liên kết dẫn đến những trang Web còn lại trong phạm vi site và
đến các web site khác. Các Web site có thể chỉ gồm một trang do cá nhân tạo thành hoặc là
một sản phẩm của công ty và chứa vài trăm trang. Mỗi trang Web có một địa chỉ Internet
không trùng lặp gọi là URL (Uniform Resource Locator). Bạn có thể tạo một Web site bằng
HTML (Hypertext Markup Language), DHTML, XML...
HTML là ngôn ngữ lập trình cho phép mọi máy tính kết nối với Web để truy cập và
xem trang Web, định hướng di chuyển qua chúng bằng siêu liên kết. Web site được các
máy tính - gọi là máy phục vụ Web (Web Server) - gởi lên Web. Máy phục vụ và máy tính
cho phép các máy khách truy cập trên mạng. Máy phục vụ thường chia sẻ tập tin với máy
khách nào đăng nhập nó. Máy phục vụ Web sử dụng phần mềm máy phục vụ HTTP để
cung cấp tài liệu HTML khi nhận được yêu cầu từ chương trình trên máy khách kết nối với
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
11
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
Web, chẳng hạn như trình duyệt Web. Trình duyệt Web (Web Brower) là chương trình cho
phép bạn định vị, yêu cầu và hiển thị tài liệu trên World Wide Web.
Cơ chế hoạt động của Web server
 Máy server Web dùng giao thức HTTP để lấy tài nguyên Web xác định thông qua
URL. HTTP là một giao thức mức ứng dụng được thiết kế sao cho truy cập tài nguyên
Web nhanh chóng và hiệu quả. Giao thức này dựa vào mô hình request-reponse. Dịch vụ
Web xây dựng theo mô hình client/server, trong đó Web browser đóng vai trò là Client gởi
các yêu cầu dưới dạng URL đến Web server. Web server trả lời bằng cách trả về một trang
HTML (Hypertext Markup Language).
 Trang HTML có thể là một trang tĩnh, tức là nội dung của nó đã có dạng xác định và
được lưu trên Web site hoặc một trang Web động (nội dung không xác định trước) mà
Server tạo ra tại thời điểm Client yêu cầu để trả lời cho yêu cầu của Client hoặc một trang

liệt kê các tập tin và thư mục trên Web site.
 Mỗi trang trênIntranet hoặc trên Internet có một URL (Uniform Resource Location)
duy nhất định vị chúng. Web browser yêu cầu một trang bằng cách gửi một URL đến một
Web server. Web server sẽ dùng các thông tin trong URL để định vị và tổ chức một trang
HTML để gửi về cho Web browser.
 Một chuỗi URL nói chung có dạng sau:
<protocol>://<domain_name of Server>/<path>
Trong đó:
 Tiền tố <protocol> chỉ ra giao thức được sử dụng cho dịch vụ. Ví dụ giao thức
HTTP (Hypertext Transport Protocol) được dùng cho dịch vụ Web, giao thức FTP,
gopher,...
 <domain_name of Server> là tên DNS (Domain Name System) của máy Web
server.
 <path> là đường dẫn đến thông tin được yêu cầu trên Server.
 Web server sẽ trả một trang HTML về cho Web browser, các trang HTML thuộc một
trong 3 kiểu sau:
 Trang Web tĩnh (Static webpage): là những trang HTML được chuẩn bị sẵn. Web
server chỉ đơn giản là lấy trang này gởi về cho Web browser mà không gọi thi hành một
chương trình hay một script nào khác. Người dùng yêu cầu một trang Web tĩnh bằng cách
nhập vào một chuỗi URL hoặc click chuột vào một siêu liên kết trỏ tới URL.
 Trang Web động (Dynamic web page): là những trang Web được tạo ra tại thời điểm
Client gửi yêu cầu để đáp ứng yêu cầu của người sử dụng máy Server có thể sẽ gọi chạy
một chương trình khác, sử dụng các API của Server, các ngôn ngữ kịch bản CGI script,
query cơ sở dữ liệu ... tùy theo các thông tin mà Web browser cung cấp.
 Danh sách liệt kê (Directory listing): Nếu user gửi yêu cầu mà không mô tả một tập
tin cụ thể, thì có thể tạo một trang mặc nhiên cho Web site hay cho một thư mục hoặc cấu
hình Server cho phép duyệt thư mục. Nếu sử dụng trang HTML mặc nhiên cho thư mục thì
trang này sẽ được gửi cho Web browser, còn nếu không có thì một Directory listing (phiên
bản HTML của Windows Explorer hay File Manager chạy trên trình duyệt) được trả về cho
người sử dụng dưới dạng một trang HTML, trong đó mỗi tập tin và thư mục thể hiện như

Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
12
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
một siêu liên kết. Sau đó người sử dụng có thể nhảy đến một file bất kỳ bằng cách click vào
siêu liên kết tương ứng trong Directory listing.
I.2.9. DỊCH VỤ CHAT
Chat là tài nguyên được mọi người sử dụng trên Internet ưa chuộng nhất. Nó cho
phép bạn thiết lập các cuộc đối thoại thông qua máy vi tính với người dùng khác trên
Internet. Sau khi bạn đã thiết lập được hệ thống này, những gì bạn gõ trên máy tính của bạn
gần như tức thời được gởi đến máy tính kia và ngược lại. Những cuộc trao đổi thông qua
chương trình Chat là sự đối thoại giữa hai người với nhau thông qua ngôn ngữ viết nên sẽ
chậm hơn so với đối thoại trực tiếp bằng lời nói nhưng có lợi ích nhất là với những người
không cùng ngôn ngữ vì gõ-đọc dễ hơn nghe-nói và trong một số trường hợp khác thì gõ
(viết) dễ hơn là nói.
I.2.10. INTERNET PHONE
Internet phone là một dịch vụ mới được phát triển tại Việt Nam, nó cho phép người
dùng máy tính có kết nối Internet và được trang bị card âm thanh, microphone để đàm thoại
với người dùng máy điện thoại ở bất cứ nơi đâu.
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
13
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
Chương II. TÌM HIỂU CƠ SỞ DỮ LIỆU ORACLE
II.1. TỔNG QUAN VỀ ORACLE
II.1.1. ORACLE LÀ GÌ?
Oracle là một hệ quản trị cơ sở dữ liệu quan hệ client/server. Để đi sâu vào nghiên
cứu cơ sở dữ liệu Oracle cần có một số khái niệm cơ bản về hệ quản trị cơ sở dữ liệu
quan hệ.
1. Hệ quản trị cơ sở dữ liệu quan hệ. (RDBMS Relation Database
Management system)
Mỗi cơ sở dữ liệu quan hệ là một tập hợp dữ liệu được tổ chức trong những bảng

hai chiều có quan hệ với nhau. Mỗi bảng bao gồm các cột có tên và các hàng. Mỗi cột là
một thuộc tính của quan hệ, mỗi hàng là một bộ (tuple) các giá trị của những thuộc tính của
quan hệ.
Một RDBMS có nhiêm vụ:
 Lưu trữ và tạo dữ liệu sẵn có trong các bảng.
 Duy trì quan hệ giữa các bảng trong cơ sở dữ liệu.
 Bảo đảm tích hợp dữ liệu bằng cách tạo các qui tắc quản lý giá trị dữ liệu.
 Khôi phục mọi dữ liệu trong trường hợp hệ thống có sự cố.
2. Kiến trúc client / server
- Client là một thành phần của hệ thống yêu cầu dịch vụ hoặc tài nguyên từ những
thành phần hệ thống khác.
- Server là một thành phần của hệ thống cung cấp dịch vụ hoặc tài nguyên cho
những thành phần hệ thống khác.
3. Các yếu tố của một client / server data based system
 Server:
Một tập hợp các mục dữ liệu và đối tượng trợ giúp được tổ chức và trình bày để
thuận tiện phục vụ như: tìm kiếm, sắp thứ tự, khôi phục, cập nhật và phân tích dữ liệu.
CSDL bao gồm bộ nhớ dữ liệu vật lý và các dịch vụ CSDL. Mọi dữ liệu đều được truy cập
qua hệ phục vụ, không bao giờ được truy xuất trực tiếp.
 Client:
Một chương trình có thể tác động qua lại với con người hoặc một quá trình tự
động. Nó bao gồm tất cả những phần mềm có liên quan đến server, yêu cầu dữ liệu từ
CSDL hoặc gửi dữ liệu đến CSDL.
Truyền nhận giữa client và server:
 Sự truyền nhận này phụ thuộc nhiều vào client và server thực thi như thế nào.
Mọi sự thực thi hệ thống CSDL đều thuộc một trong ba loại sau:
 File_based system:
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
14
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang

Các hệ thống này dùng ứng dụng truy xuất trực tiếp các file dữ liệu trên một đĩa
cứng cục bộ hoặc một hệ phục vụ file mạng. Các hệ thống này thực hiện các dịch vụ CSDL
và truyền nhận logic như một phần của ứng dụng client. Trong việc thực thi này, ứng dụng
client đóng vai trò client và vai trò hệ phục vụ.
 Host_based system:
Hệ thống này thường dùng trong các mainframe và mini_computer. Những hệ thống
này thực thi tất cả hoặc hầu hết dịch vụ CSDL và chức năng của client trên một máy tính
trung tâm lớn. Người dùng xem và tác động đến ứng dụng client bằng cách dùng một thiết
bị đầu cuối từ xa. Truyền nhận giữa client và CSDL thực thi thực hiện trên một host
computer và host computer đóng vai trò của client và server.
 Client / server system:
Hệ thống này được thiết kế từ dịch vụ CSDL riêng lẻ đến client bằng cách cho phép
truyền nhận giữa chúng là mở và linh hoạt hơn.
 Dịch vụ CSDL được thực thi trên một máy tính mạnh, cho phép quản trị tập
trung, bảo mật và dùng chung tài nguyên. Do đó, hệ phục vụ trong client / server là CSDL
và hệ phục vụ của chính nó. Những ứng dụng client được thực thi trên các nền khác nhau
bằng cách dùng nhiều công cụ khác nhau. Quá trình này cho phép linh hoạt hơn và các ứng
dụng của người sử dụng có tính chất rất cao.
Hiện nay, nhiều tổ chức kết hợp sử dụng cả ba hệ thống này. Ưu, nhược điểm của
chúng có thể được tóm tắt qua bảng sau:
Đặc điểm File_based Host_based Client / Server
Giá cả Rẻ Đắt Biến động
Độ tin cậy Kém Cao Từ trung bình đến tốt
Tính bảo mật Kém Tốt Từ trung bình đến tốt
Phát triển ứng dụng Đòi hỏi kỷ năng
Phải có nhân viên
lành nghề
Phải có nhân viên
lành nghề
CSDL Trung bình(~ 50MB) Rất lớn(hàng GB) Rất lớn (hàng GB)

Quản trị tập trung Minimal Excellent Excellent
Giao diện với
người sử dụng
Rất linh hoạt Không linh hoạt Linh hoạt
Sử dụng mạng Không hiệu quả Hiệu quả Có thể hiệu quả
Vendor look_in
Từ thấp đến trung
bình
Cao Trung bình
4. SQL
SQL (Structured Query Language) - Ngôn ngữ truy vấn có cấu trúc là phương tiện
chính để làm việc với cơ sở dữ liệu Oracle.
5. PL/SQL
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
15
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
Trong Oracle có một ngôn ngữ đặc biệt cho phép kết hợp ngôn ngữ thủ tục truyền
thống với sự truy xuất các đối tượng cơ sở dữ liệu thông qua ngôn ngữ SQL, đó là ngôn
ngữ PL/SQL.
II.1.2. MỘT SỐ CÔNG CỤ CỦA ORACLE
Oracle cung cấp cho các nhà lập trình rất nhiều công cụ lập trình phát triển ứng dụng
liên quan đến cơ sở dữ liệu và phát triển Internet. Trong phiên bản Oracle 8i có khoảng 150
công cụ chạy trên các môi trường hệ điều hành khác nhau, các công cụ hỗ trợ giao tiếp cho
các CSDL từ xa, phát triển ứng dụng CSDL từ xa thông qua môi trường Internet,…Một số
công cụ dùng để phát triển thông dụng nhất như:
Oracle8i Enterprise Edition 8i.
SQL * Plus 8.0: Một phần mềm giao tiếp kiểu dòng lệnh, cho phép tương tác với
Oracle thông qua hai ngôn ngữ SQL và PL/SQL.
Oracle Net8 : Một phần mềm kết nối CSDL dùng để cung cấp các thông tin CSDL
xác thực, tối ưu trên mọi thủ tục mạng thông dụng.

Oracle Enterprise Manager: Một phần mềm có giao diện rất tốt hỗ trợ cho việc quản lý
các đối tượng của cơ sở dữ liệu Oracle.
Develper 6.0, Developer/2000, Jdeveloper for Oracle 8i: gồm Oracle Form Builder,
Oracle Report Builder, Oracle Procedure Builder, Oracle Project Builder được tích hợp vào
môi trường phát triển.
Designer 2000: phát triển các ứng dụng Oracle.
Power Object: cung cấp môi trường phát triển ứng dụng nhanh với các đặc trưng kéo
thả và quản lý CSDL.
Oracle Names: Tạo các liên kết CSDL chứa các thông tin nút mạng trên một mạng
bằng cách sử dụng từ điển toàn cục chung Oracle Names.
Multi-protocol Interchange: cung cấp một nhu cầu giao tiếp trên các thủ tục khác biệt
bằng cách gửi thông điệp SQL* Net từ thủ tục này sang thủ tục khác.
Oracle Network Manager: Quản lý cấu hình và quản lý mạng CSDL phân tán được
thực hiện dễ dàng với Network Manager. Network Manager được sử dụng không chỉ để
quản lý từ điển Oracle Names mà còn tạo ra các file cấu hình cho các thành phần
Client/Server của SQL*Net và định nghĩa cho các đường kết nối cho các nút Multi-Protocol
Interchange.
II.2. GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU ORACLE
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
16
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
II.2.1. LỚP VẬT LÝ VÀ LỚP LOGIC CỦA CSDL ORACLE
CSDL Oracle gồm có hai lớp: lớp vật lý và lớp logic.
a. Lớp vật lý
 Lớp vật lý của CSDL Oracle là một số tập tin nằm trên đĩa. Vị trí vật lý của những
tập tin này không liên quan đến chức năng của CSDL nhưng có thể liên quan đến hiệu năng
của CSDL. Dữ liệu trong những tập tin này thường được truy xuất bởi các công cụ của
Oracle thông qua ngôn ngữ truy vấn có cấu trúc SQL.
 Lớp vật lý bao gồm ba loại tập tin: các tập tin dữ liệu (data file), các tập tin điều
khiển (control file) và các tập tin phuc hồi (Redo log files).

 Data files: đây là các tập tin quan trọng nhất trong ba loại tập tin và là nơi chứa dữ
liệu thật sự của CSDL. Các tập tin dữ liệu có kích thước lớn từ vài megabytes đến hàng
gigabytes. Chúng lưu trữ các thông tin chứa trong CSDL. Một CSDL nhỏ có thể có vài tập
tin dữ liệu và có hàng trăm tập tin dữ liệu cho những CSDL lớn. Phân bố lưu trữ thông tin
trên nhiều tập tin dữ liệu có thể làm tăng hiệu năng cho CSDL. Số tập tin dữ liệu có thể
được giới hạn bằng tham số MAXDATAFILES khi tạo ra một CSDL mới.
 Control files: một CSDL cần có một hay nhiều tập tin điều khiển, các tập tin điều
khiển lưu trữ thông tin cấu trúc của CSDL.
 Redo log files: là các tập tin được sử dụng để lưu giữ các thông tin ban đầu và toàn
bộ quá trình thay đổi của CSDL sau khi nó được tạo ra, phục vụ cho mục đích phục hồi lại
CSDL trong trường hợp hệ thống bị sự cố.
b. Lớp logic
Lớp logic của Oracle gồm các nguyên tố sau:
 Một hay nhiều không gian bảng (tablespace).
 Các schame cơ sở dữ liệu gồm các đối tượng như table, view, index, cluster, stored
procedure, trigger, sequence, …
 Mỗi schame CSDL thuộc sở hữu một user được xác định bởi một username và
password duy nhất đối với CSDL. Sau khi đăng nhập vào CSDL với username và password
hợp lệ user có thể thao tác trên CSDL với quyền được cấp phát cho user đó ở cấp độ nào.
Không gian bảng là một khái niệm trừu tượng, vậy không gian bảng có liên quan
như thế nào đến CSDL và các tập tin dữ liệu.
II.2.2. TABLESPACE VÀ CÁC TẬP TIN DỮ LIỆU
CSDL được chia thành một hay nhiều mẩu logic gọi là không gian bảng (tablespace).
Một tablespace bao gồm một hay nhiều tập tin dữ liệu vật lý, việc phân bố nhiều hơn một
tập tin dữ liệu trên một tablespace, có thể phân bổ dữ liệu trên nhiều đĩa vật lý khác nhau để
phân tán truy xuất vào ra và cải thiện khả năng thi hành.
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
17
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
Khi tạo ra một CSDL, Oracle tự động tạo ra một tablespace SYSTEM, tablespace này

là nơi chứa tự điển dữ liệu. Tự điển dữ liệu chứa thông tin về các table, index, cluster,…
Tablespace SYSTEM là vị trí mặc định của tất cả các đối tượng khi một CSDL được tạo ra.
Thông thường, người ta tạo nhiều tablespace để phân hóa các đối tượng khác nhau
của CSDL đồng thời dành riêng tablespace SYSTEM cho từ điển dữ liệu, đây cũng là một
phương pháp hữu hiệu để bảo đảm cơ sở dữ liệu luôn khỏe mạnh.
Có thể mở rộng không gian một CSDL theo 3 cách sau:
Thêm một tập tin dữ liệu vào một tablespace.
Cú pháp:
ALTER TABLESPACE TABLESPACE_NAME ADD DATAFILE
‘DATAFILE.ORA’;
Thêm một tablespace mới.
Cú pháp:
CREATE TABLESPACE TABLESPACE_NAME DATAFILE ‘DATAFILE.ORA’;
Tăng kích thước tập tin dữ liệu.
ALTER DATABASE DATAFILE ‘DATAFILE.ORA’ AUTOEXTENT ON NEXT
MIN_NUMBER MB MAXSIZE MAX_NUMBER MB;
Kích thước của tablespace là tổng kích thước của các tập tin dữ liệu tạo nên tablespace
và kích thước của CSDL là tổng kích thước của các tablespace trong CSDL đó.
II.2.3. SCHAME CƠ SỞ DỮ LIỆU
Một schame CSDL là một tập hợp các cấu trúc logic các đối tượng hay schame
objects. Schame objects này bao gồm tables, indexes, clusters, views, stored procedures,
database triggers and sequences.
1. Table
Một bảng là một đơn vị cơ sở lưu trữ vật lý trong CSDL Oracle, mà nó bao gồm
một tên bảng và các hàng, các cột của dữ liệu trong đó mỗi cột có một kiểu dữ liệu với
chiều dài xác định cho cột đó.
a) Tạo Table
Cú pháp:
CREATE TABLE tênbảng (tên_cột kiểu_dữ_liệu(độdài) [,…n]);
- Tạo ràng buộc khóa chính cho bảng:

Cú pháp:
CONSTRAINT <tên_constraint> PRIMARY KEY <tên_cột [,…n]>;
- Tạo ràng buộc khóa ngoại cho bảng:
Cú pháp:
CONSTRAINT <tên_constraint foreign_key> FOREIGN KEY (tên cột là khóa
chính của bảng cha) REFERENCES tên_bảng_cha(tên cột là khóa chính của bảng cha);
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
18
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
- Tạo ràng buộc unique cho cột trong bảng:
Ràng buộc unique bảo đảm không có hai hàng của một bảng dữ liệu có giá trị trùng
nhau trên cột có áp đặt ràng buộc này.
Cú pháp:
CONSTRAINT <tên_constraint_unique> UNIQUE (tên_cột);
- Tạo ràng buộc Check Condition cho cột trong bảng:
Cú pháp:
CONSTRAINT <tên_constraint_check>CHECK(tên_cột toán_tử_so_sánh giá_trị);
- Tạo ràng buộc NOT NULL cho cột trong bảng:
Thêm cụm từ NOT NULL theo sau tên cột khi tạo bảng.
Ví dụ: TênTỉnh VARCHAR2(20) NOT NULL,
b) Thêm, xóa và bổ sung độ dài dữ liệu một cột
- Thêm một cột:
Cú pháp:
ALTER TABLE tên_bảng ADD (tên_cột kiểu_dữ_liệu (độ dài));
- Xóa một cột:
ALTER TABLE tên_bảng DROP COLUMN (tên_cột);
- Bổ sung độ dài dữ liệu một cột:
ALTER TABLE tên_bảng MODIFY (tên_cột kiểu_dữ_liệu(độ dài));
c) Xóa bảng
Xóa một bảng nghĩa là hủy mọi dữ liệu của bảng và quyền sở hữu đối với bảng đó.

Cú pháp:
DROP TABLE tên_bảng;
Chú ý:
Trước khi xóa một bảng, phải hủy bỏ mọi quan hệ phụ thuộc giữa bảng và các đối
tượng khác.
2. View
View là một đối tượng CSDL nó lưu trữ một query đã định nghĩa trước. Công dụng
của view là hiển thị dữ liệu trong một hay nhiều bảng và xử lý như một bảng ảo nghĩa là có
thể nhập dữ liệu vào nhiều bảng cùng một lúc thông qua view.
a) Tạo view
Cú pháp:
CREATE VIEW tên_view AS (SELECT < tên_cột [,…n] > FROM <tên_bảng[,…n]>;
b) Xóa view
Ta có thể xóa view với cú pháp:
DROP VIEW tên_view;
3. Cluster
Cluster là một nhóm các bảng có cùng chung cột lưu trữ vật lý như một bảng để chia
sẻ cột chung cho các bảng trong nhóm đã tạo nên cluster.
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
19
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
Cluster giúp giảm nhập/xuất đĩa và cải thiện thời gian truy cập nhờ nối các bảng cluster
đồng thời cũng làm giảm không gian lưu trữ các bảng góp phần thu gọn không gian cho
CSDL.
Có thể tạo cluster theo cú pháp:
CREATE CLUSTER tên_cluster(<tên_cột kiểu_dữ_liệu(độ dài)[,…n]>);
Tương tự như các đối tượng khác của Oracle ta có thể xóa Cluster theo cú pháp:
DROP CLUSTER tên_cluster;
4. Index
Index là cấu trúc tùy chọn kết hợp với các table và các cluster. Ta có thể tạo ra các

index tường minh để tăng tốc độ thực hiện các lệnh SQL trên các bảng. Một index đơn
thuần chỉ là một đường truy xuất nhanh đến dữ liệu, nó trỏ trực tiếp vào vị trí của hàng
chứa giá trị index đó. Index độc lập về mặt logic và vật lý với dữ liệu trong các bảng kết
hợp. Ta có thể tạo ra hay xóa một index bất cứ lúc nào mà không ảnh hưởng đến bảng gốc
và các index khác.
Khi ta tạo ra các bảng với các ràng buộc khóa chính, khóa ngoại, unique thì Oracle tự
động tạo ra index tương ứng cho các bảng đó.
Có thể tạo Index theo cú pháp:
CREATE INDEX tên_index ON tên_bảng(tên_cột);
Xóa Index theo cú pháp:
DROP INDEX tên_index;
5. Sequence
Sequence là một đối tượng CSDL đặc biệt tạo ra các số nguyên theo quy luật đặc
trưng lúc sequence được tạo ra. Các sequence có thể dùng cho nhiều mục đích trong các hệ
CSDL, nhưng thường người ta dùng nó để tạo ra các khóa chính của bảng một cách tự
động.
Có nhiều quy luật tạo ra các sequence theo các từ khóa sẵn có của Oracle:
 Start with n: sequence được tạo ra với giá trị chỉ định ban đầu trong Start with khi đó
cột ảo NEXTVAL của sequence được tham trỏ.
 Increment by n: Định nghĩa số tăng của sequence mỗi lúc cột ảo NEXTVAL được
tham trỏ.
 Minvalue n: giá trị tối thiểu có thể tạo bởi sequence nếu từ khóa nominvalue chưa
được sử dụng.
 Maxvalue n: giá trị tối đa có thể tạo bởi sequence nếu từ khóa nomaxvalue chưa
được sử dụng.
 Cycle: cho phép sequence tạo lại giá trị ban đầu khi đạt đến maxvalue hay minvalue
nếu từ khóa nocycle chưa được sử dụng.
 Cache n: cho phép sequence dùng bộ nhớ cache để tăng hiệu năng, nếu từ khóa
nocache chưa được sử dụng.
 Order: cho phép gán các giá trị theo thứ tự yêu cầu, nếu không sử dụng order từ khóa

nocache có thể sử dụng .
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
20
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
6. Trigger
Trigger là một đối tượng CSDL được chạy tự động khi một sự kiện INSERT,
UPDATE, DELETE trên bảng hay view có mốc nối với trigger.
7. Stored procedure và function
Một stored procedure hay function là một đối tượng CSDL gồm một tập các lệnh
SQL hay PL/SQL tạo thành một tập tin thực thi để thực hiện một tác vụ đặc biệt nào đó.
Stored procedure và function cho phép ta kết hợp dễ dàng và linh động chức năng có
tính thủ tục với một ngôn ngữ lập trình có cấu trúc SQL.
Các procedure và các function gần như giống nhau chỉ khác là function luôn trả về
một hay nhiều giá trị, còn procedure thì không trả về giá trị nào.
II.2.4. DATA BLOCKS, EXTENTS VÀ SEGMENTS
1. Quan Hệ Giữa Segments, Extents và Data Blocks
Oracle định vị không gian CSDL logic cho tất cả dữ liệu trong một CSDL. Các đơn vị
của không gian CSDL là các data block, extent và segment.
Đơn vị không gian logic nhỏ nhất của CSDL Oracle là data block. Một data block
tương ứng với một số byte vật lý trên đĩa nhất định.
Mức kế của không gian CSDL logic gọi là extent. Một extent là một số xác định các
data block liên tục được định vị để chứa một loại thông tin xác định.
Mức lưu trữ CSDL trên extent là segment. Một segment là một tập các extent được
định vị cho một loại cấu trúc CSDL đặt biệt.
Oracle định vị các segment theo đơn vị một extent. Khi các extent đang có của một
segment đầy, Oracle định vị thêm một extent mới khác cho segment đó. Do các extent mới
được định vị thêm khi cần thiết nên các extent của một segment có thể không nằm liên tục
trên đĩa.
Một segment được lưu trữ trong một tablespace. Trong một tablespace một segment
có thể trải trên nhiều tập tin dữ liệu (datafile).

2. Data Block
Oracle quản lý không gian lưu trữ các tập tin dữ liệu của CSDL trong các đơn vị gọi
là các khối dữ liệu, một khối dữ liệu là đơn vị xuất/nhập nhỏ nhất được sử dụng trong một
CSDL. Ở mức vật lý, mức hệ điều hành tất cả dữ liệu được lưu trữ bằng byte.
3. Extent
Một extent là đơn vị không gian lưu trữ dữ liệu được tạo thành bởi một số data
block liên tục. Một hay nhiều extent tạo thành một segment. Khi không gian trong segment
đã chứa đầy Oracle định vị một extent mới cho segment.
4. Segment
Một segment là một tập các extent chứa tất cả các dữ liệu cho một cấu trúc lưu trữ
logic nhất định trong một tablespace.
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
21
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
CSDL Oracle sử dụng bốn loại segment sau:
a. Segment dữ liệu (data segment)
Mọi bảng không cluster, các patition và các cluster trong một CSDL Oracle đều có
một segment dữ liệu đơn để giữ tất cả các dữ liệu của nó. Oracle tạo ra các segment dữ liệu
khi tạo ra các bảng với lệnh CREATE.
b. Index Segment
Mọi index trong một CSDL Oracle có một segment index đơn để giữ tất cả các dữ
liệu của nó. Oracle tạo ra các segment index cho index khi ta phát lệnh CREATE INDEX.
Ta có thể chỉ định các thông số lưu trữ cho các extent của segment index vào một
tablespace chứa segment index.
c. Temporary Segment
Khi xử lý các query, Oracle thường yêu cầu không gian làm việc tạm cho các chặn
trung gian của quá trình phân tích cú pháp và thực hiện lệnh SQL. Oracle tự động định vị
không gian đĩa đó chính là các temporary segment.
d. Segment Rollback.
Một CSDL chứa một hay nhiều segment rollback. Một segment rollback ghi các giá

trị cũ của dữ liệu thay đổi bởi một chuyển tác. Các segment rollback được sử dụng để cung
cấp tính nhất quán khi đọc, phục hồi chuyển tác và phục hồi CSDL.
II.2.5. BẢO MẬT CƠ SỞ DỮ LIỆU ORACLE
Oracle cho phép truy xuất cơ sở dữ liệu bằng cách sử dụng một tên đăng nhập và
mật khẩu. Mô hình bảo mật cơ sở dữ liệu Oracle cần sự xác nhận mật khẩu của tất cả các
người sử dụng trong cơ sở dữ liệu. Sự điều khiển đối tượng cơ sở dữ liệu của một người sử
dụng có thể truy xuất, mức độ truy xuất của người sử dụng có thể có trên đối tượng và
quyền đặt các đối tượng mới vào cơ sở dữ liệu Oracle,…ở một mức cao, những sự điều
khiển này được gọi là các đặc quyền (privilege).
Các người sử dụng trong cơ sở dữ liệu Oracle được tạo ra bằng lệnh create user.
Cú pháp:
CREATE USER tên_user IDENTIFIED BY password;
a) Gán các đặc quyền hệ thống cho user
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
22
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
Các đặc quyền hệ thống cấp cho user khả năng tạo ra, biến đổi hay xóa các đối
tượng cơ sơ dữ liệu, lưu trữ dữ liệu cho ứng dụng trong Oracle. Một user muốn làm được
một điều gì đó trong CSDL Oracle thì ít nhất user đó phải có đặc quyền gọi là connect.
Có hai phân loại trong phạm vi đặc quyền hệ thống của CSDL Oracle:
- Các đặc quyền hệ thống liên quan đến việc quản lý các đối tượng. Các đối tượng
này bao gồm table, index, triger, …Ba hành động trên các đối tượng được quản lý bởi đặc
quyền hệ thống là định nghĩa hay tạo ra đối tượng, thay đổi đối tượng đã tạo hay xóa đối
tượng.
- Một đặc quyền liên quan đến khả năng một user quản lý các hoạt động toàn cục đặt
biệt. Những hoạt động này bao gồm các chức năng như giám sát hoạt động CSDL, tạo
thống kê để hỗ trợ sự tối ưu hóa dựa trên giá thành,…những hoạt động này chỉ có user có
đặc quyền restricted session là làm được.
Gán đặc quyền hệ thống được thực hiện bằng lệnh grant. Để gán một đặc quyền hệ
thống, người gán hoặc cần có đặc quyền tự gán with admin option hoặc user được gán

grant any privilege.
b) Sử dụng role để quản lý truy xuất cơ sơ dữ liệu
Khi CSDL lớn lên các đặc quyền trở nên cồng kềnh và khó quản lý. Người quản trị
hệ thống có thể đơn giản hóa việc quản lý các đặc quyền bằng cách sử dụng một đối tượng
CSDL gọi là role.
Các role hoạt động theo hai tư cách trong cơ sở dữ liệu. Đầu tiên, role có thể hoạt
động như một điểm tập trung để nhóm các đặc quyền thực hiện một số tác vụ nhất định. Tư
cách thứ hai là hoạt động như một user ảo của cơ sơ dữ liệu được cấp tất cả các đặc quyền
đối tượng yêu cầu để thực hiện một chức năng, công việc nhất định.
Để sử dụng role, cần phải có hai hành động sau xảy ra:
- Người quản trị cần phải nhóm logic các đặc quyền nhất định với nhau. Nhóm các
đặc quyền này được gán cho một role có thể được bảo vệ bằng mật khẩu.
- Người quản trị cần phải nhóm logic các user của một ứng dụng CSDL với nhau
theo nhu cầu tương tự nhau. Cuối cùng là gán các role cho các user đặc quyền tương tự
trong cơ sở dữ liệu.
Các role có thể được thay thế để hỗ trợ yêu cầu mật khẩu bằng cách sử dụng lệnh
alter role identified by. Việc xóa một role được thực hiện bằng lệnh drop role. Hai tùy chọn
này chỉ có thể thực hiện bởi những user có các đặc quyền create any role, alter any role,
drop any role hay bởi người tạo ra các role đó (owner).
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
23
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
Chương III. TÌM HIỂU NGÔN NGỮ LẬP TRÌNH PHP
III.1. PHP LÀ GÌ?
PHP là một ngôn ngữ kịch bản phía máy phục vụ, mã nguồn mở được sử dụng rộng
rãi vào các mục đích chung mà đặc biệt thích hợp cho phát triển Web và có thể nhúng vào
trang HTML.
Khi mới giới thiệu, PHP được viết tắt từ một nhóm từ tiếng Anh là Personal Home
Page và bây giờ được tái viết tắt cho cụm từ: PHP Hypertext Preprocessor. PHP được giới
thiệu vào năm 1994 bởi Rasmus Lerdorf, như một bộ sưu tập của một ngôn ngữ chưa chặt

chẽ dựa vào Perl. Đến năm 1998, phiên bản 3 của PHP được công bố, từ đây PHP mới
chính thức phát triển theo hướng tách riêng của mình. PHP trở thành ngôn ngữ lập trình có
cấu trúc và tính năng đa dạng, chính vì thế được các nhà lập trình Web ưa dùng.
Ngôn ngữ kịch bản PHP có thể nhúng vào HTML nên đây chính là điểm khác của
nó với các ngôn ngữ khác như Perl hoặc C, thay vì một chương trình được viết với nhiều
dòng lệnh để xuất ra trang HTML, bạn viết một kịch bản HTML trong đó gắn mã nguồn
PHP để làm một vài việc. Mã nguồn PHP thực hiện trên máy phục vụ và trả về máy khách
yêu cầu nó kết quả dưới dạng các trang HTML. Khối mã nguồn PHP được bao quanh giữa
các thẻ đặc biệt mà nó cho phép nhảy vào hay ra khỏi chế độ PHP.
Có thể sử dụng bốn cách tổ chức các thẻ để biểu thị các khối của mã nguồn PHP:
a) Ví dụ:
<?php echo “Cách thứ nhất”; ?>
b) Ví dụ:
<? echo “Cách thứ hai”; ?>
c) Ví dụ:
<script language = “php”>
echo “Cách thứ ba”;
</script>
d) Ví dụ:
<% echo “Cách thứ tư”; %>
Tuy nhiên cách đầu tiên được ưa chuộng và dùng phổ biến hơn.
III.2. PHP CÓ THỂ LÀM GÌ?
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
24
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang
PHP chủ yếu đặt trọng tâm trên kịch bản phía máy phục vụ vì thế bạn có thể làm bất
cứ điều gì mà các chương trình CGI khác có thể làm được, như tập hợp dữ liệu hình thức,
tạo ra nội dung các trang động hoặc gửi và nhận các cookie. Nhưng PHP có thể làm được
nhiều hơn thế. Cụ thể là kịch bản PHP có thể sử dụng trên ba nền chính sau:
 Kịch bản phía máy phục vụ: đây là nền mục tiêu chính và truyền thống nhất đại diện

cho PHP. Bạn cần phải có ba thứ để làm việc ở nền này, đó là bộ phân tích cú pháp PHP
(CGI hoặc môđun máy phục vụ), một máy phục vụ Web và một trình duyệt Web. Bạn cần
phải chạy máy phục vụ Web với một kết nối đến PHP đã được cài đặt. Bạn có thể truy cập
chương trình PHP xuất ra với trình duyệt Web để nhìn trang PHP trả về từ máy phục vụ.
 Kịch bản dòng lệnh: bạn có thể tạo một kịch bản PHP để chạy nó mà không cần bất
cứ máy phục vụ hoặc trình duyệt Web nào. Bạn chỉ cần sử dụng bộ phân tích cú pháp PHP
trong cách này.
 Viết các ứng dụng GUI phía máy khách: PHP thì không có khả năng để viết rất tốt
các ứng dụng windows nhưng nếu PHP của bạn tuyệt vời và có thể sử dụng những đặc
trưng thuận lợi của PHP trên các ứng dụng phía máy khách bạn cũng có thể sử dụng PHP-
GIK để viết các chương trình.
PHP có thể sử dụng trên tất cả các hệ điều hành chính, bao gồm Linux, nhiều hệ
Unix khác nhau, Microsoft Windows, Mac OS X, RISC OS, …PHP cũng hỗ trợ cho hầu
hết các máy phục vụ Web hiện nay như là Apache, Microsoft Internet Information Server,
Personal Web Server, … Vì thế với PHP, bạn có thể tự do chọn lựa một hệ điều hành và
một máy phục vụ Web. Hơn thế nữa, bạn cũng có thể chọn cách lập trình thủ tục hoặc lập
trình hướng đối tượng hoặc trộn lẫn cả hai.
PHP không hạn chế trong việc xuất ra trang HTML. PHP có khả năng bao gồm xuất
ra các dạng hình ảnh, các tệp PDF và thậm chí cả phim ảnh dưới dạng Flash. Bạn cũng có
thể dễ dàng xuất ra mọi kiểu văn bản như là XHTML và bất kỳ tệp XML khác. PHP có thể
tự động sinh ra các tệp dạng này và lưu chúng trong hệ thống tệp thay vì in nó ra, nội dung
động được định dạng nhanh từ phía máy phục vụ.
Một đặc trưng mạnh và quan trọng nhất trong PHP là nó hỗ trợ nhiều hệ cơ sơ dữ
liệu. Viết một trang Web cho phép cập nhật cơ sở dữ liệu thì đơn giản đến lạ thường. Các
cơ sở dữ liệu được hỗ trợ gồm: MySQL, MS-SQL, Oracle(OCI7 và OCI8), PostgreSQL,
mSQL,…PHP hỗ trợ ODBC vì thế bạn có thể kết nối bất kỳ cơ sở dữ liệu nào hổ trợ tiêu
chuẩn quốc tế này.
PHP còn hỗ trợ cho việc giao tiếp với các dịch vụ sử dụng các giao thức như là
POP3, HTTP, COM, SNMP, NNTP,…
Khi sử dụng PHP trong nền thương mại điện tử, bạn sẽ tìm thấy nhiều hàm hữu

dụng cho các chương trình thanh toán trên mạng.
Cuối cùng nhưng không kém phần quan trọng, chúng ta có được nhiều mở rộng thú
vị khác, các hàm cho bộ máy tìm kiếm mnoGoSearch, các hàm cổng IRC, nhiều tiện ích
nén, chuyển đổi, thông dịch,…
III.3. CÁC KIỂU DỮ LIỆU
Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
25

×