--------------------------------------------------------------------------------------------- §¹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. 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 Nguån gèc cña World Wide Web.2 Kh¸i niÖm vÒ Web.4 §Þa chØ cña Web.5 M« h×nh Web Client_Server .3 Web Client-Server.6 Giao thøc HTTP (Hypertext Transfer Protocol) .7 Ph©n lo¹i Web .1 Trang Web tÜnh (Static Web Pages):. 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 .1 C¸c tõ kho¸ ®Þnh d¹ng cÊu tróc tµi liÖu .3 C¸c tõ kho¸ ®Þnh d¹ng khèi.4 C¸c tõ kho¸ khai b¸o danh s¸ch .5 C¸c tõ kho¸ khai b¸o lo¹i th«ng tin vµ ®Þnh d¹ng mÉu ch÷ .1 Khai b¸o lo¹i th«ng tin .2 §Þnh d¹ng mÉu ký tù .6 Lång h×nh ¶nh <IMG.7 C¸c tõ khãa lËp mÉu biÓu b¶ng (Forms).
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.3 Mét c¸ch tiÕp cËn tíi tµi liÖu ®éng: C«ng nghÖ Server-side include.2 Môc tiªu cña CGI (The goal of CGI).3 C¸ch thøc ho¹t ®éng cña mét ch−¬ng tr×nh CGI. 31 III ChuÈn CGI .1 Ph−¬ng ph¸p GET .2 Ph−¬ng ph¸p POST.3 Sù kh¸c nhau gi÷a ph−¬ng ph¸p GET & POST.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.1 TruyÒn th«ng tin qua tham sè dßng lÖnh .2 TruyÒn th«ng tin qua biÕn m«i tr−êng .3 TruyÒn th«ng tin qua dßng nhËp chuÈn .1 Truy cËp d÷ liÖu tõ Form .2 Ch−¬ng tr×nh xö lý Form .2 Ho¹t ®éng cña ch−¬ng tr×nh CGI.1 LÊy d÷ liÖu tõ Form vµ xö lý d÷ liÖu.
38 Trang 3 Tiªu ThÞ Dù K39KTT --------------------------------------------------------------------------------------------- II.2 §−a kÕt qu¶ ®−a ra tõ CGI Gateway.3 Th«ng tin kÕt qu¶ tõ ch−¬ng tr×nh CGI:. 42 ch−¬ng iii oracle WebServer vµ x©y dùng ch−¬ng tr×nh CGI truy nhËp CSDL oracle A ORACLE WEB SERVER I KiÕn tróc cña Oracle Web Server.2 Web Request Broker: .3 Sercure Sockets Layer .4 Qu¶n trÞ Web Server.5 Giao diÖn CGI .6 PL/SQL Agent. 46 II Nguyªn t¾c ho¹t ®éng cña Oracle Web Server.1 The Web Listener (OWL).2 The Web Request Broker (WRB) .3 Sercure Socket Layer (SSL) .4 Qu¶n lý Web Server.3 PL/SQL Agent Pages .4 Oracle7 Server Manager .5 Giao diÖn CGI. 57 Trang 4 Tiªu ThÞ Dù K39KTT --------------------------------------------------------------------------------------------- II.6 PL/SQL Agent.7 X¸c ®Þnh vµ Sö dông PL/SQL.
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.1 Oracle Web Agent lµ g× .5 X©y dùng ch−¬ng tr×nh .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 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 ®v 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 ®v 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 ®v ®−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 ®v 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 ®v 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 rvi trªn Internet.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.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.5 M« h×nh Web Client- Server I.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 Trang 9 Tiªu ThÞ Dù K39KTT --------------------------------------------------------------------------------------------- Browser sÏ ®îi th«ng tin tõ Web Server hay c¸c m¸y phôc vô cña c¸c dÞch vô 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.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).