Java論壇管理系統(tǒng)——畢業(yè)論文
《Java論壇管理系統(tǒng)——畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《Java論壇管理系統(tǒng)——畢業(yè)論文(30頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、信息工程學(xué)院數(shù)據(jù)庫數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)課程設(shè)計(jì)論文題 目:Java論壇管理系統(tǒng)姓 名: 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 指導(dǎo)老師: 完成日期: 摘 要Java論壇管理系統(tǒng)主要是實(shí)現(xiàn)在網(wǎng)上進(jìn)行交流和學(xué)習(xí)Java語言,本論壇提供用戶注冊、發(fā)帖和回帖等論壇的基本功能,劃分J2SE、J2EE、J2ME和開發(fā)工具的使用等版塊,使用合理的管理方法管理論壇,嚴(yán)格保證帖子質(zhì)量,為Java愛好者提供一個(gè)學(xué)習(xí)Java的好地方。本系統(tǒng)采用SQL2000作為后臺數(shù)據(jù)庫,使用MVC框架,由Servlet負(fù)責(zé)處理最初的請求轉(zhuǎn)發(fā)到j(luò)sp頁面顯示最后的結(jié)果,JSP頁面使用bean,系統(tǒng)具有很好的移植性和跨平臺性。關(guān)鍵字:Java論壇
2、;管理;MVC;目錄1 引言12 數(shù)據(jù)庫設(shè)計(jì)12.1.1需求設(shè)計(jì)11、引言12、目標(biāo)與任務(wù)13、階段結(jié)果32.1.2概念設(shè)計(jì)62.1.2.1目標(biāo)與任務(wù)62.1.2.2概念模型設(shè)計(jì)62.1.3邏輯設(shè)計(jì)92.1.3.1目標(biāo)與任務(wù)92.1.3.2數(shù)據(jù)組織92.1.3.3數(shù)據(jù)處理方面122.1.4物理設(shè)計(jì)132.1.4目標(biāo)與任務(wù)132.1.4.2數(shù)據(jù)存取方面142.1.4.3功能模塊142.1.5數(shù)據(jù)庫實(shí)施152.1.6數(shù)據(jù)庫調(diào)試與試運(yùn)行163 收獲與體會184 存在問題與建議18附錄181數(shù)據(jù)字典182存儲過程:203基本表:244視圖275參考資料271 引言隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)上學(xué)習(xí)和交流已成為
3、現(xiàn)代人的一種時(shí)尚,論壇是提供這種環(huán)境中的重要的部分。但是多數(shù)論壇十分繁雜,管理不規(guī)范,帖子混雜,很難滿足用戶的需要。 本次課程設(shè)計(jì)的題目為Java論壇管理系統(tǒng),實(shí)現(xiàn)了論壇的基本功能即用戶的注冊、用戶發(fā)帖回帖、管理員管理論壇等,主要任務(wù)是完成詳細(xì)的數(shù)據(jù)庫的設(shè)計(jì),為以后完整系統(tǒng)的設(shè)計(jì)打下堅(jiān)實(shí)的基礎(chǔ),其它論壇擴(kuò)展功能以后在實(shí)現(xiàn)。本次數(shù)據(jù)庫設(shè)計(jì)重視數(shù)據(jù)庫理論知識的學(xué)習(xí)和數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì),對數(shù)據(jù)庫的學(xué)習(xí)有中要的意義。2 數(shù)據(jù)庫設(shè)計(jì) 2.1.1需求設(shè)計(jì)1、引言 目前Java語言比較流行,學(xué)習(xí)Java的人群也特別的多。Java語言需要學(xué)習(xí)的內(nèi)容非常多,而且Java語言也是一個(gè)不斷變化的語言和完善的語言,要比
4、較系統(tǒng)的學(xué)習(xí)Java,傳統(tǒng)的一個(gè)人學(xué)習(xí)方式很難學(xué)好Java,上網(wǎng)學(xué)習(xí)和交流能比較好的解決此問題。目前的論壇比較多,但比較的繁雜,大多論壇沒有規(guī)范的帖子管理,對學(xué)習(xí)Java沒有多大的幫助。開發(fā)一個(gè)Java論壇管理系統(tǒng)就是要改變傳統(tǒng)的學(xué)習(xí)方法和解決許多論壇管理不規(guī)范的問題。本論壇只討論Java技術(shù),嚴(yán)格保證帖子的質(zhì)量和安全問題,提供Java愛好者一個(gè)良好和舒適的交流平臺。本論壇具有很好的教育價(jià)值,同時(shí)具有很好的可重用性,稍加改變就能作為其它的論壇。如今論壇是Internet中比較受歡迎的技術(shù),是大多數(shù)網(wǎng)站不可缺少的一部分,所以論壇對網(wǎng)站的開發(fā)也非常有價(jià)值。2、目標(biāo)與任務(wù)目標(biāo):通過需求分析,充分了解
5、用戶需求,明確系統(tǒng)的業(yè)務(wù)流程和系統(tǒng)的功能,完成數(shù)據(jù)流圖和數(shù)據(jù)字典等內(nèi)容,為以后整個(gè)系統(tǒng)設(shè)計(jì)提供依據(jù)。任務(wù):處理對象:用戶信息:(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),是否刪除)帖子信息:(帖子id,版面id號,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),所屬版面,發(fā)帖時(shí)間,發(fā)帖用戶)版面信息(版面id號,版面名稱,版主名稱,版面主題數(shù))版主信息(版主名稱,密碼,郵箱)管理員信息(管理員名,密碼,郵箱)處理功能要求: 用戶注冊登錄功能模塊(用戶注冊以及修改注冊信息) 瀏覽功能模塊(用戶瀏覽版塊、主題列表、查看帖子) 帖子管理功能模塊(管理員編輯、刪除、置頂和指定精華帖) 管理版塊功能模塊(管理
6、員創(chuàng)建、修改和刪除版塊) 用戶管理模塊(管理員添加、刪除和設(shè)置用戶權(quán)限)安全性和完整性要求:安全性:論壇管理系統(tǒng)是提供一個(gè)交流平臺,安全問題主要是防止黑客的攻擊,數(shù)據(jù)庫需要運(yùn)行在防火墻后面。要防止非法用戶訪問數(shù)據(jù)庫,對數(shù)據(jù)庫進(jìn)行修改,管理員需要進(jìn)行合理的用戶權(quán)限設(shè)置。(1) 論壇的用戶分4個(gè)級別:匿名用戶、普通用戶、版主和系統(tǒng)管理員(2) 用戶在未登錄前只能瀏覽論壇中的帖子,已登錄的用戶可以在已有的版塊發(fā)布新主題和回復(fù)帖子。(3) 論壇為每個(gè)注冊的用戶建立個(gè)人資料,用戶本人可以修改個(gè)人資料。(4) 版主除有普通用戶的權(quán)限外,還可以對版面進(jìn)行管理:刪除、推薦、鎖定帖子、解除推薦、解除鎖定。(5)
7、 論壇管理員除有版主的權(quán)限外,還可以添加、刪除版塊,對論壇中所有版塊的屬性進(jìn)行編輯,對用戶的所有資料進(jìn)行修改和刪除用戶。論壇權(quán)限如下表1:對象實(shí)體功能方法用戶類型版塊瀏覽列表注冊用戶版塊創(chuàng)建版塊管理員版塊修改版塊管理員版塊刪除版塊管理員帖子瀏覽列表注冊用戶帖子發(fā)帖注冊用戶帖子回帖注冊用戶帖子搜集注冊用戶帖子編輯(自己所有)注冊用戶帖子編輯(全部)管理員帖子刪除管理員帖子置頂管理員帖子指定精華管理員用戶注冊注冊用戶用戶注冊用戶登錄注冊用戶用戶管理員登錄管理員用戶刪除管理員用戶指定權(quán)限管理員實(shí)體完整性:用戶信息:用戶必須唯一步能為空,密碼不能為空,郵箱可以為空,用戶等級、發(fā)帖和回帖由系統(tǒng)設(shè)置,是否
8、刪除由管理員設(shè)置。帖子信息:帖子的id號不能為空,帖子主題不能為空,帖子內(nèi)容不能為空,帖子等級、帖子被訪問的次數(shù)和發(fā)帖時(shí)間由系統(tǒng)設(shè)置,所屬版面不能為空,發(fā)帖用戶由日志提供。版面信息:版面id號唯一步能為空,版面名稱唯一步能為空,版主不能為空版主信息:(版主名稱不能為空,密碼不能為空,郵箱可以為空)參考完整性:版面信息中:版面參考版主信息表中的版主名,版主要么為空,要么和版主信息中的版主名相同。自定義完整性:帖子的主題長度不能超過400個(gè)字節(jié),帖子的內(nèi)容長度不能超過1000個(gè)字節(jié)。3、階段結(jié)果(1)調(diào)查方式:1、通過詢問同學(xué)征詢同學(xué)的意見2、圖書管查閱資料3、上網(wǎng)了解一些論壇提供的功能體會:需求
9、分析需要耐心的多了解用戶的要求,然后要學(xué)會分析和提取有用的材料收獲:聽取了許多好的建議,對系統(tǒng)的整體構(gòu)架有了清晰的認(rèn)識。(2)業(yè)務(wù)流程圖瀏覽者用 戶注冊登錄瀏覽版塊管理版塊管理用戶管理帖子回帖瀏覽帖子搜集管理員發(fā)帖圖 例 :實(shí)體:處理過程:單向處理流程:雙向處理流程 圖1.1(3)數(shù)據(jù)圖(DFD圖)圖 例 :數(shù)據(jù)源:數(shù)據(jù)加工:單向數(shù)據(jù)流程:雙向數(shù)據(jù)流程:數(shù)據(jù)存儲回復(fù)帖子用 戶回帖表版主相關(guān)內(nèi)容檢測用戶版面表用戶管理帖子選擇版塊帖 子修改用戶資料顯示主題帖子表帖子發(fā)帖登錄版主表檢測管理帖子表更新更新顯示管理員檢測用戶管理用戶檢測登錄管理等級用戶表更新用戶版面表更新管理版面更新顯示版面用 戶瀏覽注
10、冊用戶注冊覽登錄登錄檢測用戶用戶信息表寫回檢測瀏覽瀏覽版面發(fā)送帖子管理員表修改(4)數(shù)據(jù)字典。(見附錄)2.1.2概念設(shè)計(jì)2.1.2.1目標(biāo)與任務(wù)目標(biāo):將需求分析得到的用戶需求抽象為信息結(jié)構(gòu),設(shè)計(jì)并生成E_R圖。任務(wù):設(shè)計(jì)各個(gè)分E-R圖,并消除局部E-R圖存在的沖突,合并成基本E-R圖特點(diǎn):(1) 能真實(shí)的反映現(xiàn)實(shí)世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求。是對現(xiàn)實(shí)世界的一個(gè)真實(shí)模型。(2) 易于理解,從而可以用它和不熟悉計(jì)算機(jī)的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫的設(shè)計(jì)成功的關(guān)鍵。(3) 易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變是,容易對概念模型修改和擴(kuò)充。(4) 易于向關(guān)系、網(wǎng)狀
11、、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。 2.1.2.2概念模型設(shè)計(jì) (1)設(shè)計(jì)分E-R圖,即各子模塊的E-R圖; 用 戶發(fā)帖帖子回帖1mn圖1.1用戶和帖子E-R圖n用戶(用戶名,密碼,郵箱,等級,發(fā)帖數(shù),回帖數(shù))帖子(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))發(fā)帖(發(fā)帖時(shí)間)回帖(回帖id,帖子i d,內(nèi)容,用戶名,回帖時(shí)間)用 戶m圖1.2用戶和版面E-R圖n版 面瀏覽用戶(用戶名,密碼,郵箱,等級,發(fā)帖數(shù),回帖數(shù))版面(版面id號,版面名稱,版主名稱,版面主題數(shù))瀏覽(瀏覽時(shí)間)管理員m圖1.3用戶和版面E-R圖n用 戶管理管理員信息(管理員名,密碼,郵箱)用戶(用戶名,密碼,郵箱,等級,發(fā)帖
12、數(shù),回帖數(shù))管理(管理行為)版面1圖1.4用戶和版面E-R圖m帖子從屬帖子信息:(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))版面(版面id號,版面名稱,版主名稱,版面主題數(shù))從屬(所屬版面)圖1.5版主和帖子E-R圖版主管 理帖 子1n版主信息(版主名稱,密碼,郵箱)帖子信息:(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))管理(管理行為)圖1.6版主和版面E-R圖管理員管 理版面1n版面(版面id號,版面名稱,版主名稱,版面主題數(shù))管理員信息(管理員名,密碼,郵箱)管理(管理行為)(2)生成全局E-R圖,通過消除沖突等方面 用 戶發(fā)帖回帖帖 子版 主管理版面從屬n1nn1n管理mnn
13、n圖1.7基本E-R圖管理員瀏覽mnm管理nm 2.1.3邏輯設(shè)計(jì)2.1.3.1目標(biāo)與任務(wù)目標(biāo):完成E-R圖到數(shù)據(jù)庫模式的轉(zhuǎn)換,優(yōu)化各個(gè)關(guān)系模式任務(wù):把概念結(jié)構(gòu)設(shè)計(jì)階段好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。2.1.3.2數(shù)據(jù)組織(1)將E-R模型轉(zhuǎn)換為關(guān)系模型 (描述轉(zhuǎn)換的原則、轉(zhuǎn)換的結(jié)果)。 如圖1.7所示: 一、用戶和帖子具有兩個(gè)關(guān)系:(1)用戶回帖,因?yàn)橛脩艉吞拥年P(guān)系是m對n的關(guān)系,所以將聯(lián)系類型也轉(zhuǎn)換關(guān)系模式,其屬性為兩端實(shí)體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實(shí)體鍵的組合。用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)
14、帖子(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))回帖(回帖id,用戶名,帖子i d,內(nèi)容,回帖時(shí)間)(2)用戶發(fā)帖,用戶和帖子的關(guān)系是1對多的關(guān)系。所以可以聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的模式,也可以與n端對應(yīng)的模式合并。這里把聯(lián)系屬性合并到n端實(shí)體。用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)帖子(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),發(fā)帖時(shí)間)二、 管理員和用戶的關(guān)系為m對n,所以將聯(lián)系類型也轉(zhuǎn)換關(guān)系模式,其屬性為兩端實(shí)體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實(shí)體鍵的組合。用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)管理員(管
15、理員名,密碼,郵箱)管理(用戶名,管理員名,管理)三、版主和帖子為m對n的關(guān)系,所以將聯(lián)系類型也轉(zhuǎn)換關(guān)系模式,其屬性為兩端實(shí)體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實(shí)體鍵的組合。 版主(版主名稱,密碼,郵箱) 帖子(帖子id,版主名稱,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))管理帖子(版主名稱,帖子id ,管理行為)四、管理員和版面是m對n的關(guān)系,所以可以轉(zhuǎn)換為一個(gè)獨(dú)立的模式管理員(管理員名,密碼,郵箱)版面(版面id號,版面名稱,版主名稱,版面主題數(shù)) 管理(管理員名,版面id號,管理行為)五、版面和用戶是多對多的關(guān)系。所以將聯(lián)系類型也轉(zhuǎn)換關(guān)系模式,其屬性為兩端實(shí)體類型的鍵加上聯(lián)系類型的屬性,
16、而鍵為兩端實(shí)體鍵的組合。版面(版面id號,版面名稱,版主名稱,版面主題數(shù))用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)瀏覽(用戶名,版面id號,瀏覽時(shí)間)六、版面和帖子是1對多的關(guān)系,所以把聯(lián)系屬性合并到n端實(shí)體版面(版面id號,版面名稱,版主名稱,版面主題數(shù))帖子(帖子id,版面id號,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),所屬版面)七、由E_R圖轉(zhuǎn)化后得到的關(guān)系模式用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)帖子(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))帖子(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),發(fā)帖時(shí)間)帖子(帖子
17、id,版面id號,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),所屬版面)回帖(用戶名,帖子i d,內(nèi)容,回帖時(shí)間)管理員(管理員名稱,密碼,郵箱)瀏覽(用戶名,版面id號,瀏覽時(shí)間)管理用戶(用戶名,管理員名,管理)管理版面(管理員名稱,版面id號,管理行為)管理帖子(版主名稱,帖子id ,管理行為)版主(版主名稱,密碼,郵箱)版面(版面id號,版面名稱,版主名稱,版面主題數(shù))八、消除不一致后得:用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)帖子(帖子id,版面id號,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),發(fā)帖時(shí)間,發(fā)帖用戶)回帖(回帖id,帖子i d,用戶名,內(nèi)容,回帖時(shí)
18、間,帖子等級)管理員(管理員名稱,密碼,郵箱)版主(版主名稱,密碼,郵箱,版主狀態(tài))瀏覽(瀏覽id,用戶名,版面id號,瀏覽時(shí)間)管理用戶(管理id,用戶名,管理員名,管理行為)管理版面(管理id,管理員名稱,版面id號,管理行為)管理帖子(管理id,版主名稱,帖子id ,管理行為)版面(版面id號,版面名稱,版主名稱,版面主題數(shù),版面狀態(tài))(2)模型優(yōu)化以上關(guān)系都達(dá)到了3NF,不需要在分解(3)完成數(shù)據(jù)庫模式定義,包括各模式的邏輯結(jié)構(gòu)定義、關(guān)系的完整性和安全性等內(nèi)容。member(u_name,u_password,u_email,u_step,u_post,u_return,jinghuc
19、ount,u_stat) u_name為主鍵,不能為空,而且是唯一的,u_password也不能為空,其它由系統(tǒng)管理員設(shè)置。topic(t_id ,bm_id ,t_theme,t_content,t_stept_count,t_posttime, l_name )t_id為主鍵,bm_id和,l_name為參考外鍵,都不能為空,t_theme,t_content都不能為空,t_step,t_count,t_posttime由系統(tǒng)設(shè)置reply( r_id, t_id, l_name,r_conten, r_time, r_step)r_id 為主鍵,t_id和l_name為參考外鍵,都不能為
20、空,r_conten也不能為空,r_time, r_step由管理員和系統(tǒng)設(shè)置。minister(m_name,_m_password ,m_email)m_name為主鍵,m_name, m_password不能為空banzhu(bzh_name ,bzh_password, bzh_state)bzh_name為主鍵,bzh_password不能為空,bzh_state由管理員設(shè)置browsing(l_id, bm_id ,u_name,l_time); l_id為主鍵,bm_id和u_name為外鍵參考,都不能為空mini_user( m_id,m_name, u_name, dowha
21、t);m_id為主鍵,m_name和u_name為外鍵參考,都不能為空,dowhat由管理員設(shè)置mini_topic( mt_id, bzh_name,t_id, dowhat);mt_id為主鍵,bzh_name和t_id為外鍵參考,都不能為空,dowhat由管理員設(shè)置mini_banmian( mb_id , m_name, bm_id, dowhat ); mb_id為主鍵,m_name和bm_id為外鍵參考,都不能為空,dowhat由管理員設(shè)置banmian(bm_id, bm_name, bzh_name, bm_themecount );bm_id為主鍵,bm_name和bzh_n
22、ame為外鍵參考,都不能為空rizhi(l_name, l_time)l_name為主鍵,不能為空,l_time由系統(tǒng)設(shè)置。(4)設(shè)計(jì)用戶子模式視圖設(shè)計(jì),完成適合不同用戶的子模式設(shè)計(jì)。編號模式子模式用戶作用1版面版面視圖所有用戶查看包含的版塊2帖子主題列表視圖1所有用戶不同的用戶選擇不同的版塊查看最新主題主題列表視圖2主題列表視圖n不合格帖子視圖版主刪除不合格的帖子3用戶用戶視圖各自用戶查看各自資料,并進(jìn)行修改在線用戶視圖注冊用戶查看所有在線用戶黑名單視圖管理員刪除被列出的用戶4版主版主視圖管理員查看版主信息5管理員管理員視圖管理員查看管理員信息2.1.3.3數(shù)據(jù)處理方面 系統(tǒng)的功能模塊圖如下
23、:注冊登錄用戶用戶管理選擇版塊發(fā)帖回帖瀏覽帖子管理版塊管理帖子搜索管理員2.1.4物理設(shè)計(jì)2.1.4目標(biāo)與任務(wù)目標(biāo):提供存儲中數(shù)據(jù)的合適結(jié)構(gòu),而且要以合適的方式對性能提供保證。任務(wù): 一確定數(shù)據(jù)庫的物理結(jié)構(gòu)1確定數(shù)據(jù)的存儲結(jié)構(gòu) 確定數(shù)據(jù)庫存儲結(jié)構(gòu)時(shí)要綜合考慮存取時(shí)間、存儲空間利用率和維護(hù)代價(jià)三方面的因素。這三個(gè)方面常常是相互矛盾的,例如消除一切冗余數(shù)據(jù)雖然能夠節(jié)約存儲空間,但往往會導(dǎo)致檢索代價(jià)的增加,因此必須進(jìn)行權(quán)衡,選擇一個(gè)折中方案。2設(shè)計(jì)數(shù)據(jù)的存取路徑在關(guān)系數(shù)據(jù)庫中,選擇存取路徑主要是指確定如何建立索引。例如,應(yīng)把哪些域作為次碼建立次索引,建立單碼索引還是組合索引,建立多少個(gè)為合適,是否建
24、立聚集索引等。3確定數(shù)據(jù)的存放位置 為了提高系統(tǒng)性能,數(shù)據(jù)應(yīng)該根據(jù)應(yīng)用情況將易變部分與穩(wěn)定部分、經(jīng)常存取部分和存取頻率較低部分分開存放。4確定系統(tǒng)配置DBMS產(chǎn)品一般都提供了一些存儲分配參數(shù),供設(shè)計(jì)人員和DBA對數(shù)據(jù)庫進(jìn)行物理優(yōu)化。初始情況下,系統(tǒng)都為這些變量賦予了合理的缺省值。但是這些值不一定適合每一種應(yīng)用環(huán)境,在進(jìn)行物理設(shè)計(jì)時(shí),需要重新對這些變量賦值以改善系統(tǒng)的性能。通常情況下,這些配置變量包括:同時(shí)使用數(shù)據(jù)庫的用戶數(shù),同時(shí)打開的數(shù)據(jù)庫對象數(shù),使用的緩沖區(qū)長度、個(gè)數(shù),時(shí)間片大小、數(shù)據(jù)庫的大小,裝填因子,鎖的數(shù)目等等,這些參數(shù)值影響存取時(shí)間和存儲空間的分配,在物理設(shè)計(jì)時(shí)就要根據(jù)應(yīng)用環(huán)境確定這
25、些參數(shù)值,以使系統(tǒng)性能最優(yōu)。在物理設(shè)計(jì)時(shí)對系統(tǒng)配置變量的調(diào)整只是初步的,在系統(tǒng)運(yùn)行時(shí)還要根據(jù)系統(tǒng)實(shí)際運(yùn)行情況做進(jìn)一步的調(diào)整,以期切實(shí)改進(jìn)系統(tǒng)性能。 二評價(jià)物理結(jié)構(gòu)數(shù)據(jù)庫物理設(shè)計(jì)過程中需要對時(shí)間效率、空間效率、維護(hù)代價(jià)和各種用戶要求進(jìn)行權(quán)衡,其結(jié)果可以產(chǎn)生多種方案,數(shù)據(jù)庫設(shè)計(jì)人員必須對這些方案進(jìn)行細(xì)致的評價(jià),從中選擇一個(gè)較優(yōu)的方案作為數(shù)據(jù)庫的物理結(jié)構(gòu)。評價(jià)物理數(shù)據(jù)庫的方法完全依賴于所選用的DBMS,主要是從定量估算各種方案的存儲空間、存取時(shí)間和維護(hù)代價(jià)入手,對估算結(jié)果進(jìn)行權(quán)衡、比較,選擇出一個(gè)較優(yōu)的合理的物理結(jié)構(gòu)。如果該結(jié)構(gòu)不符合用戶需求,則需要修改設(shè)計(jì)。2.1.4.2數(shù)據(jù)存取方面用戶表以用戶名
26、建立唯一性索引,因?yàn)橛脩裘仟?dú)一無二的。帖子表以帖子id號建立唯一性索引回帖表以帖子id號建聚簇索引,用于檢索某個(gè)帖子用戶的所有回復(fù)。2.1.4.3功能模塊用戶注冊模塊:input message check member table if(u_name in member table) out user is in the member ,change for other name else successful message put into membertable用戶登錄模塊:input name and password check member talbe if(name=u_na
27、me&password!=u_password) fault; else successful管理帖子:check topic table if(topic is not normal) set topic t_step=-1or1or0updateTopic管理用戶帖子、管理版面帖子類似管理帖子,這里省略發(fā)送帖子:input username check rizhi if( usrname in rizhi) input topic message and send out to topic table else fault回帖類似發(fā)帖(省略)其它模塊(省略)2.1.5數(shù)據(jù)庫實(shí)施目標(biāo):完成數(shù)
28、據(jù)庫系統(tǒng)的建立,并使用存儲過程完成數(shù)據(jù)庫功能 任務(wù):(1)建立數(shù)據(jù)庫、數(shù)據(jù)表、視圖、索引等存儲過程等DDL定義,并完成完整性、安全性等要求定義;可用DDL語言或SQL腳本任意一種形式表現(xiàn)。(見附錄)(2)數(shù)據(jù)入庫(3)完成處理過程、系統(tǒng)主要功能(查詢、更新、簡單統(tǒng)計(jì)等),均需要使用存儲過程完成。 存儲過程編號名稱作用1ChangeMyInformateion可以用來更改用戶的注冊資料2Denglu登錄用戶信息檢測,并把用戶名記錄在日志里3Jinghuatie用來檢索精華帖4LookBM列出所有的版面信息5LookBZH查看版主信息6MinisterBanzhu管理版主7MinsterReply
29、管理回復(fù)的帖子8Ministerbanmian管理版面9MinisterTopic管理帖子10MinsterUser管理用戶11MyInformation查看用戶自己的信息12Myteme查看所有我發(fā)的主題13OnlineUser查看在線用戶14Postreply回復(fù)帖子15PostTopic發(fā)送帖子16Peply_Content查看回復(fù)的信息17Theme查看所有的主題18Theme_Content查看主題的內(nèi)容19Updatetopic更新帖子20Updateusers更新用戶21Updatereply更新回復(fù)的帖子22userInformation所有用戶的信息23Zhuce注冊用戶(存
30、儲過程見附錄)2.1.6數(shù)據(jù)庫調(diào)試與試運(yùn)行(1)說明系統(tǒng)測試方法本次測試主要使用黑盒測試的方法,即功能測試,輸入測試數(shù)據(jù),看輸出的結(jié)果以意想的對不對(2)測試內(nèi)容,主要從功能測試和性能測試兩個(gè)方面 存儲過程的測試: ChangeMyInformation jaclieren,565689,jacshan,565689, DengLu dede,3232execute Reply_Contentexecute Theme declare string varchar(1000)execute Theme_Content string outputselect the Theme_Content
31、is:,stringexecute MyInformation iileypostReply 15,2,我覺得Servlet and jsp 核心編程還可以,jacshanpostTopic 過年了,散分了,祝大家新年快樂, ha,ha!, jacshan,2Zhuce jaclieren,565689,這是部分存儲過程的測試,全部都正常完成,其它不在此一一列出,視圖的測試也都正常運(yùn)行,這里省略3 收獲與體會本次實(shí)習(xí)主要是完成數(shù)據(jù)庫的設(shè)計(jì),對數(shù)據(jù)庫的各階段寫出詳細(xì)的說明文檔。對我來說是一個(gè)挑戰(zhàn),因?yàn)槲液苌賹戇^文檔,以前寫的任何一個(gè)程序都是單刀直入,從不寫文檔,也不畫任何程序流程圖。本次實(shí)習(xí)體會
32、最深刻的就是需求分析,通過寫需求分析文檔,我深刻的體會到了需求分析在整個(gè)系統(tǒng)設(shè)計(jì)中的重要性即:要全面的進(jìn)行需求分析,了解用戶的需求,這樣可以減少以后設(shè)計(jì)的困難,完成需求分析對整個(gè)系統(tǒng)的功能和構(gòu)架就非常的清晰,需求不完善將影響以后的所以設(shè)計(jì)。也體會到了交流的重要性,通過交流可以發(fā)現(xiàn)自己在系統(tǒng)設(shè)計(jì)方面存在很多缺陷,交流不僅可以找出系統(tǒng)設(shè)計(jì)的不合理性,還可以減少需求分析的不確定性。在其它階段的設(shè)計(jì)中對數(shù)據(jù)庫中的模式有了新的認(rèn)識,理解了三模式兩映像的重要性。整個(gè)系統(tǒng)設(shè)計(jì)使我對數(shù)據(jù)庫和軟件工程有了新的認(rèn)識,特別是對數(shù)據(jù)流圖的概念的理解,對數(shù)據(jù)庫的一些基本概念有了進(jìn)一步的理解,也對數(shù)據(jù)庫一些容易混淆的概念
33、有了清晰的認(rèn)識。特別是對SQL語句的使用更加熟練,對SQL2000的操作更加的熟悉。 除了對知識的學(xué)習(xí)外,也磨練了自己的意志,發(fā)現(xiàn)自己的許多不足,寫文檔是自己的一個(gè)弱點(diǎn),以后會多練習(xí)加以提高。4 存在問題與建議問題本次數(shù)據(jù)庫設(shè)計(jì)基本完成,雖然在設(shè)計(jì)上可能有一些缺陷,但整個(gè)系統(tǒng)全部由自己設(shè)計(jì),感覺很有成就感。在實(shí)習(xí)中也存在許多問題,對需求分析不明確,特別是對數(shù)據(jù)流圖的含義沒有理解,給設(shè)計(jì)帶來了很多困難,可能現(xiàn)在的數(shù)據(jù)流圖還存在問題。在系統(tǒng)的功能方面,由于有許多是由系統(tǒng)完成的,但對觸發(fā)器的使用還不是很熟,有很多功能沒有實(shí)現(xiàn),還需要修改和改進(jìn)。建議 建議以后實(shí)習(xí)上機(jī)的時(shí)間少一點(diǎn),先在紙上寫好需求分析
34、文檔,并在課堂上多一點(diǎn)的討論時(shí)間,再進(jìn)機(jī)房實(shí)習(xí),我想這樣可能好一點(diǎn)。附錄1數(shù)據(jù)字典回帖表:1.1字段名稱類型含義H_idsmallInt回帖的id號,用于唯一標(biāo)識回帖的信息F_idSmallint所回帖父帖子的id號H_contentvarChar回帖內(nèi)容H_nameVarChar回帖人的名稱H_timeDatetime回帖時(shí)間H-_stepInt回帖等級,-1表示管理員可以刪除此帖用戶表:1.2字段名稱類型含義NameVarchar用戶登錄的名字,不能有相同的用戶名PasswordVarchar用戶密碼,登錄進(jìn)行身份驗(yàn)證EmailvarcharChar用戶的聯(lián)系方式Stepsmallint用
35、戶的等級,-1表示管理員可以刪除此用戶,其它用于標(biāo)識用戶的等級S_countsmallInt發(fā)帖次數(shù),用于計(jì)算用戶的等級R_countsmallint回帖次數(shù),用于計(jì)算用戶的等級J_countsmallint發(fā)精華帖的數(shù)量,用于計(jì)算用戶的等級版面表:1.3字段名稱類型含義Bm_idvarChar版面id號,用于和其他版面區(qū)別Bm_namevarChar版面的名稱Bz_namevarChar版主Bm_thcountsamllInt版面主題數(shù)版主表:1.4字段名稱類型含義Bz_namevarChar版主名稱Bz_parsswordvarChar版主密碼Bz_emailvarChar版主的郵箱帖子表
36、:1.5字段名稱類型含義IdsmallInt發(fā)帖的id號ThemevarChar發(fā)帖的主題ContentvarChar發(fā)帖的內(nèi)容NamevarChar發(fā)帖的用戶StepsmallInt帖子等級,當(dāng)為-1時(shí)可刪除,為1時(shí)為精華帖,為0時(shí)需要置頂,其它為正常CountsmallInt帖子被訪問的次數(shù)管理員表:1.6字段名稱類型含義Ad_namevarChar管理員名稱Ad_parsswordvarChar管理員密碼Ad_emailvarChar管理員的郵箱日志 表:1.7字段名稱類型含義L_nameVarchar當(dāng)日在線用戶注冊后都記錄到日志里,用于跟蹤用戶L_timeChar記錄登錄時(shí)間2存儲過
37、程:create procedure ChangeMyInformationname varchar(20),password varchar(20),newname varchar(20),newpassword varchar(20),newemail varchar(20)asupdate memberset u_name=newname,u_password=newpassword,u_email=newemailwhere u_name=name and u_password=passwordcreate procedure DengLu username varchar(20),u
38、serpassword varchar(20)asinsert into Rizhi(l_name)select u_namefrom memberwhere u_name=username and u_password=userpasswordcreate procedure LookBanzhuasselect * from banzhucreate procedure LookBmianasselect * from banmiancreate procedure MinsterReplyname varchar(20),step smallintasupdate replyset r_
39、step=stepwhere l_name=namecreate procedure MinsterTopicname varchar(20),step smallintasupdate topicset t_step=stepwhere l_name=namecreate procedure MinsterUserusername varchar(20),state char(4)asupdate memberset u_state=statewhere u_name=usernamecreate procedure Minsterbanmianname varchar(20),state
40、varchar(6)asupdate banmianset bm_state=statewhere bm_name=namecreate procedure Minsterbanzhuname varchar(20),state varchar(6)asupdate banzhuset bzh_state=statewhere bzh_name=namecreate procedure MyInformationMyname char(20)asselect * from memberwhere u_name=Mynamecreate procedure MythemeMyname varch
41、ar(20)asselect t_theme from topicwhere l_name=Mynamecreate procedure OnlineUsernowtime datetimeasselect l_name from rizhiwhere l_time=nowtimecreate procedure Reply_Contentasselect *from replycreate procedure Themeasselect t_theme from topiccreate procedure Theme_Contentcontent varchar(1000) outputas
42、select t_content from topiccreate procedure Zhuceusername varchar(20),userpassword varchar(20),useremail varchar(20)asinsert into membervalues (username,userpassword,useremail,3,0,0,ture)create procedure jinghuatieasselect t_themefrom topicwhere t_step=1create procedure postReplyr_id smallint,t_id s
43、mallint,content varchar(1000),name varchar(20)asinsert into reply values(r_id,t_id,name,content,xitongshji,0)create procedure postTopicTheme varchar(400),content varchar(1000),name varchar(20),banmian smallintasinsert into topic values(20,banmian,Theme,content,0,0,jacshan,2005-12-25,name)create proc
44、edure updatareplyasdeletefrom replywhere r_step=-1create procedure updatatopicasdelete from topicwhere t_step=-1create procedure updateusersasdelete from memberwhere u_state=falsecreate procedure userInformationasselect * from member3基本表:21日志表CREATE TABLE dbo.Rizhi (l_name varchar (20) COLLATE Chine
45、se_PRC_CI_AS NOT NULL ,l_time datetime NULL ) ON PRIMARYGO22版面表CREATE TABLE dbo.banmian (bm_id smallint NOT NULL ,bm_name varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,bzh_name varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,bm_themecount smallint NULL ,bm_state varchar (6) COLLATE Chinese_PRC_CI_AS
46、 NOT NULL ) ON PRIMARYGO23版主表CREATE TABLE dbo.banzhu (bzh_name varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,bzh_password varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,bzh_email varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,bzh_state varchar (50) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGO24瀏
47、覽表CREATE TABLE dbo.browsing (l_id smallint NOT NULL ,bm_id smallint NOT NULL ,u_name varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,bm_count smallint NULL ) ON PRIMARYGO25用戶表CREATE TABLE dbo.member (u_name varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,u_password varchar (50) COLLATE Chinese_PRC_CI_
48、AS NOT NULL ,u_email varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,u_step smallint NULL ,u_post smallint NULL ,u_return smallint NULL ,u_state char (4) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGO26版面表CREATE TABLE dbo.mini_banmian (mb_id smallint NOT NULL ,m_name varchar (20) COLLATE Chinese_PRC_CI_
49、AS NOT NULL ,bm_id smallint NOT NULL ,dowhat varchar (20) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGO27管理帖子表CREATE TABLE dbo.mini_topic (mt_id smallint NOT NULL ,bzh_name varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,t_id smallint NOT NULL ,dowhat varchar (20) COLLATE Chinese_PRC_CI_AS NULL ) O
50、N PRIMARYGO28管理用戶表CREATE TABLE dbo.mini_user (mu_id smallint NOT NULL ,m_name varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,u_name varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,dowhat varchar (20) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGO29管理員表CREATE TABLE dbo.minister (m_name varchar (20)
51、 COLLATE Chinese_PRC_CI_AS NOT NULL ,m_password varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,m_email varchar (20) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGO210回復(fù)表CREATE TABLE dbo.reply (r_id smallint NOT NULL ,t_id smallint NOT NULL ,l_name varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,r_c
52、ontent varchar (1000) COLLATE Chinese_PRC_CI_AS NOT NULL ,r_time char (10) COLLATE Chinese_PRC_CI_AS NULL ,r_step smallint NULL ) ON PRIMARYGO211帖子表CREATE TABLE dbo.topic (t_id smallint NOT NULL ,bm_id smallint NOT NULL ,t_theme varchar (400) COLLATE Chinese_PRC_CI_AS NOT NULL ,t_content varchar (10
53、00) COLLATE Chinese_PRC_CI_AS NOT NULL ,t_step smallint NULL ,t_count smallint NULL ,t_bmname varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,t_posttime char (10) COLLATE Chinese_PRC_CI_AS NULL ,l_name varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON PRIMARYGO4視圖create view HuiMingDan(username)as s
54、elect u_namefrom memberwhere u_state=falsecreate view J2EETheme(theme,f_time)as select t_theme,t_posttimefrom topicwhere bm_id=1create view J2MeTheme(theme,f_time)as select t_theme,t_posttimefrom topicwhere bm_id=3create view J2SETheme(theme,f_time)as select t_theme,t_posttimefrom topicwhere bm_id=2create view TomcatTheme(theme,f_time)as select t_theme,t_posttimefrom topicwhere bm_id=45參考資料數(shù)據(jù)庫系統(tǒng)概論 (第三版) 薩師煊 王珊 高等教育出版社27
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案