Tải bản đầy đủ (.pdf) (109 trang)

Đề tài “Xây dựng Website hỗ trợ quản lý kinh doanh thuốc thú y và thủy sản trên mạng internet”

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 (3.88 MB, 109 trang )

Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
1











Đề tài:
“Xây dựng Website hỗ trợ quản lý kinh doanh
thuốc thú y và thủy sản trên mạng internet”
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
2



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
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
3

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.
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
4

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.

Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
5


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
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



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình

6

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.
 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).
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
7

 RAPR(Address Resolution Protocol): Protocol ánh xạ một địa chỉ phần cứng thành
địa chỉ IP.
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.


























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?
yes no
Disconnect

Connect attempt

Exchange data
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang




Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
8

Đị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. 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
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



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình

9

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).

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
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
10

I.2.2. ĐĂNG NHẬP TỪ XA (TELNET)

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
telnet <domain-name or IP-address>
ftp>put source-file destination-file
ftp>get source
-
file destination
-
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
11

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ó 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à

Trạm E-mail 1 Trạm E-mail 2 Trạm E-mail N
SMTP
POP3 Service

SMTP
POP3
SMTP
POP3
E
-
mail Client

E
-
mail Client

E
-
mail Client

Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
12


đề 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 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.


Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
13

I.2.7. TÌM KIẾM THÔNG TIN THEO CHỈ SỐ (WAIS)

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
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
14

để 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, 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
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
15


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ư 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.
























Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
16


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:

Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
17

 File_based system:
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.





Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
18

5. PL/SQL
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.









Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
19


II.2. GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU ORACLE

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ố
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
20

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.
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:


Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
21

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);
- 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;
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình

22

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.
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.
Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
23

 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 .

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.


Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình
24

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.

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;






Đồ án tốt nghiệp GVHD:TS Lưu Ngọc Quang



Web site kinh doanh thuốc thú y và thủy sản. SVTH: Nguyễn Đăng Trình

25

a) Gán các đặc quyền hệ thống cho user
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).







×