Luận văn Truy nhập cơ sở dữ liệu bằng Web
---------------------------------------------------------------------------------------------
§¹i häc quèc gia hµ néi
tr-êng §¹i Häc khoa häc tù nhiªn
Khoa c«ng nghÖ th«ng tin
--------------------
bïi quang h-ng
Truy nhËp c¬ së d÷ liÖu b»ng Web
LuËn v¨n tèt nghiÖp cö nh©n khoa häc
Ngµnh tin häc m· sè:
Gi¸o viªn h-íng dÉn
1.
2.
Gi¸o viªn ph¶n biÖn
Hµ néi - 2000
MôC LôC
Trang 1
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
PhÇn I Tæng quan vÒ hÖ thèng Web
Ch-¬ng i HÖ thèng Web
I Nh÷ng kh¸i niÖm c¬ b¶n vÒ hÖ thèng Web .................................................1
I.1 Nguån gèc cña World Wide Web ........................................................1
I.2 Kh¸i niÖm vÒ Web................................................................................1
I.3 Siªu liªn kÕt..........................................................................................2
I.4 §Þa chØ cña Web...................................................................................2
I.5 M« h×nh Web Client_Server.................................................................2
I.5.1 Web Browser.................................................................................2
I.5.2 Web Server ....................................................................................3
I.5.3 Web Client-Server .........................................................................4
I.6 Giao thøc HTTP (Hypertext Transfer Protocol)...................................5
I.7 Ph©n lo¹i Web ......................................................................................6
I.7.1 Trang Web tÜnh (Static Web Pages):.............................................6
I.7.2 Form Pages....................................................................................6
I.7.3 Web ®éng:.....................................................................................8
Ch-¬ng II Ng«n ng÷ siªu v¨n b¶n (HTML)
I Kh¸i niÖm chung .......................................................................................11
II §Æc t¶ vÒ HTML ......................................................................................11
II.1 C¸c tõ kho¸ ®Þnh d¹ng cÊu tróc tµi liÖu.............................................12
II.2 §iÓm mãc nèi <A>. . .</A>..............................................................13
II.3 C¸c tõ kho¸ ®Þnh d¹ng khèi ..............................................................14
II.4 C¸c tõ kho¸ khai b¸o danh s¸ch........................................................16
II.5 C¸c tõ kho¸ khai b¸o lo¹i th«ng tin vµ ®Þnh d¹ng mÉu ch÷ ..............17
II.5.1 Khai b¸o lo¹i th«ng tin...............................................................17
II.5.2 §Þnh d¹ng mÉu ký tù..................................................................18
II.6 Lång h×nh ¶nh <IMG. . .>.................................................................18
II.7 C¸c tõ khãa lËp mÉu biÓu b¶ng (Forms) ...........................................19
II.8 LËp b¶ng ...........................................................................................23
Trang 2
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
III. C¸c -u nh-îc ®iÓm cña HTML.......................................................26
PhÇn II Truy nhËp C¬ Së d÷ liÖu theo giao diÖn CGI
Ch-¬ng I giíi thiÖu ch-¬ng tr×nh CGI
I C¸c kh¸i niÖm c¬ b¶n............................................................................27
I.1 Tµi liÖu tÜnh (Static Doccuments).......................................................27
I.2 Tµi liÖu ®éng (Dynamic doccuments - Doccument on the fly) ..........28
I.3 Mét c¸ch tiÕp cËn tíi tµi liÖu ®éng: C«ng nghÖ Server-side include..28
II CGI (Common Gateway Interface)..........................................................29
II.1 CGI lµ g×:...........................................................................................29
II.2 Môc tiªu cña CGI (The goal of CGI) ................................................30
II.3 C¸ch thøc ho¹t ®éng cña mét ch-¬ng tr×nh CGI...............................31
III ChuÈn CGI..............................................................................................32
III.1 Ph-¬ng ph¸p GET............................................................................32
III.2 Ph-¬ng ph¸p POST.........................................................................33
III.3 Sù kh¸c nhau gi÷a ph-¬ng ph¸p GET & POST ...............................33
III.4 Dßng vµo chuÈn (Standard Input)....................................................33
III.5 Dßng ra chuÈn (CGI Standard Output) ............................................33
Ch-¬ng II X©y dùng ch-¬ng tr×nh CGI trªn C
I TruyÒn sè liÖu cho CGI gateway...............................................................34
I.1 TruyÒn th«ng tin qua tham sè dßng lÖnh............................................34
I.2 TruyÒn th«ng tin qua biÕn m«i tr-êng................................................34
I.3 TruyÒn th«ng tin qua dßng nhËp chuÈn..............................................36
II Xö lý c¸c FORM......................................................................................36
II.1 Truy cËp d÷ liÖu tõ Form ..................................................................36
II.1.1 C¸c x©u query ............................................................................36
II.1.2 Ch-¬ng tr×nh xö lý Form............................................................37
II.2 Ho¹t ®éng cña ch-¬ng tr×nh CGI......................................................38
II.2.1 LÊy d÷ liÖu tõ Form vµ xö lý d÷ liÖu..........................................38
Trang 3
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
II.2.2 §-a kÕt qu¶ ®-a ra tõ CGI Gateway ..........................................41
II.2.3 Th«ng tin kÕt qu¶ tõ ch-¬ng tr×nh CGI:.....................................41
II.2.4 C¸c Header CGI.........................................................................42
ch-¬ng iii oracle WebServer vµ x©y dùng ch-¬ng tr×n
h CGI truy nhËp CSDL oracle
A ORACLE WEB SERVER
I KiÕn tróc cña Oracle Web Server..............................................................45
I.1 Web Listener......................................................................................45
I.2 Web Request Broker: .........................................................................45
I.3 Sercure Sockets Layer ........................................................................46
I.4 Qu¶n trÞ Web Server...........................................................................46
I.5 Giao diÖn CGI ....................................................................................46
I.6 PL/SQL Agent....................................................................................46
II Nguyªn t¾c ho¹t ®éng cña Oracle Web Server ........................................47
II.1 The Web Listener (OWL).................................................................49
II.1.1 Authentication Scheme ..............................................................50
II.1.2 Restriction Scheme ....................................................................50
II.2 The Web Request Broker (WRB) .....................................................51
II.2.1 WRB Dispatcher: .......................................................................52
II.2.2 WRB Service..............................................................................52
II.2.3 WRB Cartridges.........................................................................52
II.3 Sercure Socket Layer (SSL)...............................................................54
II.4 Qu¶n lý Web Server..........................................................................56
II.4.1 Listener Pages............................................................................56
II.4.2 WRB Pages ................................................................................56
II.4.3 PL/SQL Agent Pages .................................................................57
II.4.4 Oracle7 Server Manager ............................................................57
II.5 Giao diÖn CGI ...................................................................................57
Trang 4
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
II.6 PL/SQL Agent...................................................................................58
II.7 X¸c ®Þnh vµ Sö dông PL/SQL ...........................................................58
B. X©y dùng ch-¬ng tr×nh truy nhËp c¬ së d÷ liÖu
theo giao diÖn CGI
I OWA - ORACLE WEB AGENT..............................................................59
I.1 Oracle Web Agent lµ g×......................................................................59
I.2 Hypertext Procedure (HTP)................................................................59
I.3 Hypertext Function.............................................................................59
I.4 C¸c OWA c¬ b¶n ...............................................................................60
I.4.1 OWA_UTIL (owa_utilities)........................................................60
I.4.2 OWA_PATTERN (Pattern Matching Utilities) ..........................60
I.4.3 OWA_COOKIE (Cookie Utilities) .............................................61
I.4.4 OWA_INIT .................................................................................61
I.5 X©y dùng ch-¬ng tr×nh.......................................................................62
KÕt LuËn.............................................................................................68
PhôLôc................................................................................................69
Trang 5
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
Lêi Giíi thiÖu
Trong thêi kú cña kû nguyªn th«ng tin hiÖn nay, vÊn ®Ò trao ®æi th«ng
tin lµ v« cïng quan träng. Nhu cÇu trao ®æi th«ng tin gia t¨ng khi nÒn kinh tÕ
ngµy cµng ph¸t triÓn.
Do sù bïng næ vÒ th«ng tin nh- vËy ng-êi ta ®· vµ ®ang rÊt quan t©m sö
dông c«ng nghÖ tin häc ®Æc biÖt lµ c«ng nghÖ Internet, Intranet. C¸c c«ng nghÖ
nµy t¹o ®iÒu kiÖn cho viÖc trao ®æi vµ phæ biÕn th«ng tin dÔ dµng kh«ng phô
thuéc vµo vÞ trÝ ®Þa lÝ. C«ng nghÖ Internet, Intranet ban ®Çu chñ yÕu phôc vô
cho gi¸o dôc, vµ nghiªn cøu, nay ®· më réng ra c¸c lÜnh vùc kh¸c (th-¬ng m¹i,
gi¶i trÝ, ...).
Cã rÊt nhiÒu ph-¬ng ph¸p trao ®æi th«ng tin (WWW, FTP-truyÒn file,
EMAIL- th- ®iÖn tö, TELNET, RLOGIN - lµm viÖc víi m¸y tÝnh tõ xa,
NEW-th¶o luËn, GOPHER - t×m kiÕm file,...), trong ®ã dÞch vô WWW (World
Wide Web) lµ mét trong nh÷ng dÞch vô ®-îc dïng phæ biÕn nhÊt.
LuËn v¨n ®i s©u nghiªn cøu t×m hiÓu dÞch vô World Wide Web trªn
m¹ng, vµ ®Æc biÖt lµ t×m hiÓu ph-¬ng ph¸p khai th¸c c¬ së d÷ liÖu th«ng qua
Web.
LuËn v¨n ®-îc chia thµnh 2 phÇn:
PhÇn I:
Víi tiªu ®Ò Tæng quan vÒ hÖ thèng Web, phÇn nµy cña luËn v¨n tr×nh bµy
nh÷ng kh¸i niÖm c¬ b¶n vÒ Web, Web Client-Server. Trong phÇn nµy còng
tr×nh bµy nh÷ng néi dung c¬ b¶n nhÊt vÒ ng«n ng÷ HTML ®Ó x©y dùng trang
Web.
PhÇn II: Tr×nh bµy vÒ c¸c c¸ch thøc truy nhËp c¬ së d÷ liÖu b»ng ch-¬ng tr×nh
ngoµi, ®Æc biÖt lµ qua giao diÖn CGI (Common Gateway Interface), c¸c kh¸i
Trang 6
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
niÖm c¬ b¶n trong CGI. Trong phÇn nµy luËn v¨n ®-a ra hai ph-¬ng thøc truy
nhËp CSDL b»ng CGI:
Truy nhËp kh«ng hç trî c¸c c«ng cô cña hÖ qu¶n trÞ c¬ së d÷ liÖu. Theo
d¹ng nµy, luËn v¨n chó träng vµo c¸ch thøc trao ®æi th«ng tin theo dßng vµo
chuÈn vµ dßng ra chuÈn, luËn v¨n ph©n tÝch sù ho¹t ®éng cña ch-¬ng tr×nh CGI
®-îc viÕt trªn C ®Ó thÊy râ c¸ch thøc trao ®æi nµy.
Truy nhËp nhê c«ng cô hç trî cña hÖ qu¶n trÞ CSDL mµ ë ®©y lµ hÖ qu¶n
trÞ CSDL ORACLE. LuËn v¨n tr×nh bµy ho¹t ®éng Oracle Web Server víi c¸c
thuéc tÝnh më réng so víi c¸c Web Server th«ng th-êng, c¸c më réng nµy t¹o
®iÒu kiÖn cho ng-êi ph¸t triÓn x©y dùng c¸c øng dông víi giao diÖn Web. Cuèi
cïng lµ x©y dùng mét ch-¬ng tr×nh vÝ dô minh ho¹ viÖc Oracle Web Server
thao t¸c víi c¬ së d÷ liÖu.
Em xin ch©n thµnh c¶m ¬n toµn thÓ c¸c thµy c« gi¸o Khoa CNTT, ®Æc
biÖt c¸c thµy gi¸o tæ bé m«n C¸c hÖ thèng th«ng tin, thµy Hµ Quang Thuþ. Vµ
c¸c thµy TrÇn Xu©n ThuËn, Lª Huy (Liªn HiÖp Khoa häc vµ s¶n xuÊt PhÇn
MÒm - CSE) vµ toµn thÓ c¸c anh chÞ ë CSE; nh÷ng ng-êi ®· cung cÊp tµi liÖu,
chØnh söa vµ ®ãng gãp nh÷ng ý kiÕn quý gi¸ trong qu¸ tr×nh x©y dùng luËn v¨n
nµy.
Hµ Néi ngµy 26-5-98
Tiªu ThÞ Dù
K39KTT-CNTT
Trang 7
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
PhÇn I Tæng quan vÒ Web
ch-¬ng I HÖ thèng Web
I Nh÷ng kh¸i niÖm c¬ b¶n vÒ hÖ thèng Web
I.1 Nguån gèc cña World Wide Web
N¨m 1990 nhãm nghiªn cøu do Tim Berners-Lee ®øng ®Çu lµm viÖc t¹i
phßng thÝ nghiÖm vËt lý h¹t nh©n ch©u ¢u ®· ®-a ra mét bé giao thøc míi phôc
vô cho viÖc truyÒn vµ nhËn c¸c tÖp siªu v¨n b¶n (Hypertext) trªn m¹ng
Internet. Bé giao thøc nµy chñ yÕu dùa trªn ng«n ng÷ HTML (Hypertext
Markup Language) ®Ó liªn kÕt, trao ®æi th«ng tin vµ gäi t¾t lµ HTTP (Hypertext
Tranfer Protocol). Ngay sau ®ã, c¸c tæ chøc vµ tËp ®oµn kh¸c ®· c«ng nhËn bé
giao thøc HTTP, vµ thµnh lËp mét tæ chøc gäi lµ W3 Consortium ®Ó tiÕp tôc
ph¸t triÓn vµ chuÈn ho¸ bé giao thøc nµy. W3 Consortium ®· ph¸t triÓn thªm
c¸c tÝnh n¨ng míi cña HTML vµ c¸c møc (Level) còng nh- c¸c chuÈn ®Ó thùc
hiÖn c¸c phÇn mÒm ®i kÌm. Tõ ®ã thuËt ng÷ Worl Wide Web ra ®êi vµ ®-îc
c«ng bè réng r·i trªn Internet.
I.2 Kh¸i niÖm vÒ Web
World Wide Web (viÕt t¾t lµ WWW hay cßn ®-îc gäi lµ Web) cã cÊu
tróc thÓ hiÖn nh- mét trang v¨n b¶n vµ ®å ho¹ cã c¸c siªu liªn kÕt (Hyperlinks)
mµ theo ®ã ta cã thÓ lùa chän. Nh÷ng siªu liªn kÕt nµy sÏ ®-a chóng ta ®Õn c¸c
tµi nguyªn kh¸c trªn m¹ng víi ®Çy ®ñ tÝnh n¨ng ®éc ®¸o nh- c¸c h×nh ¶nh, ®å
ho¹, ©m thanh. . .Web gióp con ng-êi thùc hiÖn nh÷ng c«ng viÖc trªn m¹ng
mét c¸ch dÔ dµng.
Trang 8
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
I.3 Siªu liªn kÕt
Siªu liªn kÕt lµ mét tõ hay mét côm tõ trªn trang Web dïng ®Ó “chØ” ®Õn
mét trang Web kh¸c. Khi nhÊn chuét lªn mét siªu liªn kÕt, tr×nh duyÖt sÏ ®-a
chóng ta ®Õn mét trang Web kh¸c. V× nh÷ng liªn kÕt siªu v¨n b¶n nµy thËt sù lµ
tÝnh n¨ng ®Æc tr-ng cña Worl Wide Web, nªn c¸c trang Web th-êng ®-îc biÕt
®Õn nh- lµ nh÷ng tµi liÖu siªu v¨n b¶n.
I.4 §Þa chØ cña Web
§Þa chØ cña Web ®-îc biÕt ®Õn nhê c¸c URL (Uniform Resource
Locator -Bé ®Þnh vÞ tµi nguyªn ®ång nhÊt). NÕu c¸c trang Web ®-îc ghi lång
vµo s©u hÕt môc nµy ®Õn môc kh¸c th× ®Þa chØ cña Web sÏ hÕt søc dµi. Nã
th-êng ®-îc coi lµ mét URL kh«ng bao giê chÊm døt (liªn kÕt víi nhiÒu liªn
kÕt). Mét URL th-êng cã cÊu tróc nh- sau:
Protocol://host.domain/directory/file.name
+ Protocol: Nghi thøc TCP/IP sö dông ®Ó t×m tµi nguyªn (HTTP hay FTP)
+ Host.domain : Tªn m¸y chñ n¬i trang Web l-u tró
+ Directory
: Th- môc chñ chøa tµi liÖu ®ã
+ File.name : Tªn chÝnh x¸c cña tËp tµi liÖu ®ã
URL ®-îc sö dông tÊt c¶ c¸c dÞch vô th«ng tin trªn m¹ng. Mçi mét trang
Web cã mét URL duy nhÊt ®Ó x¸c ®Þnh trang Web ®ã. Qua ph©n tÝch cÊu tróc
cña mét URL, ta thÊy r»ng th«ng qua URL cã thÓ truy cËp bÊt cø mét tµi
nguyªn th«ng tin d÷ liÖu cña bÊt kú dÞch vô nµo cña bÊt kú m¸y tÝnh nµo trªn
m¹ng.
I.5 M« h×nh Web Client- Server
I.5.1 Web Browser
Web Browser lµ c«ng cô truy xuÊt d÷ liÖu trªn m¹ng, lµ phÇn mÒm giao
diÖn trùc tiÕp víi ng-êi sö dông. Nã cã kh¶ n¨ng yªu cÇu th«ng tin tõ Web
Server vµ c¸c dÞch vô kh¸c nhau theo nhu cÇu cña ng-êi sö dông. Sau ®ã Web
Browser sÏ ®îi th«ng tin tõ Web Server hay c¸c m¸y phôc vô cña c¸c dÞch vô
Trang 9
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
th«ng tin kh¸c vµ hiÓn thÞ th«ng tin cho ng-êi sö dông. Th«ng tin hiÓn thÞ cã
thÓ ®-îc l-u tr÷ trªn nh÷ng trang Web riªng, ®-îc t¹o ra tr-íc khi cã yªu cÇu
(®ã lµ trang Web tÜnh) hoÆc th«ng tin cã thÓ ®-îc t¹o ra tõ trong c¸c c¬ së d÷
liÖu dùa trªn yªu cÇu (®ã lµ trang Web ®éng). Cã nhiÒu Web Browser kh¸c
nhau nh-:
+ Mosaic
+ Netscape Navigator
+ Microsoft Internet Explorer
+ Lynx trong Unix
PhÇn lín c¸c Browser hç trî mét danh s¸ch c¸c ®Æc tr-ng víi kh¶ n¨ng
xö lý file nh- files HTML, Files GIF, Files JPEG. NhiÒu Browser míi cßn cã
kh¶ n¨ng hç trî mét danh s¸ch c¸c ®Æc tr-ng më réng cã kh¶ n¨ng xö lý Java
vµ JavaScpript. NhiÒu Browser lµm viÖc víi file phô thuéc vµo Header kiÓu
MIME (Multipurpose Internet Mail Extentions). C¸c Browser nh- thÕ cã thÓ
tù xö lý files, vµ yªu cÇu sù gióp ®ì cña nh÷ng øng dông, hay ®¬n gi¶n lµ Save
file vµo ®Üa.
I.5.2 Web Server
Web Server lµ mét phÇn mÒm ®ãng vai trß phôc vô. Khi ®-îc khëi ®éng,
nã ®-îc n¹p vµo bé nhí vµ ®îi c¸c yªu cÇu tõ n¬i kh¸c ®Õn. C¸c yªu cÇu cã thÓ
®Õn tõ mét ng-êi sö dông dïng phÇn mÒm Web Browser hoÆc còng cã thÓ ®Õn
tõ mét Web Server kh¸c. Trong c¶ hai tr-êng hîp trªn ®èi t-îng ®-a ra yªu cÇu
gäi lµ kh¸ch hµng (Client). C¸c yªu cÇu ®èi víi Web Server th-êng lµ ®ßi hái
vÒ mét t- liÖu hay th«ng tin nµo ®ã. Khi nhËn ®-îc yªu cÇu, nã ph©n tÝch ®Ó
x¸c ®Þnh xem t- liÖu, th«ng tin kh¸ch hµng muèn lµ g×. Sau ®ã nã t×m lÊy t-
liÖu vµ göi cho kh¸ch hµng. ViÖc phôc vô phÇn lín nhê dÞch vô HTTP truy
nhËp ®Õn tµi liÖu HTML hay nh÷ng øng dông cña CGI. Còng cã thÓ phôc vô
th«ng qua c¸c giao thøc kh¸c nh-: FTP, Gopher hay dÞch vô Telnet (minh ho¹
h×nh 1.1)
Trang 10
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
Gopher Server
Gopher
HTTP
Web Browser
Web Server
FTP Server
Gateway
Other Server
FTP
H×nh 1.1 Trao ®æi th«ng tin Web Browser -
NhiÖm vô chÝnh cña Web Server lµ:
+ “TiÕp nhËn“ yªu cÇu ®-a vµo tõ trªn m¹ng
+ Cung cÊp nh÷ng trang HTML
+ Cung cÊp vµ ph¸t triÓn øng dông trªn Web
+ T×m kiÕm file tõ mét “Vitual root”
+ Phôc vô yªu cÇu file tíi Client
I.5.3 Web Client-Server
World Wide Web ®-îc x©y dùng vµ ho¹t ®éng theo m« h×nh
Client/Server. C¸c Client dïng mét phÇn mÒm gäi lµ Web Browser. Web
Browser tiÕp nhËn th«ng tin yªu cÇu tõ ng-êi dïng sau ®ã göi c¸c yªu cÇu tíi
m¸y Server xö lý.
Web Server còng lµ mét phÇn mÒm ch¹y trªn c¸c m¸y phôc vô, nhËn
Request thùc hiÖn theo yªu cÇu råi tr¶ th«ng tin (Response) cho ng-êi sö dông.
Trang 11
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
Web Client Web Server
Network
H×nh 1.1 Web Client- Server Paradigm
I.6 Giao thøc HTTP (Hypertext Transfer Protocol)
HTTP lµ giao thøc truyÒn th«ng mµ Client sö dông ®Ó liªn l¹c víi Server.
Mäi giao thøc truyÒn th«ng ®Òu ®ßi hái mét ch-¬ng tr×nh t-¬ng øng trªn Server
®Ó “nghe” yªu cÇu ®-a vµo tõ trªn m¹ng. VÝ dô FPT cã mét FPT daemon,
Telnet cã mét Telnet daemon gièng nh- HTTP còng cã mét HTTP daemon.
Bëi vËy khi m¸y Server ho¹t ®éng ®· cã nh÷ng daemon ch¹y trªn Server, vÝ dô
nh- Web Listener trªn Oracle Web Server còng lµ mét Server daemon t-¬ng
øng.
HTTP còng t-¬ng tù nh- Telnet. Tuy nhiªn cã mét sù kh¸c biÖt quan
träng gi÷a HTTP vµ Telnet ®ã lµ HTTP kh«ng duy tr× kÕt nèi víi Server. Sau
khi Server phôc vô mét file tíi Client, nã chÊm døt sù kÕt nèi víi tr¹m cuèi.
Trong thêi gian sau ®ã nÕu Client yªu cÇu mét file tõ Server, th× khi mét trang
th«ng tin míi ®-îc t¶i xuèng th× mét kÕt nèi míi míi ®-îc x©y dùng víi
Server.
Kh«ng cã mét tr¹ng th¸i th«ng tin nµo cã thÓ duy tr× l©u dµi gi÷a Client
vµ Server vµ yªu cÇu kÕt nèi. NÕu th«ng tin ®· yªu cÇu mµ Client ph¶i b¶o vÖ
nã hay n¾m gi÷ nã, th«ng tin yªu cÇu ®ã tr×nh diÖn l¹i víi kÕt nèi sau.
I.7 Ph©n lo¹i Web
Theo quan ®iÓm cña Martin Rennhackkawp ( T¹p chÝ DBMS 5/97) cho
r»ng cã hÓ ph©n lo¹i Web thµnh 3 lo¹i lµ: Trang Web tÜnh, Form page vµ trang
Web ®éng.
Trang 12
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
I.7.1 Trang Web tÜnh (Static Web Pages):
Trang Web tÜnh lµ tµi liÖu ®-îc ph©n ph¸t rÊt ®¬n gi¶n tõ hÖ thèng file
cña Server. PhÇn mÒm Web Server sÏ tiÕn hµnh t×m kiÕm vµ x¸c ®Þnh ®óng vÞ
trÝ file ®ã vµ göi tr¶ kÕt qu¶ cho Client (Browser). ViÖc sö dông trang Web tÜnh
cã nh÷ng -u, nh-îc ®iÓm râ rµng.
+ ¦u ®iÓm: Khi c¬ së d÷ liÖu lµ nhá th× viÖc ph©n ph¸t d÷ liÖu cã hiÖu qu¶,
Server cã thÓ ®¸p øng nhu cÇu cña Client mét c¸ch nhanh chãng. KiÓu Web
tÜnh sÏ lµ tèt nhÊt ®Ó sö dông khi th«ng tin cã s½n trªn æ ®Üa cøng, vµ kh«ng
thay ®æi.
+ Nh-îc ®iÓm: Kh«ng n¨ng ®éng, kh«ng ®¸p øng nhu cÇu th«ng tin v× vËy
kh«ng ®¸p øng ®-îc nh÷ng yªu cÇu phøc t¹p cña ng-êi sö dông.
Qu¸ tr×nh ph©n ph¸t tµi liÖu tÜnh ®-îc thÓ hiÖn nh- sau:
Browser ph¸t tÝn hiÖu yªu cÇu
Server
Browser
Server göi tr¶ tµi liÖu
H×nh I.2 Ph©n Ph¸t tµi
I.7.2 Form Pages
VÒ mÆt b¶n chÊt Form Pages lµ tr-êng hîp ®Æc biÖt cña trang Web tÜnh.
Nã cho phÐp nhËn ®-îc ph¶n håi tõ phÝa ng-êi sö dông th«ng qua form. Form
pages ®-îc x©y dùng dùa trªn ng«n ng÷ HTML.
VÝ dô
<HTML>
<HEAD>
<title>VÝ dô vÒ form pages</title>
Trang 13
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
</HEAD>
<BODY>
<H3>PhiÕu ®iÒu tra</H3>
<P>Xin mêi ngµi tr¶ lêi vµi c©u hái sau</p>
<Form Method="POST" ACTION="HTTP://www.hal.com/Sample">
<P>Tªn cña b¹n: <INPUT Name="name" size="48">
<P>Nam <INPUT Name="gender" TYPE=RADIO VALUE="Nam">
<P>N÷ <INPUT Name="gender" TYPE=RADIO VALUE="N÷">
<p>Gia ®×nh: <INPUT Name="Family" TYPE=Text>
<p>Thµnh Phè:
<UL>
<LI>Hµ néi <INPUT Name="city" TYPE="Checkbox VALUE="Hµ néi"
<LI>H¶i Phßng <INPUT Name="city" TYPE="Checkbox VALUE="H¶i
Phßng"
<LI>Hå ChÝ Minh<INPUT Name="city" TYPE="Checkbox VALUE="Hå ChÝ
Minÿÿÿ<LI>Other
rows=4</TEXTAREA>
</UL>
<TEXTAREA
Name="Other"
Cols=48
<P>C¸m ¥n B¹n ®· tr¶ lêi c©u hái</p>
<P><INPUT TYPE=SUBMIT> <INPUT TYPE=RESET>
</Form>
</BODY>
</HTML>
Sau khi tr×nh duyÖt Web thùc hiÖn, nhËn ®-îc kÕt qu¶ nh- sau:
Trang 14
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
Trong vÝ dô trªn, c¸c thµnh phÇn <P> vµ <UL> ®-îc dïng ®Ó bè trÝ c¸c
tr-êng ký tù vµ nhËn sè liÖu. NhiÒu bé duyÖt quy -íc dïng c¸c phÝm Tab vµ
Shift ®Ó chuyÓn dÞch gi÷a c¸c tr-êng vµ ENTER ®Ó SUBMIT, nghÜa lµ kÕt thóc
qu¸ tr×nh vµo sè liÖu vµ göi ®i. Nót SUBMIT dïng ®Ó E_Mail hay göi th¼ng néi
dung cña b¶ng ®Õn Server, tuú thuéc vµo thuéc tÝnh ACTION. Nót RESET tr¶
c¸c tr-êng nhËn vÒ gi¸ trÞ ban ®Çu.
I.7.3 Web ®éng:
Trang Web lo¹i nµy cã thÓ thao t¸c víi c¬ së d÷ liÖu ®Ó ®¸p øng nhu cÇu
phøc t¹p cña ng-êi sö dông. Ch¼ng h¹n nh- khi ng-êi sö dông cÇn cã nh÷ng
th«ng tin thay ®æi hµng ngµy th× viÖc ph¶i thao t¸c víi c¬ së d÷ liÖu bªn ngoµi
lµ cÇn thiÕt. Cã nhiÒu c¸ch thøc cã thÓ truy nhËp ®Õn c¬ së d÷ liÖu bªn ngoµi vÝ
nh- ISAPI (Internet Server Application Programming Interface), ASP (Active
Server Pages) hay JAVA vµ ®iÓn h×nh lµ dïng ch-¬ng tr×nh ch¹y ngoµi CGI
(Common GateWay Interface -SÏ ®-îc tr×nh bµy kü phÇn sau). C¬ chÕ ho¹t
®éng ®-îc thÓ hiÖn nh- h×nh vÏ1.3:
Trang 15
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
Yªu cÇu
URL
Web Server
CGI
Forms
HTML
Web Browser
Return Data
Connect
DBMS
H×nh I.3 C¬ chÕ ho¹t ®éng cña Web Server
Khi Client göi yªu cÇu tíi Server th«ng qua CGI, ch-¬ng tr×nh CGI sÏ
mãc nèi víi C¬ së d÷ liÖu bªn ngoµi, thùc hiÖn ch-¬ng tr×nh sau ®ã göi tr¶ kÕt
qu¶ d-íi d¹ng HTML vµ hiÓn thÞ trªn trang Web.
Nh-ng viÖc thùc hiÖn ch-¬ng tr×nh CGI cã vÊn ®Ò vÒ thêi gian tøc lµ viÖc
t¶i files sÏ diÔn ra chËm bëi vËy ng-êi ta ®-a ra gi¶i ph¸p kh¾c phôc lµ dïng
phÇn mÒm trung gian (MiddleWare) - ODBC (Open Database Connectivity).
ODBC lµ mét ch-¬ng tr×nh øng dông chuÈn ®Ó truy nhËp d÷ liÖu. PhÇn
mÒm ODBC cã chøc n¨ng kÕt nèi víi c¬ së d÷ liÖu (Connection Managenal),
vµ do chØ hiÓu ®-îc c©u lÖnh SQL nªn nã cßn gi÷ vai trß th«ng dÞch. ViÖc dïng
ODBC còng cã nh÷ng -u nh-îc ®iÓm nh- sau:
+ ¦u ®iÓm: kh¾c phôc ®-îc t×nh tr¹ng qu¸ t¶i trªn Web Server vµ cã thÓ lµm
viÖc ®-îc víi nhiÒu c¬ së d÷ liÖu cïng mét thêi ®iÓm, tèt ®èi víi m¹ng LAN.
Vµ do ®-îc ra ®êi kh¸ sím vµ quen thuéc nªn c¸c c«ng ty s¶n xuÊt m¸y tÜnh
còng chó ý hç trî ODBC .
+ Nh-îc ®iÓm: Ph¶i cµi ®Æt tõng ODBC Driver t-¬ng øng víi phÇn mÒm CSDL
trªn Clients nÕu muèn ch¹y CSDL ®ã. MÆt kh¸c ODBC l¹i kh«ng phï hîp ®èi
víi m¹ng diÖn réng.
H×nh I.4 thÓ hiÖn c¸ch thøc ODBC trong ®ã:
Trang 16
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
+ Odbc Manager : Göi ®i c¸c cuéc gäi tõ nh÷ng øng dông kh¸c ®Õn nh÷ng
thiÕt bÞ chuÈn .
+ Driver: Xö lý c¸c chøc n¨ng ODBC, tr×nh diÖn c©u lÖnh SQL tíi BDMS x¸c
®Þnh, vµ tr¶ l¹i kÕt qu¶.
+ DBMSs: Xö lý yªu cÇu tõ ODBC Driver vµ tr¶ l¹i kÕt qu¶.
ODBC Driver Manager
Oracle ODBC
Driver
MS SQL ODBC
Driver
DB2 ODBC
Driver
SQL-Net
Net-Librery
Net-Library
Microsoft
SQL Server
for
Windows
NT
ORACL
E
for
UNIX
IBM
DB2
H×nh I.4 C¸ch thøc ODBC
Trang 17
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
Ch-¬ng II ng«n ng÷ siªu v¨n b¶n (HTML)
I Kh¸i niÖm chung
Ng«n ng÷ siªu v¨n b¶n HTML (Hypertext Markup Langure) lµ mét c¸ch
®-a vµo v¨n b¶n nhiÒu thuéc tÝnh cÇn thiÕt ®Ó cã thÓ truyÒn th«ng qu¶ng b¸
trªn m¹ng toµn cÇu WWW (World Wide Web). HTML cho phÐp ®-a h×nh ¶nh
®å ho¹ vµo v¨n b¶n, vµ t¹o nh÷ng tµi liÖu siªu v¨n b¶n cã kh¶ n¨ng ®èi tho¹i
t-¬ng t¸c víi ng-êi dïng.
HTML chñ yÕu xoay quanh kh¸i niÖm “tiªu thøc” (tag) lµm nÒn t¶ng.
§Ó t¹o mét siªu v¨n b¶n, ta cã thÓ dïng bÊt cø mét ch-¬ng tr×nh so¹n th¶o nµo
vÝ dô nh- NC, EDIT cña DOS, NotePad hay Write cña Windows 3.x, WordPad
cña Win95. . . Vµ chØ cÇn n¾m v÷ng c¸c tiªu thøc cña HTML, vµ chó ý khi cÊt
lªn ®Üa th× cÇn l-u d-íi d¹ng TXT. Song cã mét h¹n chÕ lµ d¹ng v¨n b¶n khi
so¹n víi khi xem sau nµy trªn WWW lµ kh«ng gièng nhau.
Ngµy nay do sù ph¸t triÓn cña m¹ng toµn cÇu, HTML còng ngµy cµng
trë nªn phøc t¹p vµ hoµn thiÖn h¬n ®Ó ®¸p øng ®-îc nh÷ng yªu cÇu míi n¶y
sinh trong qu¸ tr×nh ph¸t triÓn ®ã (nh- ©m thanh, h×nh ¶nh ®éng, hay ®iÒu
khiÓn tõ xa, hiÖn thùc ¶o. . . ). Ng-êi ta gäi ®ã lµ nh÷ng phiªn b¶n cña HTML
vµ ®¸nh sè ®Ó biÓu thÞ.
Mét trong nh÷ng ®iÓm m¹nh cña HTML lµ mét v¨n b¶n bÊt kú nÕu tu©n
thñ tiªu chuÈn HTML ®Òu cã thÓ hiÖn ®-îc lªn mµn h×nh hay in ra, tãm l¹i lµ
hiÓu ®-îc, bëi bÊt kú lo¹i phÇn mÒm hay m¸y tÝnh nµo mµ ng-êi dïng cã,
kh«ng ph©n biÖt Netscape trªn Windows, hay Lynx trªn Unix, thËm chÝ cho
ng-êi khiÕm thÞ b»ng phÇn mÒm ®Æc biÖt.
II§Æc t¶ vÒ HTML
Toµn bé c¸c thÎ cña HTML ®-îc chia ra thµnh 7 nhãm thµnh phÇn nh-
sau vµ ®-îc gäi lµ tõ kho¸ :
Trang 18
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
• Tõ kho¸ x¸c lËp cÊu tróc tµi liÖu
• Tõ kho¸ t¹o ®iÓm mãc nèi
• Tõ kho¸ ®Þnh d¹ng khèi
• Tõ kho¸ khai b¸o danh s¸ch
• Tõ kho¸ khai b¸o lo¹i th«ng tin vµ ®Þnh d¹ng mÉu ch÷
• Tõ kho¸ ®-a h×nh ¶nh vµo tµi liÖu
• Tõ kho¸ lËp mÉu biÓu b¶ng
II.1C¸c tõ kho¸ ®Þnh d¹ng cÊu tróc tµi liÖu
C¸c thµnh phÇn x¸c ®Þnh cÊu tróc tµi liÖu lµ b¾t buéc ph¶i cã trong tµi
liÖu HTML. Ngoµi phÇn më ®Çu x¸c ®Þnh tªn vµ mét sè thuéc tÝnh ®Ó ph©n biÖt
gi÷a c¸c tµi liÖu, chØ cã nh÷ng thµnh phÇn sau lµ b¾t buéc ph¶i cã trong mét tµi
liÖu HTML ®Ó phï hîp víi chuÈn. Sau ®©y lµ cÊu tróc c¬ së cña trang Web
®-îc x©y dùng b»ng HTML Nh÷ng tõ kho¸ thiÕt yÕu ®ã vµ tr×nh tù xuÊt hiÖn
cña chóng ®-îc s¬ bé liÖt kª nh- sau:
<HTML>
<HEAD>
<TITLE>. . .</TITLE>
</HEAD>
<BODY>
. . . . . . . .
</BODY>
</HTML>
• <HTML>. . . </HTML>
CÆp tõ kho¸ nµy gióp nhËn d¹ng tµi liÖu cã chøa c¸c thµnh phÇn tu©n thñ theo
chuÈn vÒ ng«n ng÷ HTML
• <HEAD>. . .</HEAD>
Trang 19
Tiªu ThÞ Dù K39KTT
---------------------------------------------------------------------------------------------
Thµnh phÇn më ®Çu cña mét tµi liÖu HTML chøa c¸c th«ng tin vÒ tµi liÖu ®ã.
Trong ®ã cÆp tõ kho¸ ®Æt tiªu ®Ò còng lµ b¾t buéc:
<HEAD>
<TITLE>Giíi thiÖu chung vÒ trang Web</TITLE>
</HEAD>
CÆp tõ kho¸ <HEAD> vµ</HEAD> kh«ng trùc tiÕp ¶nh h-ëng ®Õn c¸ch thÓ
hiÖn tµi liÖu khi ta xem bé duyÖt.
C¸c thµnh phÇn sau ®©y liªn quan tíi thµnh phÇn më ®Çu tµi liÖu tuy
kh«ng trùc tiÕp “t¹o d¸ng“ nh-ng nÕu sö dông l¹i cung cÊp nh÷ng th«ng tin
quan träng ®èi víi bé duyÖt:
<BASE> Cho phÐp khai b¸o ®Þa chØ c¬ së cña tµi liÖu
<ISINDEX> Cho phÐp t×m kiÕm trong tµi liÖu theo tõ kho¸
<LINK> ChØ ra mèi quan hÖ gi÷a c¸c tµi liÖu
<NEXTID> T¹o tªn gäi ®ång nhÊt ho¸ tµi liÖu
<META>Cung cÊp th«ng tin h÷u Ých cho chÕ ®é Server/Client
• ThÎ <BODY>. . .</BODY>:
PhÇn th©n cña trang Web chøa tÊt c¶ c¸c thµnh phÇn kh¸c còng nh- néi
dung tõ lêi v¨n ®Õn h×nh ¶nh cÊu thµnh mét tµi liÖu, song kh«ng dÝnh d¸ng g×
®Õn sù bµi trÝ cña tµi liÖu ®ã.
II.2§iÓm mãc nèi <A>. . .</A>
§¸nh dÊu côm tõ chØ ®Õn mét kÕt nèi siªu v¨n b¶n (Hypertext link) mµ
khi trá tíi nã, bé duyÖt sÏ dÉn d¾t ®Õn mét tµi liÖu hoÆc mét ®o¹n v¨n kh¸c. Cã
nhiÒu thuéc tÝnh nh-ng hoÆc NAME hoÆc HREF lµ thuéc tÝnh b¾t buéc.
• HREF
NÕu cã thuéc tÝnh HREF, côm tõ ®øng gi÷a sÏ trë thµnh siªu v¨n b¶n,
nghÜa lµ nã trá ®Õn mét v¨n b¶n kh¸c chø kh«ng chØ mang néi dung thuÇn tuý.
Khi chän vµo côm tõ ®ã, mét tµi liÖu kh¸c hoÆc mét ®o¹n tµi liÖu kh¸c trong
Trang 20
Tiªu ThÞ Dù K39KTT
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Truy nhập cơ sở dữ liệu bằng Web", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- luan_van_truy_nhap_co_so_du_lieu_bang_web.doc