Java論壇管理系統(tǒng)——畢業(yè)論文
《Java論壇管理系統(tǒng)——畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《Java論壇管理系統(tǒng)——畢業(yè)論文(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、信息工程學院數(shù)據(jù)庫數(shù)據(jù)庫應用系統(tǒng)開發(fā)課程設計論文題 目:Java論壇管理系統(tǒng)姓 名: 專 業(yè):計算機科學與技術(shù) 指導老師: 完成日期: 摘 要Java論壇管理系統(tǒng)主要是實現(xiàn)在網(wǎng)上進行交流和學習Java語言,本論壇提供用戶注冊、發(fā)帖和回帖等論壇的基本功能,劃分J2SE、J2EE、J2ME和開發(fā)工具的使用等版塊,使用合理的管理方法管理論壇,嚴格保證帖子質(zhì)量,為Java愛好者提供一個學習Java的好地方。本系統(tǒng)采用SQL2000作為后臺數(shù)據(jù)庫,使用MVC框架,由Servlet負責處理最初的請求轉(zhuǎn)發(fā)到jsp頁面顯示最后的結(jié)果,JSP頁面使用bean,系統(tǒng)具有很好的移植性和跨平臺性。關(guān)鍵字:Java論壇
2、;管理;MVC;目錄1 引言12 數(shù)據(jù)庫設計12.1.1需求設計11、引言12、目標與任務13、階段結(jié)果32.1.2概念設計62.1.2.1目標與任務62.1.2.2概念模型設計62.1.3邏輯設計92.1.3.1目標與任務92.1.3.2數(shù)據(jù)組織92.1.3.3數(shù)據(jù)處理方面122.1.4物理設計132.1.4目標與任務132.1.4.2數(shù)據(jù)存取方面142.1.4.3功能模塊142.1.5數(shù)據(jù)庫實施152.1.6數(shù)據(jù)庫調(diào)試與試運行163 收獲與體會184 存在問題與建議18附錄181數(shù)據(jù)字典182存儲過程:203基本表:244視圖275參考資料271 引言隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)上學習和交流已成為
3、現(xiàn)代人的一種時尚,論壇是提供這種環(huán)境中的重要的部分。但是多數(shù)論壇十分繁雜,管理不規(guī)范,帖子混雜,很難滿足用戶的需要。 本次課程設計的題目為Java論壇管理系統(tǒng),實現(xiàn)了論壇的基本功能即用戶的注冊、用戶發(fā)帖回帖、管理員管理論壇等,主要任務是完成詳細的數(shù)據(jù)庫的設計,為以后完整系統(tǒng)的設計打下堅實的基礎,其它論壇擴展功能以后在實現(xiàn)。本次數(shù)據(jù)庫設計重視數(shù)據(jù)庫理論知識的學習和數(shù)據(jù)庫系統(tǒng)的設計,對數(shù)據(jù)庫的學習有中要的意義。2 數(shù)據(jù)庫設計 2.1.1需求設計1、引言 目前Java語言比較流行,學習Java的人群也特別的多。Java語言需要學習的內(nèi)容非常多,而且Java語言也是一個不斷變化的語言和完善的語言,要比
4、較系統(tǒng)的學習Java,傳統(tǒng)的一個人學習方式很難學好Java,上網(wǎng)學習和交流能比較好的解決此問題。目前的論壇比較多,但比較的繁雜,大多論壇沒有規(guī)范的帖子管理,對學習Java沒有多大的幫助。開發(fā)一個Java論壇管理系統(tǒng)就是要改變傳統(tǒng)的學習方法和解決許多論壇管理不規(guī)范的問題。本論壇只討論Java技術(shù),嚴格保證帖子的質(zhì)量和安全問題,提供Java愛好者一個良好和舒適的交流平臺。本論壇具有很好的教育價值,同時具有很好的可重用性,稍加改變就能作為其它的論壇。如今論壇是Internet中比較受歡迎的技術(shù),是大多數(shù)網(wǎng)站不可缺少的一部分,所以論壇對網(wǎng)站的開發(fā)也非常有價值。2、目標與任務目標:通過需求分析,充分了解
5、用戶需求,明確系統(tǒng)的業(yè)務流程和系統(tǒng)的功能,完成數(shù)據(jù)流圖和數(shù)據(jù)字典等內(nèi)容,為以后整個系統(tǒng)設計提供依據(jù)。任務:處理對象:用戶信息:(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),是否刪除)帖子信息:(帖子id,版面id號,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),所屬版面,發(fā)帖時間,發(fā)帖用戶)版面信息(版面id號,版面名稱,版主名稱,版面主題數(shù))版主信息(版主名稱,密碼,郵箱)管理員信息(管理員名,密碼,郵箱)處理功能要求: 用戶注冊登錄功能模塊(用戶注冊以及修改注冊信息) 瀏覽功能模塊(用戶瀏覽版塊、主題列表、查看帖子) 帖子管理功能模塊(管理員編輯、刪除、置頂和指定精華帖) 管理版塊功能模塊(管理
6、員創(chuàng)建、修改和刪除版塊) 用戶管理模塊(管理員添加、刪除和設置用戶權(quán)限)安全性和完整性要求:安全性:論壇管理系統(tǒng)是提供一個交流平臺,安全問題主要是防止黑客的攻擊,數(shù)據(jù)庫需要運行在防火墻后面。要防止非法用戶訪問數(shù)據(jù)庫,對數(shù)據(jù)庫進行修改,管理員需要進行合理的用戶權(quán)限設置。(1) 論壇的用戶分4個級別:匿名用戶、普通用戶、版主和系統(tǒng)管理員(2) 用戶在未登錄前只能瀏覽論壇中的帖子,已登錄的用戶可以在已有的版塊發(fā)布新主題和回復帖子。(3) 論壇為每個注冊的用戶建立個人資料,用戶本人可以修改個人資料。(4) 版主除有普通用戶的權(quán)限外,還可以對版面進行管理:刪除、推薦、鎖定帖子、解除推薦、解除鎖定。(5)
7、 論壇管理員除有版主的權(quán)限外,還可以添加、刪除版塊,對論壇中所有版塊的屬性進行編輯,對用戶的所有資料進行修改和刪除用戶。論壇權(quán)限如下表1:對象實體功能方法用戶類型版塊瀏覽列表注冊用戶版塊創(chuàng)建版塊管理員版塊修改版塊管理員版塊刪除版塊管理員帖子瀏覽列表注冊用戶帖子發(fā)帖注冊用戶帖子回帖注冊用戶帖子搜集注冊用戶帖子編輯(自己所有)注冊用戶帖子編輯(全部)管理員帖子刪除管理員帖子置頂管理員帖子指定精華管理員用戶注冊注冊用戶用戶注冊用戶登錄注冊用戶用戶管理員登錄管理員用戶刪除管理員用戶指定權(quán)限管理員實體完整性:用戶信息:用戶必須唯一步能為空,密碼不能為空,郵箱可以為空,用戶等級、發(fā)帖和回帖由系統(tǒng)設置,是否
8、刪除由管理員設置。帖子信息:帖子的id號不能為空,帖子主題不能為空,帖子內(nèi)容不能為空,帖子等級、帖子被訪問的次數(shù)和發(fā)帖時間由系統(tǒng)設置,所屬版面不能為空,發(fā)帖用戶由日志提供。版面信息:版面id號唯一步能為空,版面名稱唯一步能為空,版主不能為空版主信息:(版主名稱不能為空,密碼不能為空,郵箱可以為空)參考完整性:版面信息中:版面參考版主信息表中的版主名,版主要么為空,要么和版主信息中的版主名相同。自定義完整性:帖子的主題長度不能超過400個字節(jié),帖子的內(nèi)容長度不能超過1000個字節(jié)。3、階段結(jié)果(1)調(diào)查方式:1、通過詢問同學征詢同學的意見2、圖書管查閱資料3、上網(wǎng)了解一些論壇提供的功能體會:需求
9、分析需要耐心的多了解用戶的要求,然后要學會分析和提取有用的材料收獲:聽取了許多好的建議,對系統(tǒng)的整體構(gòu)架有了清晰的認識。(2)業(yè)務流程圖瀏覽者用 戶注冊登錄瀏覽版塊管理版塊管理用戶管理帖子回帖瀏覽帖子搜集管理員發(fā)帖圖 例 :實體:處理過程:單向處理流程:雙向處理流程 圖1.1(3)數(shù)據(jù)圖(DFD圖)圖 例 :數(shù)據(jù)源:數(shù)據(jù)加工:單向數(shù)據(jù)流程:雙向數(shù)據(jù)流程:數(shù)據(jù)存儲回復帖子用 戶回帖表版主相關(guān)內(nèi)容檢測用戶版面表用戶管理帖子選擇版塊帖 子修改用戶資料顯示主題帖子表帖子發(fā)帖登錄版主表檢測管理帖子表更新更新顯示管理員檢測用戶管理用戶檢測登錄管理等級用戶表更新用戶版面表更新管理版面更新顯示版面用 戶瀏覽注
10、冊用戶注冊覽登錄登錄檢測用戶用戶信息表寫回檢測瀏覽瀏覽版面發(fā)送帖子管理員表修改(4)數(shù)據(jù)字典。(見附錄)2.1.2概念設計2.1.2.1目標與任務目標:將需求分析得到的用戶需求抽象為信息結(jié)構(gòu),設計并生成E_R圖。任務:設計各個分E-R圖,并消除局部E-R圖存在的沖突,合并成基本E-R圖特點:(1) 能真實的反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求。是對現(xiàn)實世界的一個真實模型。(2) 易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫的設計成功的關(guān)鍵。(3) 易于更改,當應用環(huán)境和應用要求改變是,容易對概念模型修改和擴充。(4) 易于向關(guān)系、網(wǎng)狀
11、、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。 2.1.2.2概念模型設計 (1)設計分E-R圖,即各子模塊的E-R圖; 用 戶發(fā)帖帖子回帖1mn圖1.1用戶和帖子E-R圖n用戶(用戶名,密碼,郵箱,等級,發(fā)帖數(shù),回帖數(shù))帖子(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))發(fā)帖(發(fā)帖時間)回帖(回帖id,帖子i d,內(nèi)容,用戶名,回帖時間)用 戶m圖1.2用戶和版面E-R圖n版 面瀏覽用戶(用戶名,密碼,郵箱,等級,發(fā)帖數(shù),回帖數(shù))版面(版面id號,版面名稱,版主名稱,版面主題數(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邏輯設計2.1.3.1目標與任務目標:完成E-R圖到數(shù)據(jù)庫模式的轉(zhuǎn)換,優(yōu)化各個關(guān)系模式任務:把概念結(jié)構(gòu)設計階段好的基本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所示: 一、用戶和帖子具有兩個關(guān)系:(1)用戶回帖,因為用戶和帖子的關(guān)系是m對n的關(guān)系,所以將聯(lián)系類型也轉(zhuǎn)換關(guān)系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)
14、帖子(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))回帖(回帖id,用戶名,帖子i d,內(nèi)容,回帖時間)(2)用戶發(fā)帖,用戶和帖子的關(guān)系是1對多的關(guān)系。所以可以聯(lián)系可以轉(zhuǎn)換為一個獨立的模式,也可以與n端對應的模式合并。這里把聯(lián)系屬性合并到n端實體。用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)帖子(帖子id,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),發(fā)帖時間)二、 管理員和用戶的關(guān)系為m對n,所以將聯(lián)系類型也轉(zhuǎn)換關(guān)系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)管理員(管
15、理員名,密碼,郵箱)管理(用戶名,管理員名,管理)三、版主和帖子為m對n的關(guān)系,所以將聯(lián)系類型也轉(zhuǎn)換關(guān)系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。 版主(版主名稱,密碼,郵箱) 帖子(帖子id,版主名稱,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù))管理帖子(版主名稱,帖子id ,管理行為)四、管理員和版面是m對n的關(guān)系,所以可以轉(zhuǎn)換為一個獨立的模式管理員(管理員名,密碼,郵箱)版面(版面id號,版面名稱,版主名稱,版面主題數(shù)) 管理(管理員名,版面id號,管理行為)五、版面和用戶是多對多的關(guān)系。所以將聯(lián)系類型也轉(zhuǎn)換關(guān)系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,
16、而鍵為兩端實體鍵的組合。版面(版面id號,版面名稱,版主名稱,版面主題數(shù))用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)瀏覽(用戶名,版面id號,瀏覽時間)六、版面和帖子是1對多的關(guān)系,所以把聯(lián)系屬性合并到n端實體版面(版面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ā)帖時間)帖子(帖子
17、id,版面id號,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),所屬版面)回帖(用戶名,帖子i d,內(nèi)容,回帖時間)管理員(管理員名稱,密碼,郵箱)瀏覽(用戶名,版面id號,瀏覽時間)管理用戶(用戶名,管理員名,管理)管理版面(管理員名稱,版面id號,管理行為)管理帖子(版主名稱,帖子id ,管理行為)版主(版主名稱,密碼,郵箱)版面(版面id號,版面名稱,版主名稱,版面主題數(shù))八、消除不一致后得:用戶(用戶名,密碼,郵箱,用戶等級,發(fā)帖數(shù),回帖數(shù),精華帖數(shù),是否刪除)帖子(帖子id,版面id號,主題,內(nèi)容,帖子等級,帖子被訪問次數(shù),發(fā)帖時間,發(fā)帖用戶)回帖(回帖id,帖子i d,用戶名,內(nèi)容,回帖時
18、間,帖子等級)管理員(管理員名稱,密碼,郵箱)版主(版主名稱,密碼,郵箱,版主狀態(tài))瀏覽(瀏覽id,用戶名,版面id號,瀏覽時間)管理用戶(管理id,用戶名,管理員名,管理行為)管理版面(管理id,管理員名稱,版面id號,管理行為)管理帖子(管理id,版主名稱,帖子id ,管理行為)版面(版面id號,版面名稱,版主名稱,版面主題數(shù),版面狀態(tài))(2)模型優(yōu)化以上關(guān)系都達到了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)管理員設置。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)設置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)設置。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由管理員設置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由管理員設置mini_topic( mt_id, bzh_name,t_id, dowhat);mt_id為主鍵,bzh_name和t_id為外鍵參考,都不能為空,dowhat由管理員設置mini_banmian( mb_id , m_name, bm_id, dowhat ); mb_id為主鍵,m_name和bm_id為外鍵參考,都不能為空,dowhat由管理員設置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)設置。(4)設計用戶子模式視圖設計,完成適合不同用戶的子模式設計。編號模式子模式用戶作用1版面版面視圖所有用戶查看包含的版塊2帖子主題列表視圖1所有用戶不同的用戶選擇不同的版塊查看最新主題主題列表視圖2主題列表視圖n不合格帖子視圖版主刪除不合格的帖子3用戶用戶視圖各自用戶查看各自資料,并進行修改在線用戶視圖注冊用戶查看所有在線用戶黑名單視圖管理員刪除被列出的用戶4版主版主視圖管理員查看版主信息5管理員管理員視圖管理員查看管理員信息2.1.3.3數(shù)據(jù)處理方面 系統(tǒng)的功能模塊圖如下
23、:注冊登錄用戶用戶管理選擇版塊發(fā)帖回帖瀏覽帖子管理版塊管理帖子搜索管理員2.1.4物理設計2.1.4目標與任務目標:提供存儲中數(shù)據(jù)的合適結(jié)構(gòu),而且要以合適的方式對性能提供保證。任務: 一確定數(shù)據(jù)庫的物理結(jié)構(gòu)1確定數(shù)據(jù)的存儲結(jié)構(gòu) 確定數(shù)據(jù)庫存儲結(jié)構(gòu)時要綜合考慮存取時間、存儲空間利用率和維護代價三方面的因素。這三個方面常常是相互矛盾的,例如消除一切冗余數(shù)據(jù)雖然能夠節(jié)約存儲空間,但往往會導致檢索代價的增加,因此必須進行權(quán)衡,選擇一個折中方案。2設計數(shù)據(jù)的存取路徑在關(guān)系數(shù)據(jù)庫中,選擇存取路徑主要是指確定如何建立索引。例如,應把哪些域作為次碼建立次索引,建立單碼索引還是組合索引,建立多少個為合適,是否建
24、立聚集索引等。3確定數(shù)據(jù)的存放位置 為了提高系統(tǒng)性能,數(shù)據(jù)應該根據(jù)應用情況將易變部分與穩(wěn)定部分、經(jīng)常存取部分和存取頻率較低部分分開存放。4確定系統(tǒng)配置DBMS產(chǎn)品一般都提供了一些存儲分配參數(shù),供設計人員和DBA對數(shù)據(jù)庫進行物理優(yōu)化。初始情況下,系統(tǒng)都為這些變量賦予了合理的缺省值。但是這些值不一定適合每一種應用環(huán)境,在進行物理設計時,需要重新對這些變量賦值以改善系統(tǒng)的性能。通常情況下,這些配置變量包括:同時使用數(shù)據(jù)庫的用戶數(shù),同時打開的數(shù)據(jù)庫對象數(shù),使用的緩沖區(qū)長度、個數(shù),時間片大小、數(shù)據(jù)庫的大小,裝填因子,鎖的數(shù)目等等,這些參數(shù)值影響存取時間和存儲空間的分配,在物理設計時就要根據(jù)應用環(huán)境確定這
25、些參數(shù)值,以使系統(tǒng)性能最優(yōu)。在物理設計時對系統(tǒng)配置變量的調(diào)整只是初步的,在系統(tǒng)運行時還要根據(jù)系統(tǒng)實際運行情況做進一步的調(diào)整,以期切實改進系統(tǒng)性能。 二評價物理結(jié)構(gòu)數(shù)據(jù)庫物理設計過程中需要對時間效率、空間效率、維護代價和各種用戶要求進行權(quán)衡,其結(jié)果可以產(chǎn)生多種方案,數(shù)據(jù)庫設計人員必須對這些方案進行細致的評價,從中選擇一個較優(yōu)的方案作為數(shù)據(jù)庫的物理結(jié)構(gòu)。評價物理數(shù)據(jù)庫的方法完全依賴于所選用的DBMS,主要是從定量估算各種方案的存儲空間、存取時間和維護代價入手,對估算結(jié)果進行權(quán)衡、比較,選擇出一個較優(yōu)的合理的物理結(jié)構(gòu)。如果該結(jié)構(gòu)不符合用戶需求,則需要修改設計。2.1.4.2數(shù)據(jù)存取方面用戶表以用戶名
26、建立唯一性索引,因為用戶名是獨一無二的。帖子表以帖子id號建立唯一性索引回帖表以帖子id號建聚簇索引,用于檢索某個帖子用戶的所有回復。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ù)
28、據(jù)庫系統(tǒng)的建立,并使用存儲過程完成數(shù)據(jù)庫功能 任務:(1)建立數(shù)據(jù)庫、數(shù)據(jù)表、視圖、索引等存儲過程等DDL定義,并完成完整性、安全性等要求定義;可用DDL語言或SQL腳本任意一種形式表現(xiàn)。(見附錄)(2)數(shù)據(jù)入庫(3)完成處理過程、系統(tǒng)主要功能(查詢、更新、簡單統(tǒng)計等),均需要使用存儲過程完成。 存儲過程編號名稱作用1ChangeMyInformateion可以用來更改用戶的注冊資料2Denglu登錄用戶信息檢測,并把用戶名記錄在日志里3Jinghuatie用來檢索精華帖4LookBM列出所有的版面信息5LookBZH查看版主信息6MinisterBanzhu管理版主7MinsterReply
29、管理回復的帖子8Ministerbanmian管理版面9MinisterTopic管理帖子10MinsterUser管理用戶11MyInformation查看用戶自己的信息12Myteme查看所有我發(fā)的主題13OnlineUser查看在線用戶14Postreply回復帖子15PostTopic發(fā)送帖子16Peply_Content查看回復的信息17Theme查看所有的主題18Theme_Content查看主題的內(nèi)容19Updatetopic更新帖子20Updateusers更新用戶21Updatereply更新回復的帖子22userInformation所有用戶的信息23Zhuce注冊用戶(存
30、儲過程見附錄)2.1.6數(shù)據(jù)庫調(diào)試與試運行(1)說明系統(tǒng)測試方法本次測試主要使用黑盒測試的方法,即功能測試,輸入測試數(shù)據(jù),看輸出的結(jié)果以意想的對不對(2)測試內(nèi)容,主要從功能測試和性能測試兩個方面 存儲過程的測試: 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,這是部分存儲過程的測試,全部都正常完成,其它不在此一一列出,視圖的測試也都正常運行,這里省略3 收獲與體會本次實習主要是完成數(shù)據(jù)庫的設計,對數(shù)據(jù)庫的各階段寫出詳細的說明文檔。對我來說是一個挑戰(zhàn),因為我很少寫過文檔,以前寫的任何一個程序都是單刀直入,從不寫文檔,也不畫任何程序流程圖。本次實習體會
32、最深刻的就是需求分析,通過寫需求分析文檔,我深刻的體會到了需求分析在整個系統(tǒng)設計中的重要性即:要全面的進行需求分析,了解用戶的需求,這樣可以減少以后設計的困難,完成需求分析對整個系統(tǒng)的功能和構(gòu)架就非常的清晰,需求不完善將影響以后的所以設計。也體會到了交流的重要性,通過交流可以發(fā)現(xiàn)自己在系統(tǒng)設計方面存在很多缺陷,交流不僅可以找出系統(tǒng)設計的不合理性,還可以減少需求分析的不確定性。在其它階段的設計中對數(shù)據(jù)庫中的模式有了新的認識,理解了三模式兩映像的重要性。整個系統(tǒng)設計使我對數(shù)據(jù)庫和軟件工程有了新的認識,特別是對數(shù)據(jù)流圖的概念的理解,對數(shù)據(jù)庫的一些基本概念有了進一步的理解,也對數(shù)據(jù)庫一些容易混淆的概念
33、有了清晰的認識。特別是對SQL語句的使用更加熟練,對SQL2000的操作更加的熟悉。 除了對知識的學習外,也磨練了自己的意志,發(fā)現(xiàn)自己的許多不足,寫文檔是自己的一個弱點,以后會多練習加以提高。4 存在問題與建議問題本次數(shù)據(jù)庫設計基本完成,雖然在設計上可能有一些缺陷,但整個系統(tǒng)全部由自己設計,感覺很有成就感。在實習中也存在許多問題,對需求分析不明確,特別是對數(shù)據(jù)流圖的含義沒有理解,給設計帶來了很多困難,可能現(xiàn)在的數(shù)據(jù)流圖還存在問題。在系統(tǒng)的功能方面,由于有許多是由系統(tǒng)完成的,但對觸發(fā)器的使用還不是很熟,有很多功能沒有實現(xiàn),還需要修改和改進。建議 建議以后實習上機的時間少一點,先在紙上寫好需求分析
34、文檔,并在課堂上多一點的討論時間,再進機房實習,我想這樣可能好一點。附錄1數(shù)據(jù)字典回帖表:1.1字段名稱類型含義H_idsmallInt回帖的id號,用于唯一標識回帖的信息F_idSmallint所回帖父帖子的id號H_contentvarChar回帖內(nèi)容H_nameVarChar回帖人的名稱H_timeDatetime回帖時間H-_stepInt回帖等級,-1表示管理員可以刪除此帖用戶表:1.2字段名稱類型含義NameVarchar用戶登錄的名字,不能有相同的用戶名PasswordVarchar用戶密碼,登錄進行身份驗證EmailvarcharChar用戶的聯(lián)系方式Stepsmallint用
35、戶的等級,-1表示管理員可以刪除此用戶,其它用于標識用戶的等級S_countsmallInt發(fā)帖次數(shù),用于計算用戶的等級R_countsmallint回帖次數(shù),用于計算用戶的等級J_countsmallint發(fā)精華帖的數(shù)量,用于計算用戶的等級版面表: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帖子等級,當為-1時可刪除,為1時為精華帖,為0時需要置頂,其它為正常CountsmallInt帖子被訪問的次數(shù)管理員表:1.6字段名稱類型含義Ad_namevarChar管理員名稱Ad_parsswordvarChar管理員密碼Ad_emailvarChar管理員的郵箱日志 表:1.7字段名稱類型含義L_nameVarchar當日在線用戶注冊后都記錄到日志里,用于跟蹤用戶L_timeChar記錄登錄時間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回復表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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。