




已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1商品標(biāo)題:J2EE開(kāi)發(fā)購(gòu)物網(wǎng)站解析2本商品最適合那類職業(yè)人群:JavaEE應(yīng)用程序員3本商品可以解決他們什么問(wèn)題:本文通過(guò)實(shí)戰(zhàn)全程編寫一個(gè)購(gòu)物網(wǎng)站來(lái)講解如何使用J2EE來(lái)建立企業(yè)級(jí)的網(wǎng)絡(luò)應(yīng)用!4商品內(nèi)容:本文通過(guò)實(shí)戰(zhàn)全程編寫一個(gè)購(gòu)物網(wǎng)站來(lái)講解如何使用J2EE來(lái)建立企業(yè)級(jí)的網(wǎng)絡(luò)應(yīng)用!一、搭建開(kāi)發(fā)平臺(tái)本文從實(shí)戰(zhàn)出發(fā),所以關(guān)于一些概念性的問(wèn)題就不多講了,首先準(zhǔn)備下面的家伙:1.oracle2.weblogic3.Jbuilder其它:struts-console-2.2(用作struts視圖開(kāi)發(fā))PowerBulider(方便數(shù)據(jù)庫(kù)操作)Dreamweaver(美化前臺(tái)頁(yè)面)開(kāi)發(fā)平臺(tái)為Windows2000。以下以一般性的配置為例詳細(xì)介紹搭建J2EE的開(kāi)發(fā)平臺(tái)。用機(jī)配置:P4賽揚(yáng)1.7G,256MB 20GHDD 操作系統(tǒng):Windowsdows2000 SP3數(shù)據(jù)庫(kù):oracle 8iJ2EE應(yīng)用平臺(tái):weblogic 6.1 sp2EJB,JSP,JAVABEAN開(kāi)發(fā):Jbuilder 7 weblogic版第一步,安裝配置oracle數(shù)據(jù)庫(kù)安裝oracle最新版的9i什么事都沒(méi)有,但如果你在P4的機(jī)器上裝8i可能就會(huì)出現(xiàn)問(wèn)題,點(diǎn)了安裝之后沒(méi)有反應(yīng)(P4賽揚(yáng)也存在這個(gè)問(wèn)題)。如果您是P4的機(jī)器又要裝8i的話,那么先按如下方法做。(1)創(chuàng)建一臨時(shí)目錄,并將Oracle8i的安裝源程序拷貝到此目錄。找到目錄stageComponentsoracle.swd.Jre01DataFilesExpandedJreWindows32bin下的 symcJit.dll 的文件,并改名為 symcJit.old。注意OEM目錄下還有一個(gè)symcJit.dll文件要改名。(2)搜索到oraparam.ini文件,打開(kāi)它,改變行RE_MEMORY_OPTIONS=-mx48m的參數(shù)為 JRE_MEMORY_OPTIONS=-noJit -ms16m -mx32m (3)其它的參數(shù)保持不變。(4)執(zhí)行本地硬盤installWindows32setup.exe目錄下的Setup.exe文件。此時(shí)調(diào)用的是修改過(guò)的參數(shù)文件oraparam.ini。(5)安裝時(shí)選擇自定義模式,并且不創(chuàng)建數(shù)據(jù)庫(kù)。(7)Oracle8i安裝完成后,安裝目錄中的下列每一個(gè)文件都有需要作相應(yīng)修改。(如果不修改點(diǎn)任何應(yīng)用都沒(méi)有反應(yīng))assistantsdbcadbassist.cl assistantsdbmadbmig.cl assistantsifaifa.cl binelogin.cl binowm.cl ldapoidamdinoidadmin.cl networktoolsnetasst.cl networktoolsnetca.cl owminstallinstelogin.cl owminstallinstowm.cl用編輯工具依次打開(kāi)上述文件,增加參數(shù) -noJit,以dbassist.cl文件為例示意如下:Command=(C:Program FilesOracleJre1.1.7BINJREW -noJit -classpath .)用相同的方法修改所列出的每一個(gè).cl 文件內(nèi)容。修改完后運(yùn)行database administrator下的Database Configuration Assistant就可以創(chuàng)建數(shù)據(jù)庫(kù)了,這可是一個(gè)漫長(zhǎng)的過(guò)程,在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)要?jiǎng)?chuàng)建全局標(biāo)識(shí),搞個(gè)好記的就行,以后好配置數(shù)據(jù)庫(kù)連接。創(chuàng)建完后,默認(rèn)的DBA用戶名為system,密碼為manager。第二步,安裝配置weblogic 6.1SP2,并連接oracleWindows平臺(tái)的weblogic基本上都可以直接安裝,但要注意不要把它裝到帶有空格的目錄里如Program Files,或是中文目錄中,默認(rèn)為c:bea,按默認(rèn)點(diǎn)下一步,就可以完成安裝,這個(gè)基本沒(méi)有意外?。ㄗ詈?jiǎn)單的安裝操作),最后要記住設(shè)的管理密碼!為了調(diào)試方便,不將weblogic設(shè)為自動(dòng)服務(wù)啟動(dòng)。設(shè)定您的管理密碼,進(jìn)入控制臺(tái),啟動(dòng)服務(wù)都需要。為了方便,我將目錄安到了D盤,并將domain改為maxuan,server改為max,接下來(lái)我們將配置JDBC連接oracle數(shù)據(jù)庫(kù)。首先打開(kāi)D:beawlserver6.1configmaxuan(maxuan為我改后的名字,默認(rèn)的為mydomain),用文本編輯器如:記事本或editplus打開(kāi)startWebLogic.cmd,找到“set PATH=”這一行,加入“.binoci817_8”,如本人的為“set PATH=.bin;.binoci817_8;%PATH%”為了使啟動(dòng)weblogic不需要每次都輸入密碼,在“set WLS_PW=”輸入安裝時(shí)所設(shè)定的密碼即可。雙擊startWebLogic.cmd或在程序中直接運(yùn)行Start Default Server啟動(dòng)weblogic服務(wù)(注意不要將這個(gè)窗口關(guān)了)啟動(dòng)weblogic 然后在程序中運(yùn)行Start Default Console,進(jìn)入控制臺(tái)操作,在出現(xiàn)的對(duì)話框中輸入管理用戶名system,密碼為你設(shè)的密碼即可進(jìn)入!點(diǎn)開(kāi)左邊的Services,你可以看到JDBC;點(diǎn)開(kāi)它,點(diǎn)擊在下面的Connection Pools,右邊會(huì)出現(xiàn)配置項(xiàng)目,點(diǎn)擊Configure a new JDBC Connection Pool出現(xiàn)配置項(xiàng),在Configuration下的General標(biāo)簽下配置:name:這里我填寫的是“mytest”;URL填寫為“Jdbc:weblogic:oracle”;Driver Classname:填寫為“weblogic.Jdbc.oci.Driver”;Properties(key=value):填寫為:user=systempassword=managerserver=oradb這里的oradb即是所安裝的oracle所創(chuàng)建的數(shù)據(jù)庫(kù)的全局標(biāo)識(shí)。user和password我用的是默認(rèn)的DBA,你可以用自己創(chuàng)建的用戶名和密碼。點(diǎn)擊Apply按鈕完成。點(diǎn)擊Targets下的Servers標(biāo)簽,把Available下的Tgets-Server移到Chosen下,然后點(diǎn)Apply按鈕。接著配置下面的Data Sources,在右邊用“Configure a new JDBC Data Source”創(chuàng)建新的Data Sources,這里的Name和Pool Name均填上面的設(shè)定“mytest”,JNDI Name填寫“oradb”,同上面一樣,點(diǎn)擊Targets下的Servers標(biāo)簽,把Available下的Targets-Server移到Chosen下,然后點(diǎn)Apply按鈕。這時(shí)點(diǎn)開(kāi)Start Default Server窗口應(yīng)當(dāng)看到已經(jīng)啟動(dòng)JDriver/Oracle了!第三步,安裝配置JBuilder 7這里我安裝的是weblogic版。安裝JBuilder不要把它裝到帶有空格的目錄里如Prograih Files,或是中文目錄中,不然編譯時(shí)會(huì)出錯(cuò)的。安裝很簡(jiǎn)單,不必多言,這里著重講一下配置小技巧一:大家覺(jué)得JBuilder運(yùn)行時(shí)也許很慢,因?yàn)镴builder默認(rèn)使用32MB內(nèi)存,如果你的內(nèi)存夠大的話,可以加大一點(diǎn),具體辦法如下:在JBuilder安裝目錄BIN下找到Jbuilder.config文件,編輯它,改變Vmparams 后的參數(shù),啟動(dòng)JBuilder,在Help下的About Jbuilder下可以看到Java heap已經(jīng)增加了,運(yùn)行也快了許多,起碼以后可以編譯較大的文件。小技巧二:運(yùn)行JBuilder時(shí),發(fā)現(xiàn)編寫代碼很不方便,所選的代碼與實(shí)際所見(jiàn)的總是差一個(gè),這是因?yàn)樽煮w的原因,解決方法如下,在Tools的Editor Options下的Display里,將Editor font里的Font Family改為新宋體即可。二、配置weblogic服務(wù)用JBuilder可以整合weblogic,這樣可以把在JBuilder下開(kāi)發(fā)的EJB或打包成WAR的網(wǎng)站直接發(fā)布到weblogic!首先在tools下選擇Configure Servers,在下面的user Home下,你可以看到“webLogic Application Server 6.X-7.0”項(xiàng),點(diǎn)擊它,在右邊會(huì)出現(xiàn)Server Settings ,將Enable server打上勾,在下面的General下選擇home directory和Working directory。然后點(diǎn)Custom項(xiàng),選擇JDK installation directory。BEA home directory。接著輸入密碼和設(shè)定的Domain name和Server name這些都是你安裝weblogic時(shí)設(shè)定的,如果目錄選擇正確,在下面的version下會(huì)自動(dòng)出現(xiàn)你的weblogci的版本號(hào)。點(diǎn)擊OK即完成!下面,我們做一個(gè)試驗(yàn),看看weblogic是不是和Jbuilder整合了!首先,我們新建一個(gè)工程,選Application,在name里填寫你的工程名,接著按完成即可。在新建工程項(xiàng)目時(shí)順便看一看Server是不是用的Weblogic然后再選新建,在出現(xiàn)的ObJect Gallery下選Web,因?yàn)槲覀兪且l(fā)布WEB應(yīng)用,所以選取Web Application,為它命個(gè)名,這將是網(wǎng)站包的名字,指定它的工作目錄后選擇Generate war,點(diǎn)OK即可。接下來(lái),我們要新建一個(gè)JSP文件,一樣點(diǎn)新建,在WEB下選擇JAVAServer Page,按它的默認(rèn)點(diǎn)下一步即可,它會(huì)自動(dòng)創(chuàng)建一個(gè)JAVABEAN。首先,我們要把自動(dòng)生成的這個(gè)BEAN編譯為class,選中它,點(diǎn)右鍵,在出現(xiàn)的菜單選Rebuild編譯,然后編譯你的Web Application,它會(huì)自動(dòng)生成WAR包,點(diǎn)這個(gè)包發(fā)布即可發(fā)布網(wǎng)站。接下來(lái)打開(kāi)瀏覽器輸入 :7001/tds/index.Jsp 即可看到該頁(yè)面。 三、創(chuàng)建數(shù)據(jù)庫(kù)Oracle 8i和Oracle 9i確實(shí)有些不一樣,不過(guò)在界面上區(qū)別不大,還是以我的Oracle 8i為例為大家講解一下吧!既然是實(shí)戰(zhàn),首先我們?yōu)樽约盒陆ㄒ粋€(gè)開(kāi)發(fā)用戶,并創(chuàng)建一個(gè)表。在oracle里創(chuàng)建新用戶和表的方法比較多,只要你有管理員的權(quán)限,首先用最簡(jiǎn)單的。在Oracle 8i的程序組中啟動(dòng)DBA Studio程序項(xiàng),在出現(xiàn)的數(shù)據(jù)庫(kù)鏈接信息中輸入管理用戶名和口令即可,當(dāng)然,在oracle中,你可以用用戶名斜杠口令的方法登陸,連接身份選SYSDBA。創(chuàng)建用戶:在登陸后,單擊安全,在第一項(xiàng),你就會(huì)看到用戶,用右鍵你可以創(chuàng)建新用戶,或者給用戶授于角色,不同的角色擁有不同的權(quán)限!Oracle 8i預(yù)定義的角色,我在下面會(huì)講。咱們先斷開(kāi)system的數(shù)據(jù)庫(kù)連接,可以在文件中選擇,也可以用右鍵。然后用我們創(chuàng)建的用戶來(lái)登陸,并且在方案中找到表,然后就可以直接創(chuàng)建,由于是圖形可視化,而且又是全中文的,我就不綴述了!大家可以多試試!用SQLPLUS工具創(chuàng)建用戶和數(shù)據(jù)庫(kù):在oracle中可以使用sqlplus這個(gè)工具來(lái)書(shū)寫SQL語(yǔ)句,對(duì)于SQL高手來(lái)說(shuō),這是發(fā)揮才能的好地方。咱們來(lái)試試吧,首先一樣要先登陸,為了創(chuàng)建新用戶,咱們?nèi)砸詓ystem來(lái)登陸。在主機(jī)字符串中填入數(shù)據(jù)標(biāo)識(shí)(oradb)在登陸進(jìn)去后,出現(xiàn)“SQL”我們就可以在它后面書(shū)寫SQL語(yǔ)句,grant connect,resouce to maxuan identified by max,這一句是創(chuàng)建用戶maxuan,口令為max,并賦予connect,resource權(quán)限,在出現(xiàn)授權(quán)成功后,我們用conn maxuan/max這句來(lái)以maxuan連接數(shù)據(jù)庫(kù),這時(shí)的角色已經(jīng)不是DBA了!接下來(lái)的是些基本的SQL建表語(yǔ)句,不用多說(shuō)了,在sqlplus中,每條語(yǔ)句結(jié)束用分號(hào)標(biāo)識(shí),在完成后,我們可以用quit或exit命令斷開(kāi)。這里我說(shuō)幾個(gè)Oracle 8i的預(yù)定義角色。1、CONNECT角色: 授于最終用戶的典型最基本的權(quán)利ALTER SESSION -修改會(huì)話CREATE CLUSTER -建立聚簇CREATE DATABASE LINK -建立數(shù)據(jù)庫(kù)鏈接CREATE SEQUENCE -建立序列CREATE SESSION -建立會(huì)話CREATE SYNONYM -建立同義詞CREATE VIEW -建立視圖2、RESOURCE角色: 是授予開(kāi)發(fā)人員的CREATE CLUSTER -建立聚簇CREATE PROCEDURE -建立過(guò)程CREATE SEQUENCE -建立序列CREATE TABLE -建表CREATE TRIGGER -建立觸發(fā)器CREATE TYPE -建立類型3、DBA角色:擁有系統(tǒng)所有系統(tǒng)級(jí)權(quán)限4、IMP_FULL_DATABASE角色、EXP_FULL_DATABASE角色:BACKUP ANY TABLE -備份任何表EXECUTE ANY PROCEDURE -執(zhí)行任何操作SELECT ANY TABLE -查詢?nèi)魏伪?、DELETE_CATALOG_ROLE角色:授予用戶這個(gè)角色,用戶就可以從表sys.aud$中刪除記錄,sys.aud$表中記錄著審計(jì)后的記錄,使用這個(gè)角色可以簡(jiǎn)化審計(jì)蹤跡管理。6、SELECT_CATALOG_ROLE角色、EXECUTE_CATALOG_ROLE角色:SELECT_CATALOG_ROLE角色具有從數(shù)據(jù)字典查詢的權(quán)利,EXECUTE_CATALOG_ROLE角色具有從數(shù)據(jù)字典中執(zhí)行部分過(guò)程和函數(shù)的權(quán)利。在前面我們掌握了些基本的oracle操作,如創(chuàng)建、授權(quán)用戶,創(chuàng)建數(shù)據(jù)庫(kù)等。在OEM(Oracle Enterprise Manager)可視化的窗口環(huán)境中,雖然我們也可以很方便地做這些事,但是事實(shí)上,用SQL語(yǔ)言書(shū)寫在開(kāi)發(fā)上更有效率!oracle提供的SQL*Plus就是個(gè)不錯(cuò)的工具,如果大家喜歡窗口的開(kāi)發(fā)環(huán)境,用SQLPlus Worksheet也行。SQL(Structure Query Language)語(yǔ)言是結(jié)構(gòu)化查詢語(yǔ)言,是數(shù)據(jù)庫(kù)的核心語(yǔ)言,是面向集合的描述性非過(guò)程化語(yǔ)言。SQL語(yǔ)言共分為四大類:數(shù)據(jù)查詢語(yǔ)言DQL,數(shù)據(jù)操縱語(yǔ)言DML,數(shù)據(jù)定義語(yǔ)言DDL,數(shù)據(jù)庫(kù)控制語(yǔ)言DCL。1、數(shù)據(jù)查詢語(yǔ)言DQL的基本結(jié)構(gòu)是由select子句,from子句,where子句組成的查詢塊:select from where 2、數(shù)據(jù)操縱語(yǔ)言DML完成在數(shù)據(jù)庫(kù)中確定、修改、添加、刪除某一數(shù)據(jù)值的任務(wù)(以下是部分常用DML語(yǔ)句): insert 增加數(shù)據(jù)行到表 delete 從表中刪除數(shù)據(jù)行 Update 更改表中數(shù)據(jù) 3、數(shù)據(jù)定義語(yǔ)言DDL完成定義數(shù)據(jù)庫(kù)的結(jié)構(gòu),包括數(shù)據(jù)庫(kù)本身、數(shù)據(jù)表、目錄、視圖等數(shù)據(jù)庫(kù)元素(以下是部分常用DDL語(yǔ)句) create table 創(chuàng)建表 create index 創(chuàng)建索引 create view 創(chuàng)建視圖 alter table 增加表列,重定義表列,更改存儲(chǔ)分配 drop table 刪除表 drop index 刪除索引 4、數(shù)據(jù)庫(kù)控制語(yǔ)言DCL用來(lái)授予或回收訪問(wèn)數(shù)據(jù)庫(kù)的某種特權(quán),并控制數(shù)據(jù)庫(kù)操縱事務(wù)發(fā)生的時(shí)間及效果,對(duì)數(shù)據(jù)庫(kù)實(shí)行監(jiān)視等。如: grant 將權(quán)限或角色授予用戶或其它角色 revoke 回收用戶權(quán)限 roll 回滾,是當(dāng)某個(gè)對(duì)話更改了數(shù)據(jù)庫(kù)中的數(shù)據(jù)后,由于某種原因用戶不想提交此更改時(shí),oracle所采取的保護(hù)操作。這是一個(gè)把信息恢復(fù)到用戶使update、insert、delete前最后提交的狀態(tài)。 commit 提交。在完成數(shù)據(jù)庫(kù)的插入,刪除和修改操作時(shí),只有當(dāng)事務(wù)提交到數(shù)據(jù)庫(kù)才算完成,有提交前只有操作數(shù)據(jù)庫(kù)的本人才能看到,別人只有在最后提交完成才可以看到。接下來(lái),我們?cè)赟QL*Plus中實(shí)戰(zhàn)一下,為我們下面將要做的打好基礎(chǔ)。用system登陸到SQL*Plus后,我們做如下操作: SQLcreate user maxuan identified by max;#創(chuàng)建口令為max的用戶maxuanSQLgrant connect,resource to maxuan; #為用戶maxuan授權(quán)SQLconn maxuan/max;#以用戶maxuan進(jìn)行連接Lcreate table test(a number);#建立一個(gè)名為test的表,只有字段名為A的一列,數(shù)據(jù)類型為數(shù)字SQLinsert into test values(1); #插入一條記錄SQLselect * from test; #查詢記錄,此時(shí)A列的第一行為1SQLupdate test set a=2; #更改記錄,此時(shí)A列的第一行已改為2SQLcommit;#提交SQLdelete from test;#刪除test表中所有的記錄,此時(shí)test表中沒(méi)有記錄SQLroll; #回滾到提交前,此時(shí)再查詢test表,A列第一行值又回復(fù)到2oracle的數(shù)據(jù)類型在數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)表的時(shí)候,我們需要定義表中所有字段的類型,數(shù)據(jù)類型大致分為:character,numberic,date,lob和raw等,這些是最基本的數(shù)據(jù)類型。當(dāng)然在oracle中也允許自定義數(shù)據(jù)類型。在oracle中提供的character數(shù)據(jù)類型:char():固定長(zhǎng)度字符串,最大長(zhǎng)度為2000字節(jié),如果不指定長(zhǎng)充,缺省為1個(gè)字節(jié)長(zhǎng)。varchar2():可變長(zhǎng)度的字符串,最大長(zhǎng)度為4000字節(jié),具體定義時(shí)指明最大長(zhǎng)度,這咱類型可以放數(shù)字、字母以及ASCII碼字符集(或者EBCDIC等數(shù)據(jù)庫(kù)系統(tǒng)接受的字符集標(biāo)準(zhǔn))中的所有符號(hào)。如果數(shù)據(jù)長(zhǎng)度沒(méi)有達(dá)到最大值,oracle會(huì)根據(jù)數(shù)據(jù)大小自動(dòng)調(diào)節(jié)字段長(zhǎng)度。是最長(zhǎng)用的數(shù)據(jù)類型。nchar():根據(jù)字符集而定的固定長(zhǎng)度字符串,最大長(zhǎng)度2000字節(jié)。nvarchar2():根據(jù)字符集而定的可變長(zhǎng)度字符串,最大長(zhǎng)度4000字節(jié)。long:可變長(zhǎng)字符列,最大長(zhǎng)度限制為2GB,用于不需要作字符串搜索的長(zhǎng)串?dāng)?shù)據(jù)。此類型是一個(gè)遺留下來(lái)的而且將來(lái)不會(huì)被支持的數(shù)據(jù)類型,逐漸被BLOB,CLOB,NCLOB等大的數(shù)據(jù)類型所取代。numberic數(shù)據(jù)類型用來(lái)存儲(chǔ)負(fù)的和正的整數(shù),分?jǐn)?shù)和浮點(diǎn)型數(shù)據(jù),在oracle中提供的numberic數(shù)據(jù)類型:number:可變長(zhǎng)的數(shù)值列,允許0、正值及負(fù)值,m是所有的有效數(shù)字的位數(shù),n是小數(shù)點(diǎn)以后的位數(shù)。在oracle中提供的date數(shù)據(jù)類型:date:缺省格式是dd-mon-yy(日-月-年)在oracle中提供的lob數(shù)據(jù)類型:blob、clob、nclob:三種大型對(duì)象(lob),用來(lái)保存較大的圖形文件或帶格式的文本文件,如word文檔,以及音頻、視頻等非文本文件,最大長(zhǎng)充是4GB。暈些數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)內(nèi)部保存。bfile:在數(shù)據(jù)庫(kù)外部保存的大型二進(jìn)制對(duì)象文件,最大長(zhǎng)度是4GB,這種外部的LOB類型,通過(guò)數(shù)據(jù)庫(kù)記錄變化情況,但是數(shù)據(jù)的具體保存是在數(shù)據(jù)庫(kù)外部進(jìn)行的。在oracle中提供的raw數(shù)據(jù)類型:raw():可變長(zhǎng)二進(jìn)制數(shù)據(jù),具體定義字段時(shí)必須指明最大長(zhǎng)度,這種格式用來(lái)保存較小的圖形文件或帶格式的文本文件,它也是一種較老的數(shù)據(jù)類型,將被lob數(shù)據(jù)類型所取代。long raw:可變長(zhǎng)二進(jìn)制數(shù)據(jù),最大長(zhǎng)度是2GB,可以用來(lái)保存較大的圖形或帶格式的文本文件,以及音頻、視頻等非文本文件,這也是一種較老的數(shù)據(jù)類型,將被lob數(shù)據(jù)類型所取代。其它的數(shù)據(jù)類型:rowid:這是oracle數(shù)據(jù)表中的一個(gè)偽例,它是數(shù)據(jù)表中每行數(shù)據(jù)內(nèi)在的唯一標(biāo)識(shí)integer:整數(shù)類型四、創(chuàng)建購(gòu)物網(wǎng)站后臺(tái)數(shù)據(jù)庫(kù)現(xiàn)在我們回到用J2EE體系開(kāi)發(fā)購(gòu)物網(wǎng)站的主題,開(kāi)始實(shí)戰(zhàn)建購(gòu)物網(wǎng)站的后臺(tái)數(shù)據(jù)庫(kù)。為了實(shí)現(xiàn)購(gòu)物網(wǎng)站的基本的功能,我們需要建立四個(gè)表:商品列表(products)、商品類型表(item)、訂單列表(orders)和管理員列表(admin)。表結(jié)構(gòu)如下所示:item表結(jié)構(gòu)(商品類型表)字段名稱 數(shù)據(jù)類型 允許空 主鍵/外鍵 備注 type_id INTEGER(自動(dòng)編號(hào)) 否 主鍵 商品類別ID標(biāo)記type varchar2(30) 否 商品類別名稱product表結(jié)構(gòu)(商品列表)字段名稱 數(shù)據(jù)類型 允許空 主鍵/外鍵 備注product_id INTEGER(自動(dòng)編號(hào)) 否 主鍵 商品ID標(biāo)記title varchar2(30) 否 商品名稱type_id INTEGER 否 外鍵 商品類別標(biāo)記info varchar2(80) 是 商品簡(jiǎn)介price number(16,2) 否 商品價(jià)格orders表結(jié)構(gòu)(訂單列表)字段名稱 數(shù)據(jù)類型 允許空 主鍵/外鍵 備注order_id INTEGER(自動(dòng)編號(hào)) 否 主鍵 訂單ID標(biāo)記name varchar2(20) 否 顧客姓名address varchar2(100) 是 發(fā)貨地址tel number(16) 是 聯(lián)系電話email varchar2(30) 否 聯(lián)系emailbtime date 是 訂購(gòu)日期product_id INTEGER 否 外鍵 商品標(biāo)記uword varchar2(100) 是 顧客留言admin表結(jié)構(gòu)(管理員列表) 字段名稱 數(shù)據(jù)類型 允許空 主鍵/外鍵 備注admin_id INTEGER(自動(dòng)編號(hào)) 否 主鍵 管理員ID標(biāo)記adminname varchar2(20) 否 管理員名稱password varchar2(20) 否 管理員密碼設(shè)計(jì)完表結(jié)構(gòu)后,我們就要開(kāi)始創(chuàng)建了。創(chuàng)建表我想已經(jīng)不是什么難事了,那么我們要注意的是product、item、orders這三個(gè)表之間的關(guān)聯(lián),還有自動(dòng)編號(hào)。 下面是完整的SQL語(yǔ)句,在后面我會(huì)給出詳細(xì)的說(shuō)明,你可以在SQL*Plus里對(duì)照著輸入,也可以將它存為SQL腳本文件,在SQL*Plus或SQLPlus Worksheet里執(zhí)行。當(dāng)然也可以把代碼直接拷貝到SQL*Plus里執(zhí)行! rem /BY MAXUAN 開(kāi)始/create table item(type_id integer not null,type varchar2(30),constraint item_pk primary key(type_id);create table product(product_id integer not null,title varchar2(30) not null, type_id integer not null,info varchar2(80),price number(16,2) not null,constraint product_pk primarykey (product_id),constraint product_fk foreign key(type_id) references item(type_id);create table orders(order_id integer not null,name varchar2(20) not null,address varchar2(100),tel number(16),email varchar2(30) not n
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 倫敦商鋪轉(zhuǎn)讓合同范例
- 2025年谷糙分離設(shè)備項(xiàng)目合作計(jì)劃書(shū)
- 買安置房合同范例
- 2025版新高考化學(xué)一輪復(fù)習(xí)第8章有機(jī)化學(xué)含選修第2節(jié)重要的烴教學(xué)案魯科版
- 上門銷毀服務(wù)合同范例
- 2025年通信廣播有效載荷項(xiàng)目建議書(shū)
- 保潔設(shè)備購(gòu)買合同范例
- 關(guān)于杯子購(gòu)銷合同范例
- 代寫供應(yīng)合同范例
- 排樁支護(hù)施工方案
- 食堂場(chǎng)所及設(shè)施設(shè)備清洗消毒和維修保養(yǎng)制度
- 【S鎮(zhèn)35kV變電站一次系統(tǒng)設(shè)計(jì)(論文)14000字】
- 電子商務(wù)視覺(jué)設(shè)計(jì)(第2版)完整全套教學(xué)課件
- 人民醫(yī)院樣本外送檢測(cè)管理制度
- 會(huì)計(jì)制度設(shè)計(jì) 課件 項(xiàng)目三 任務(wù)二 貨幣資金業(yè)務(wù)會(huì)計(jì)制度設(shè)計(jì)
- 【電動(dòng)自行車諧振式無(wú)線充電系統(tǒng)設(shè)計(jì)(論文)10000字】
- Unit 3 On the Move單詞講解 課件高中英語(yǔ)外研版(2019)必修第二冊(cè)
- 2024-2030年中國(guó)房地產(chǎn)經(jīng)紀(jì)行業(yè)市場(chǎng)發(fā)展分析及競(jìng)爭(zhēng)格局與投資前景研究報(bào)告
- 1shopee課程簡(jiǎn)介認(rèn)識(shí)蝦皮
- 信息系統(tǒng)項(xiàng)目驗(yàn)收方案
- 2024年新北師大版七年級(jí)上冊(cè)數(shù)學(xué) 問(wèn)題解決策略:直觀分析 教學(xué)課件
評(píng)論
0/150
提交評(píng)論