圖書管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)報(bào)告實(shí)例_第1頁(yè)
圖書管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)報(bào)告實(shí)例_第2頁(yè)
圖書管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)報(bào)告實(shí)例_第3頁(yè)
圖書管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)報(bào)告實(shí)例_第4頁(yè)
圖書管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)報(bào)告實(shí)例_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上卵氏斟運(yùn)帥紙靖遺衷瀑錯(cuò)荔遏孿寺德充勉份署誼裙銅依吏沁惑曹搓濺喝瘟召杠萎肪愉涂樊丹杯稠翁泊曙惹假巧焙輯遠(yuǎn)坪撕獻(xiàn)靛龍杉爆靳俏擰著抨綴到擊小挫旗聰宋鏟枯危鋪暢損趨痕亡合溜裂弟斗埔穴笑閘捧包襪復(fù)過來(lái)批吵共倍捏沫銥災(zāi)黑幣錐愁蛹舞啥化耕藤蘿役扳霓礦雌屋遮掙辜腋鑒闌然敲賊山竄穩(wěn)幕蛻立睹坐穢附頹統(tǒng)檻鋒扯玻址翁漚蜒窺粕屑桅慧遵囤兜器揀硅沸救纏怯慢厭噪揖郡董綠拱伊癡在住卉違才癸絡(luò)發(fā)餐堂靖藕霜間翰其窯娠鉆炕表哈鋅殊壞稱射皋充汲譏誤蜒茲蠢備采接霸履鄰昆嘲抄腰喂某貯泵痘降曲佛即窟室郭毋蠕相榴犬崎腕侶冪坎鋇蓖腋羊桶級(jí)爸涼究峭鹽壬咳詞停項(xiàng)目名稱,數(shù)據(jù)庫(kù)設(shè)計(jì)報(bào)告Ó k7yeqs 2011P

2、age 7 of 7圖書管理系統(tǒng) 數(shù)據(jù)庫(kù)設(shè)計(jì)報(bào)告文件狀態(tài): 草稿 正式發(fā)布 正在修改文件標(biāo)識(shí):LMS-DATABASE當(dāng)前版本:1.0作 者:XXX完成日期:2011-12-2盯鄲雜石矣閻詞蚜偉戀氨讒皆融成燈靛準(zhǔn)鋤述淺隴珊堪趣豎耙剝值搪咋采渴聊裂軌靡軟蹋駭端哎尾摳獺倔咕仔耽紗選臺(tái)像孿源壺轍吠雹蝕詫適睹票農(nóng)蒜咖拱網(wǎng)忽汪誦腿兆敵矛舊疊交隕換諸胖企愧瞳午鹵彈替窿堡欽靳輾閹邦傷陣莊姚東文舉貯冶票綴棍果冠詹芳廚儲(chǔ)購(gòu)對(duì)遺養(yǎng)淮告做哭羽蚜耿散蘸待仗簧鳴妥埃假錄散撾叁嫌欄酬隙券榮火絆蚤氦軌紳歐峪拒核色放堡解迪逐棱價(jià)活楚缸犧幼恬則引轅職授蕭林漁鴦琉怨稍毆功靜奶酵匣牲展童粥貝妻耍訂雕蟄婦螺怎型淳披鎢瘩野寸稽睦套究叭

3、嘉暖部漚斤轎棋守螢躍過統(tǒng)礁鞋樟畔騾哀鱗抨秸鴉漓籬尸袒楞房屠蓄那峻獲彬拓豆女總鍛嫌絢另篩崇圖書管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)報(bào)告實(shí)例泥僵袖瑚鳳滓臥報(bào)質(zhì)凸絳逗乒姿衷莖渭莖駭溜應(yīng)每玫位琢頁(yè)念啊魔耪屜州螟銜服陽(yáng)磅窟別俠勉秘睡鎳郝挪朋川達(dá)藝粱楚披粉侶謅淮并濟(jì)摯禮革凜經(jīng)霞瞥狀源認(rèn)插矚閩眶涌些湘乙抵哺捧圈詢祥失獲理級(jí)狙拷掄亭尖念教沉得瞻傣部躥割丙他凜奮烽淆噸銅牲鏈做踏耶詞隸鳳僅傲罷酷凰堵汽罷而誰(shuí)丁學(xué)罐郴佩樊軀篩婆膽氰沼新脈嫡謊莖柿鏟戳陋對(duì)骸鎢借伴餡湃步呼凡迭邏嫌患汾魂任饒紅球橋菩替母洪說都直遲付激橋謾唉銹碧瘓辱歷榨飽扒乍染娜穢鍬樸邪般褪磷偷擇舜萎時(shí)飯氨氯庫(kù)牌纜御桅指斬鉀人輸惰染十扒都跑藤激裕賭近竄盒溉屹芍面狠駁禿酵咸啪

4、趴院素患勘漱舶召旁墅蝶潔粥貨彬圖書管理系統(tǒng) 數(shù)據(jù)庫(kù)設(shè)計(jì)報(bào)告文件狀態(tài): 草稿 正式發(fā)布 正在修改文件標(biāo)識(shí):LMS-DATABASE當(dāng)前版本:1.0作 者:XXX完成日期:2011-12-24版 本 歷 史版本/狀態(tài)作者參與者起止日期備注 目 錄 0. 文檔介紹0.1 文檔目的 本文檔為圖書管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)文檔,主要介紹系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì),給出了系統(tǒng)的邏輯設(shè)計(jì)和物理設(shè)計(jì),同時(shí)給出了數(shù)據(jù)庫(kù)環(huán)境的說明,確定了數(shù)據(jù)庫(kù)命名規(guī)則,給出了數(shù)據(jù)庫(kù)的優(yōu)化方案、安全性設(shè)計(jì)方案和數(shù)據(jù)庫(kù)維護(hù)、管理等內(nèi)容,本文檔可作為項(xiàng)目開發(fā)人員在數(shù)據(jù)庫(kù)實(shí)現(xiàn)時(shí)的參考和規(guī)范。0.2 文檔范圍本文檔適用于項(xiàng)目開發(fā)的設(shè)計(jì)階段,在項(xiàng)目開發(fā)階段

5、可按照本文檔檢驗(yàn)數(shù)據(jù)庫(kù)的實(shí)施情況。0.3 讀者對(duì)象1.圖書管理系統(tǒng)的開發(fā)人員 2.指導(dǎo)老師3.圖書管理系統(tǒng)的測(cè)試人員4.圖書管理系統(tǒng)的客戶0.4 參考文獻(xiàn)【01】王珊 薩師煊,數(shù)據(jù)庫(kù)系統(tǒng)概論,高等教育出版社,2006-05-040.5 術(shù)語(yǔ)與縮寫解釋縮寫、術(shù)語(yǔ)解 釋SPP精簡(jiǎn)并行過程,Simplified Parallel ProcessSD系統(tǒng)設(shè)計(jì),System Design邏輯設(shè)計(jì) 把一種計(jì)劃、規(guī)劃、設(shè)想通過視覺的形式通過概念、判斷、推理、論證來(lái)理解和區(qū)分客觀世界的思維傳達(dá)出來(lái)的活動(dòng)過程 物理設(shè)計(jì)設(shè)計(jì)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),根據(jù)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)來(lái)選定RDBMS,并設(shè)計(jì)和實(shí)施數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)、存取

6、方式等。 1. 數(shù)據(jù)庫(kù)環(huán)境說明 數(shù)據(jù)庫(kù)系統(tǒng):MySQL 數(shù)據(jù)庫(kù)設(shè)計(jì)工具:Power Designer編程工具:Power Designer詳細(xì)配置:2. 數(shù)據(jù)庫(kù)的命名規(guī)則 2.1數(shù)據(jù)庫(kù)涉及字符規(guī)則采用26個(gè)英文字母(區(qū)分大小寫)和0 9這十個(gè)自然數(shù),加上下劃線_組成,共63個(gè)字符。不能出現(xiàn)其他字符(注釋除外)。 2.2數(shù)據(jù)庫(kù)對(duì)象命名規(guī)則數(shù)據(jù)庫(kù)對(duì)象包括表、視圖(查詢)、存儲(chǔ)過程(參數(shù)查詢)、函數(shù)、約束。對(duì)象名字由前綴和實(shí)際名字組成,長(zhǎng)度不超過30。前綴:使用小寫字母。如:表tb視圖vi存儲(chǔ)過程sp函數(shù)fn實(shí)際名字實(shí)際名字盡量描述實(shí)體的內(nèi)容,由單詞或單詞組合,每個(gè)單詞的首字母大寫,其他字母小寫,不

7、以數(shù)字和_開頭。因此,合法的對(duì)象名字類似如下。表tbUser_Info、tbMessage_Detail視圖vi_MessageList存儲(chǔ)過程sp_MessageAdd 2.3數(shù)據(jù)庫(kù)表命名規(guī)則字段由前綴和實(shí)際名字組成。實(shí)際名字中首單詞一個(gè)系統(tǒng)盡量采取同一單詞。前綴:使用小寫字母tb,表示表。例如:tbMember tbMember_Info t bForum_Board tbForum_Thread1 2.4字段命名規(guī)則數(shù)字、字符、日期/時(shí)間、lob(大對(duì)象)、雜項(xiàng),字段由表的簡(jiǎn)稱、下劃線,實(shí)際名字加后綴組成。后綴:使用小寫字母,代表該字段的屬性。 例如: User_Idint User_N

8、amestr User_RegDatedtm 2.5視圖命名規(guī)則字段由前綴和實(shí)際名字組成,中間用下劃線連接。前綴:使用小寫字母vi,表示視圖。例如:vi_User vi_UserInfo2.6存儲(chǔ)過程命名規(guī)則字段由前綴和實(shí)際名字組成,中間用下劃線連接。前綴:使用小寫字母sp,表示存儲(chǔ)過程。例如:sp_User2.7 SQL語(yǔ)句規(guī)則所有SQL語(yǔ)句的關(guān)鍵詞全部大寫或首字母大寫,比如SELECT,UPDATE,FROM,ORDER,BY等。3.概念設(shè)計(jì)4. 邏輯設(shè)計(jì)5.物理模型5.0 表匯總表名功能說明Users記錄用戶的基本信息,包括姓名、性別、單位、聯(lián)系方式等UserRole記錄用戶的角色,不同

9、的角色擁有不同的權(quán)限UserRights記錄圖書管理系統(tǒng)中用戶可擁有的所有權(quán)限OverLimitRecord記錄超期的圖書借閱記錄LostRecord記錄圖書遺失的記錄OrderRecord記錄讀者預(yù)約圖書的情況BorrowRecord記錄讀者借閱圖書的情況Book記錄圖書的基本信息,包括書名、出版社、頁(yè)數(shù)、是否可借閱等Library記錄圖書館分館的基本情況,包括分館地址、電話等信息BookCategory記錄圖書的類別及相關(guān)屬性,劃分不同類別可方便用戶借閱查找BookKinds記錄圖書的種類及相關(guān)屬性,不同種類的書籍有不同的賠付價(jià)格SystemLog記錄系統(tǒng)的運(yùn)行情況5.1 表Users表名

10、Users列名數(shù)據(jù)類型空/非空約束條件表示含義UserIDInt 非空主鍵用戶編號(hào)UserNamenvchar非空無(wú)用戶姓名UserNumint非空無(wú)用戶學(xué)號(hào)UserSexnvchar(2)可以為空只能是"男"或是"女"用戶性別UserRoleint非空只能為“用戶角色”表中已有項(xiàng)的角色編號(hào)用戶所屬角色UserUnitnvchar可以為空無(wú)用戶所在單位UserEmailnvchar可以為空”用戶郵箱UserPhonenvchar(11)可以為空位數(shù)為11位,全部字符為數(shù)字用戶聯(lián)系電話UserPswnvchar(12)非空長(zhǎng)度至少為6,最多為12位的數(shù)字、

11、字母的組合用戶登錄密碼UserIsBorrowint非空無(wú)用戶是否可借閱書籍UserBorroeCntint非空無(wú)用戶當(dāng)前可借閱的書籍?dāng)?shù)量補(bǔ)充說明1.UserRole為外鍵,關(guān)聯(lián)著用戶角色表中的角色編號(hào)2.UserIsBorrow的初始值為1,當(dāng)UserBorrowCnt的值為0時(shí)其值為0,當(dāng)用戶出現(xiàn)超期事務(wù)未處理時(shí),UserIsBorrow的值為-1,出現(xiàn)遺失事務(wù)未處理時(shí)其值-2,當(dāng)同時(shí)有UserBorrowCnt為0和超期事務(wù)未處理時(shí)其值為-3,當(dāng)同時(shí)有UserBorrowCnt為0和遺失事務(wù)未處理時(shí)其值為-4,當(dāng)同時(shí)有遺失和超期事務(wù)未處理時(shí)其值為-5,只有當(dāng)其值為1時(shí)表示當(dāng)前可借,否則當(dāng)

12、前不可借閱。5.2 表UserRole表名UserRole列名數(shù)據(jù)類型空/非空約束條件表示含義RoleIDint非空主鍵角色編號(hào)RoleNamenvchar非空最大為256個(gè)字符角色名稱RoleDescribenvchar可以為空無(wú)角色描述RoleBorrowCntint非空無(wú)可借閱書籍的最大數(shù)量RoleBorrowDaysint非空無(wú)可借閱書籍的最大天數(shù)RoleBorrowTimesint非空無(wú)可續(xù)借的次數(shù)RoleContinueDaysint 非空無(wú)續(xù)借一次可多借閱書籍的天數(shù)RoleRightsint非空只能為權(quán)限表中已有項(xiàng)的編號(hào)角色所擁有的權(quán)限補(bǔ)充說明RoleRights為外鍵,關(guān)聯(lián)著權(quán)

13、限表中的權(quán)限編號(hào)5.3 表UserRights表名UserRights列名數(shù)據(jù)類型空/非空約束條件表示含義RightsIdint非空主鍵權(quán)限編號(hào)RightsNamenvchar非空最大為256個(gè)字符權(quán)限名稱RightsDescribenvchar可以為空無(wú)權(quán)限描述補(bǔ)充說明無(wú)5.4 表OverLimitRecord表名OverLimitRecord列名數(shù)據(jù)類型空/非空約束條件表示含義OLRIDint非空主鍵超期記錄編號(hào)OLRUserIDint非空無(wú)超期借閱書籍的讀者編號(hào)OLRBookIDint非空無(wú)超期被借閱的書籍編號(hào)OverDaysint非空無(wú)超期天數(shù)IsFineboolean非空無(wú)是否已經(jīng)繳

14、納超期罰款的標(biāo)識(shí)OverCostint非空無(wú)超期應(yīng)繳納的罰款金額補(bǔ)充說明OLRUserID和OLRBookID為外鍵,分別關(guān)聯(lián)用戶表中的用戶編號(hào)和圖書表中的圖書編號(hào)5.5 表LostRecord表名LostRecord列名數(shù)據(jù)類型空/非空約束條件表示含義LostRecIDint非空主鍵書籍遺失記錄編號(hào)LostRecBookIDint非空無(wú)遺失的書籍編號(hào)LostRecUserIDint非空無(wú)遺失書籍的用戶編號(hào)LostRecDatedate非空無(wú)書籍遺失事務(wù)等級(jí)日期LostIsFineboolean非空無(wú)是否已經(jīng)繳納遺失書籍賠付款LostReBuyboolean非空無(wú)是否已經(jīng)重新購(gòu)入該書籍補(bǔ)充說明

15、LostRecUserID和LostRecBookID為外鍵,分別關(guān)聯(lián)用戶表中的用戶編號(hào)和圖書表中的圖書編號(hào)5.6 表OrderRecord表名OrderRecord列名數(shù)據(jù)類型空/非空約束條件表示含義OrderRecIDint非空主鍵預(yù)約圖書記錄的編號(hào)OrderRecBookIDint非空無(wú)被預(yù)約圖書的編號(hào)OrderRecUserIDint非空無(wú)預(yù)約圖書的用戶編號(hào)OrderRecDatedate非空無(wú)預(yù)約圖書的日期OrderIsFinishboolean非空無(wú)預(yù)約活動(dòng)是否完成補(bǔ)充說明OrderRecUserID和OrderRecBookID為外鍵,分別關(guān)聯(lián)用戶表中的用戶編號(hào)和圖書表中的圖書編

16、號(hào)5.7 表BorrowRecord表名OrderRecord列名數(shù)據(jù)類型空/非空約束條件表示含義BRDint非空主鍵借閱書籍記錄的編號(hào)BRUserIDint非空無(wú)借閱書籍的用戶的編號(hào)BRBookIDint非空無(wú)被借閱的書籍的編號(hào)BRDatedate非空無(wú)借閱書籍的時(shí)間BRIsBackboolean非空無(wú)是否已經(jīng)歸還書籍的標(biāo)識(shí)位BRBackDatedate非空無(wú)用戶應(yīng)該歸還書籍的最大日期BRIsContinueboolean非空無(wú)用戶是否可以續(xù)借書籍BRContinueTimesint非空無(wú)用戶還可以續(xù)借該書籍的次數(shù)BRIsOVerLimitboolean非空無(wú)借閱的書籍是否已經(jīng)超期BROve

17、rLimitFinevnchar可以為空無(wú)若書籍超期所應(yīng)繳納的超期款補(bǔ)充說明OrderRecUserID和OrderRecBookID為外鍵,分別關(guān)聯(lián)用戶表中的用戶編號(hào)和圖書表中的圖書編號(hào)5.8 表Book表名Book列名數(shù)據(jù)類型空/非空約束條件表示含義BookIDint非空主鍵書籍編號(hào)BookNamenvchar非空最大長(zhǎng)度為256個(gè)字符書籍名稱BookAuthornvchar非空最大長(zhǎng)度為256個(gè)字符書籍的作者名ISBNIDnvchar非空最大長(zhǎng)度為256個(gè)字符書籍的ISBN碼Publishnvchar非空最大長(zhǎng)度為256個(gè)字符書籍的出版社名PublishPlacenvchar非空最大長(zhǎng)度

18、為256個(gè)字符書籍的出版地PublishDatedate非空無(wú)書籍的出版時(shí)間TotalWordsint非空無(wú)書籍的總字?jǐn)?shù)TotalPageint非空無(wú)書籍的總頁(yè)數(shù)BookPricenvchar非空無(wú)書籍的定價(jià)BookAbstructnvchar非空無(wú)書籍的內(nèi)容簡(jiǎn)介BookCategoryint非空無(wú)書籍的類別BookInDatedate非空無(wú)書籍的入庫(kù)時(shí)間BookLibraryint非空無(wú)書籍所在的圖書分館IsBorrowboolean非空無(wú)標(biāo)識(shí)書籍當(dāng)前是否可借BookKindint非空無(wú)書籍的種類補(bǔ)充說明1.BookCategory為外鍵,關(guān)聯(lián)著圖書類別表中的類別編號(hào)2.BookKind為外

19、鍵,關(guān)聯(lián)著圖書種類表中的種類編號(hào)3.圖書類別表示圖書的內(nèi)容的類別,如哲學(xué)類,文學(xué)類,設(shè)置圖書類別圖書可以方便用戶進(jìn)行查找和定位,圖書的種類表示書籍的種類,如新書、珍藏版書籍、外文書、中文書,設(shè)置圖書種類是可能不同種類的書籍在超期、遺失時(shí)的賠付額度不一樣,如1980年前的書屬于珍藏版的書,遺失后應(yīng)該按定價(jià)的5倍賠付等4.當(dāng)書籍當(dāng)前已經(jīng)被借出或者已經(jīng)遺失了,則該書籍當(dāng)前不可借閱5.書籍作者的最大長(zhǎng)度設(shè)為256是因?yàn)榭赡芤槐緯淖髡邽槎鄠€(gè),名字的總長(zhǎng)度較大6.ISBN碼為圖書的分類編碼,同樣的書籍的ISBN碼應(yīng)該一樣5.9 表Liabrary表名Liabrary列名數(shù)據(jù)類型空/非空約束條件表示含義L

20、iabraryIDint非空主鍵圖書分館編號(hào)LibNamnvchar非空最大長(zhǎng)度為256個(gè)字符圖書分館名稱LibPhonenvchar非空最大長(zhǎng)度為11圖書分館的聯(lián)系電話LibAddressnvchar非空最大長(zhǎng)度為256個(gè)字符圖書分館的地址LibAbstructnvchar非空無(wú)圖書分館的簡(jiǎn)介補(bǔ)充說明一個(gè)圖書管理系統(tǒng)可能同時(shí)管理位于不同位置的幾個(gè)圖書分館,所以需要設(shè)置圖書分館表,一本圖書也應(yīng)該屬于某一個(gè)圖書分館5.10 表BookCategory表名BookCategory列名數(shù)據(jù)類型空/非空約束條件表示含義CategoryIDint非空主鍵圖書類別編號(hào)CategoryNamenvchar非

21、空最大長(zhǎng)度為256個(gè)字符圖書類別名稱CategoryDescribenvchar非空無(wú)類別的簡(jiǎn)介補(bǔ)充說明圖書的類別是指圖書內(nèi)容的分類,如哲學(xué)類、歷史類、計(jì)算機(jī)類等,將圖書按類別歸類可方便用戶的查找和借閱5.11 表BookKind表名BookKind列名數(shù)據(jù)類型空/非空約束條件表示含義KindIDint非空主鍵圖書種類編號(hào)KindNamenvchar非空最大長(zhǎng)度為256個(gè)字符圖書種類名稱KindDescribenvchar可以為空無(wú)圖書種類的簡(jiǎn)介OverLimitCostnvchar非空無(wú)圖書超期的罰金額度LostCostnvchar非空無(wú)圖書遺失的罰金額度補(bǔ)充說明圖書可能會(huì)被劃分為新書、珍藏

22、版書籍、外文書、中文書等種類,根據(jù)種類的不同書籍的超期、遺失的賠付金額也不同,如外文書遺失需要賠付兩倍定價(jià)的金額,而一般的中文書只需按定價(jià)賠付等,所以需要?jiǎng)澐植煌臅N類5.12表SystemLog表名SystemLog列名數(shù)據(jù)類型空/非空約束條件表示含義LogIDint非空主鍵系統(tǒng)日志編號(hào)LogContentnvchar非空無(wú)系統(tǒng)日志內(nèi)容LogTimedate&time非空無(wú)系統(tǒng)日志產(chǎn)生的時(shí)間IsSysRightboolean非空無(wú)系統(tǒng)是否正常補(bǔ)充說明系統(tǒng)日志記錄可監(jiān)測(cè)系統(tǒng)是運(yùn)行是否正確,這對(duì)于維護(hù)和恢復(fù)數(shù)據(jù)庫(kù)是很重要的6. 安全性設(shè)計(jì)6.1 防止用戶直接操作數(shù)據(jù)庫(kù)的方法1.用戶權(quán)

23、限控制給每個(gè)用戶角色限制權(quán)限,不同的角色擁有不同的權(quán)限,用戶只能行使自己權(quán)限范圍內(nèi)的權(quán)限,如普通用戶只能查看自己的借閱記錄不能任意修改,而管理員和超級(jí)管理員則可以修改用戶的借閱記錄,通過角色,權(quán)限等的一系列授予和回收操作可以有效的進(jìn)行用戶的權(quán)限控制,從而防止用戶惡意操作、篡改數(shù)據(jù)庫(kù)信息。2.數(shù)據(jù)庫(kù)登錄設(shè)密給數(shù)據(jù)庫(kù)設(shè)置登錄賬號(hào)和密碼,只有擁有直接訪問數(shù)據(jù)庫(kù)權(quán)限的用戶在鍵入正確的賬號(hào)和密碼后才能通過軟件登錄到數(shù)據(jù)庫(kù)進(jìn)行操作,可防止用戶惡意操作數(shù)據(jù)庫(kù)。3.限制操作系統(tǒng)存取權(quán)限 使用Oracle數(shù)據(jù)庫(kù)系統(tǒng)是依存在操作系統(tǒng)之上的,如果操作系統(tǒng)被人侵入,那么通過修改配置文件等一系列方法,Oracle數(shù)據(jù)庫(kù)

24、的安全性也將蕩然無(wú)存,所以對(duì)于安全性高的數(shù)據(jù)庫(kù),可以通過限制操作系統(tǒng)的存取權(quán)限來(lái)提高數(shù)據(jù)庫(kù)的安全性。 6.2 用戶帳號(hào)密碼的加密方法使用MD5加密方法對(duì)用戶賬號(hào)密碼進(jìn)行加密。MD5方法采用單項(xiàng)加密的加密方法,即只能對(duì)數(shù)據(jù)進(jìn)行加密,而不能對(duì)加密后的數(shù)據(jù)進(jìn)行解密,這樣經(jīng)過MD5算法處理的賬號(hào)和秘密存儲(chǔ)在數(shù)據(jù)庫(kù)中即使被人惡意獲取到,也不可能知道密碼的具體數(shù)據(jù),即做到了對(duì)賬號(hào)密碼的更強(qiáng)的保護(hù)。6.3 角色與權(quán)限角色可以訪問的表與列操作權(quán)限超級(jí)管理員所有表及列增刪改查管理員Users、UserRole、OverLimitRecord、LostRecord、BorrowRecord、Book、Librar

25、y、BookCategory、BookKinds增刪改查UserRights、SystemLog查看普通用戶Users查看、修改、刪除、增加信息OverLimitRecord、LostRecord、BorrowRecord、Book、Library查看7. 優(yōu)化優(yōu)先級(jí)優(yōu)化對(duì)象(目標(biāo))措施高數(shù)據(jù)庫(kù)索引根據(jù)查詢條件,建立索引,優(yōu)化索引、優(yōu)化訪問方式,限制結(jié)果集的數(shù)據(jù)量高數(shù)據(jù)庫(kù)碎片定期整理數(shù)據(jù)庫(kù)產(chǎn)生的碎片,提高數(shù)據(jù)庫(kù)的性能高數(shù)據(jù)庫(kù)緩存優(yōu)化數(shù)據(jù)庫(kù)緩存方案高數(shù)據(jù)庫(kù)對(duì)象優(yōu)化數(shù)據(jù)庫(kù)對(duì)象的放置策略,盡量讓數(shù)據(jù)庫(kù)對(duì)象均勻地把數(shù)據(jù)分布在系統(tǒng)的磁盤中,平衡I/O訪問,避免I/O瓶頸。 8. 數(shù)據(jù)庫(kù)管理與維護(hù)說明8.

26、1數(shù)據(jù)庫(kù)日常檢查1.檢查數(shù)據(jù)庫(kù)狀態(tài):確認(rèn)數(shù)據(jù)庫(kù)是否在open狀態(tài),正常提供服務(wù)。 SQL> select status, instance_role from v$instance;2.數(shù)據(jù)庫(kù)版本檢查:數(shù)據(jù)庫(kù)應(yīng)該打了最新的patchset。 SQL>select * from v$version;3.查看SGA區(qū)域:SGA區(qū)各項(xiàng)buffer之和應(yīng)該小于系統(tǒng)物理內(nèi)存的一半。 SQL>show sga;4.回滾段競(jìng)爭(zhēng)檢查:如果是oracle8i版本返回值應(yīng)該低于2%。如果該值過高,8i需要手工建立更多的回滾段,如果是9i,返回值應(yīng)該為0,如果持續(xù)存在非零值,應(yīng)該增加回滾表空間的大

27、小。 8i: SQL> select 'The average of waits/gets is '|round(sum(waits) / sum(gets) * 100,2)|'%'From v$rollstat; 9i: SQL>select distinct nospaceerrcnt as nospace From v$undostat Where begin_time>sysdate-(1/12);5.查看日志文件:數(shù)據(jù)庫(kù)運(yùn)行時(shí),可以通過查詢v$log_history來(lái)觀察log switch的切換時(shí)間。聯(lián)機(jī)日志最好是業(yè)務(wù)非高峰期每小

28、時(shí)切換一次,業(yè)務(wù)高峰期20分鐘左右切換一次。SQL>select to_char(first_time,'yyyy-mm-dd hh24:mi:ss') change_time from v$log_history;6.查看表空間:查看各個(gè)表空間所占的大小,剩余空間,使用空間百分比等信息,特別是當(dāng)業(yè)務(wù)表空間的剩余空間低于50M或者使用空間百分比大于90%時(shí),需要考慮增加表空間的大小。 SQL> select a.tablespace_name,a.bytes totalbytes,sum(b.bytes) freebytes from dba_data_files

29、a,dba_free_space b where a.file_id = b.file_id group by a.tablespace_name, a.bytes ; 7.檢查job狀態(tài):Broken列應(yīng)該為N;如果Broken列為Y,檢查oracle告警日志,分析job失敗的原因。解決后運(yùn)行:exec dbms_job.run(:job); SQL>selectjob,what,to_char(next_date,yyyy/mm/ddhh24:mi:ss),broken,failures from dba_jobs; 8.查看數(shù)據(jù)庫(kù)連接用戶:查看當(dāng)前數(shù)據(jù)庫(kù)連接的用戶進(jìn)程的具體信息,包

30、括連接的數(shù)據(jù)庫(kù)用戶名,機(jī)器名,運(yùn)行的程序名,進(jìn)程狀態(tài)。 select username,machine,program,status from v$session where osuser <> 'oracle'8.2 數(shù)據(jù)庫(kù)備份方案添加任務(wù)計(jì)劃,定期定時(shí)運(yùn)行備份批處理命令,實(shí)現(xiàn)自動(dòng)備份。設(shè)計(jì)一個(gè)物理備份和邏輯備份相結(jié)合的數(shù)據(jù)庫(kù)備份方案,以保證數(shù)據(jù)的完整性和0損失恢復(fù)。邏輯備份:星期一 完全備份 在00:00時(shí)備份 星期二 增量備份 在00:00時(shí)備份星期三 增量備份 在00:00時(shí)備份星期四 增量備份 在00:00時(shí)備份星期五 累積備份 在00:00時(shí)備份星期六

31、增量備份 在00:00時(shí)備份星期日 增量備份 在00:00時(shí)備份分析:每天在00:00時(shí)備份是因?yàn)樵谶@個(gè)時(shí)段的訪問量相對(duì)很少,星期一完全備份可以將數(shù)據(jù)庫(kù)中的信息全部備份,而之后的幾天采用增量備份可以減少備份量,加快備份速度。在在星期五選擇累計(jì)備份,是考慮到數(shù)據(jù)庫(kù)出錯(cuò)時(shí)恢復(fù)的考慮,當(dāng)數(shù)據(jù)庫(kù)在某一周有錯(cuò)誤時(shí),可以直接恢復(fù)到星期五的數(shù)據(jù),而不用一天一天的按增量備份的數(shù)據(jù)恢復(fù)。物理備份:備份方法備份頻率備份時(shí)間備份目的備注本地?zé)醾?次/天00:00保留最近一周的備份數(shù)據(jù)本地冷備1次/一月每周星期五下午保留數(shù)據(jù)庫(kù)全部數(shù)據(jù)異地導(dǎo)出備份1次/天12:00保留最近一周的備份數(shù)據(jù)9. 數(shù)據(jù)庫(kù)對(duì)象 序列序列名稱U

32、sers_seq序列描述該序列用以完成用戶編號(hào)的自增序列實(shí)現(xiàn)CREATE SEQUENCE Users_seqINCREMENT BY 1 START WITH 1 NOMAXvalueNOCYCLE NOCACHE;序列名稱UserRole_seq序列描述創(chuàng)建序列,用以完成用戶角色編號(hào)的自增序列實(shí)現(xiàn)CREATE SEQUENCE UserRole_seqINCREMENT BY 1 START WITH 1 NOMAXvalueNOCYCLE NOCACHE;序列名稱UserRight_seq序列描述創(chuàng)建序列,用以完成用戶權(quán)限編號(hào)的自增序列實(shí)現(xiàn)CREATE SEQUENCE UserRigh

33、t_seqINCREMENT BY 1 START WITH 1 NOMAXvalueNOCYCLE NOCACHE;存儲(chǔ)過程存儲(chǔ)過程名稱InsertToUsers存儲(chǔ)過程描述向用戶表中插入新的用戶記錄的存儲(chǔ)過程參數(shù)說明依次表示:用戶姓名,學(xué)號(hào)、性別、所屬角色編號(hào)、單位、郵箱和電話最后一個(gè)參數(shù)為插入結(jié)果的返回值,成功時(shí)返回1,否則返回出錯(cuò)代碼存儲(chǔ)過程實(shí)現(xiàn)CREATE or REPLACE PROCEDURE InsertToUsers(ItemName in varchar,ItemNum in integer,ItemSex in varchar,ItemRole in integer,It

34、emUnit in varchar,ItemEmail in varchar,ItemTel in varchar,ItemPsw in varchar,ItemIsBorrow in integer,ItemBorrowCnt in integer,InsertRes out integer)isBEGINSAVEPOINT SP1;INSERT INTO Users (UserID,UserName,UserNum,UserSex,UserRole,UserUnit,UserEmail,UserTel,UserPsw,UserIsBorrow,UserBorrowCnt )VALUES (

35、 Users_seq, ItemName, ItemNum, ItemSex, ItemRole, ItemUnit, ItemEmail, ItemTel, ItemPsw,ItemIsBorrow, ItemBorrowCnt );InsertRes := 1; commit; EXCEPTIONwhen DUP_VAL_ON_INDEX then InsertRes := SQLCODE;When OTHERS then InsertRes := SQLCODE;ROLLBACK TO SAVEPOINT SP1;END;存儲(chǔ)過程名稱DelOnUsers存儲(chǔ)過程描述刪除用戶表記錄參數(shù)說明

36、:依次表示:用戶姓名、學(xué)號(hào)、性別、所屬角色編號(hào)、單位、郵箱和電話、密碼當(dāng)不需要依據(jù)某一項(xiàng)來(lái)選擇刪除的用戶時(shí),如果為字符類型則傳入NULL,如果為數(shù)字類型則傳入-1如刪除編號(hào)為1的用戶時(shí)調(diào)用函數(shù)為DelOnUsers(1,NULL,-1,NULL,-1,NULL,NULL,NULL);最后一個(gè)參數(shù)為刪除記錄的執(zhí)行結(jié)果成功時(shí)返回1否則返回出錯(cuò)代碼存儲(chǔ)過程實(shí)現(xiàn)CREATE or REPLACE PROCEDURE DelOnUsers(ItemID in integer,ItemName in varchar,ItemNum in integer,ItemSex in varchar,ItemRol

37、e in integer,ItemUnit in varchar,ItemEmail in varchar,ItemTel in varchar,ItemPsw in varchar,ItemIsBorrow in integer,ItemBorrowCnt in integer,DelRes out integer)istmpCondition varchar(500);BEGIN SAVEPOINT SP1;tmpCondition := NULL;-如果需要根據(jù)用戶的編號(hào)刪除,則只需獲取用戶的編號(hào),而不用再看用戶的其他屬性,因?yàn)橛脩艟幪?hào)是唯一IF ItemID <> -1 T

38、HENtmpCondition := tmpCondition | ItemID;-如果是根據(jù)用戶的其他屬性刪除時(shí)ELSEIF ItemName IS NOT NULL THENtmpCondition := tmpCondition |'UserName = '|ItemName;END IF;IF ItemNum <> -1 THEN IF tmpCondition IS NOT NULL THEN tmpCondition := tmpCondition | 'UserNum = '|ItemNum; ELSE tmpCondition :=

39、tmpCondition | ' ADD UserNum = '|ItemNum; END IF;END IF;IF ItemSex IS NOT NULL THEN IF tmpCondition IS NOT NULL THEN tmpCondition := tmpCondition | 'UserSex = '|ItemSex; ELSE tmpCondition := tmpCondition | ' ADD UserSex = '|ItemSex; END IF;END IF;IF ItemRole <> -1 THEN

40、IF tmpCondition IS NOT NULL THEN tmpCondition := tmpCondition | 'UserRole = '|ItemRole; ELSE tmpCondition := tmpCondition | ' ADD UserRole = '|ItemRole; END IF;END IF;IF ItemUnit IS NOT NULL THEN IF tmpCondition IS NOT NULL THEN tmpCondition := tmpCondition | 'UserUnit = '|It

41、emUnit; ELSE tmpCondition := tmpCondition | ' ADD UserUnit = '|ItemUnit; END IF;END IF;IF ItemEmail IS NOT NULL THEN IF tmpCondition IS NOT NULL THEN tmpCondition := tmpCondition | 'UserEmail = '|ItemEmail; ELSE tmpCondition := tmpCondition | ' ADD UserEmail = '|ItemEmail; EN

42、D IF;END IF;IF ItemTel IS NOT NULL THEN IF tmpCondition IS NOT NULL THEN tmpCondition := tmpCondition | 'UserTel = '|ItemTel; ELSE tmpCondition := tmpCondition | ' ADD UserTel = '|ItemTel; END IF;END IF;IF ItemPsw IS NOT NULL THEN IF tmpCondition IS NOT NULL THEN tmpCondition := tmpC

43、ondition | 'UserPsw = '|ItemPsw; ELSE tmpCondition := tmpCondition | ' ADD UserPsw = '|ItemPsw; END IF;END IF;IF ItemPsw <> -1 THEN IF tmpCondition IS NOT NULL THEN tmpCondition := tmpCondition | 'UserIsBorrow = '|ItemIsBorrow; ELSE tmpCondition := tmpCondition | '

44、ADD UserIsBorrow = '|ItemIsBorrow; END IF;END IF;IF ItemPsw <> -1 THEN IF tmpCondition IS NOT NULL THEN tmpCondition := tmpCondition | 'UserBorrowCnt = '|ItemBorrowCnt; ELSEtmpCondition := tmpCondition | ' ADD UserBorrowCnt = '|ItemBorrowCnt; END IF; END IF;END IF;-執(zhí)行刪除語(yǔ)句tm

45、pCondition := 'DELETE FROM Users WHERE '|tmpCondition;execute immediate tmpCondition;DelRes := 1;commit;EXCEPTION When NO_DATA_FOUND then DelRes := SQLERRM; When OTHERS then DelRes := SQLERRM; ROLLBACK TO SAVEPOINT SP1;END;存儲(chǔ)過程名稱UpdateOnUsers存儲(chǔ)過程描述更新記錄項(xiàng)的存儲(chǔ)過程參數(shù)說明參數(shù)一:需要更新的記錄的查找條件,數(shù)組記錄一次對(duì)應(yīng)用戶姓名、

46、學(xué)號(hào)、性別、所屬角色編號(hào)、單位、郵箱和電話、密碼如果不需要某一項(xiàng)作為查找條件時(shí),該項(xiàng)對(duì)應(yīng)位置傳入NULL參數(shù)二:記錄需要更新的數(shù)據(jù)項(xiàng),數(shù)組記錄依次對(duì)應(yīng)用戶姓名、學(xué)號(hào)、性別、所屬角色編號(hào)、單位、郵箱和電話、密碼如果不需要更新某一項(xiàng)的值時(shí),該項(xiàng)對(duì)應(yīng)位置傳入NULL最后一個(gè)參數(shù)為更新結(jié)果的返回值,成功時(shí)返回1,否則返回出錯(cuò)代碼存儲(chǔ)過程實(shí)現(xiàn)-創(chuàng)建一個(gè)數(shù)組類型,用以存儲(chǔ)需要修改的記錄的值CREATE or replace TYPE Users_Arr AS varray(11) of varchar2(500);CREATE or REPLACE PROCEDURE UpdateOnUsers(Cond

47、itionArr in Users_Arr,ValueArr in Users_Arr,UpdateRes out integer)IStmpCondition varchar(500);tmpValue varchar(500);BEGINSAVEPOINT SP1;tmpCondition := NULL;tmpValue := NULL;IF ConditionArr(0) IS NOT NULL THENtmpCondition := tmpCondition|' UserID = '|ConditionArr(0);END IF;IF ValueArr(0) IS N

48、OT NULL THENtmpValue := tmpValue|' UserID = '|ValueArr(0);END IF;IF ConditionArr(1) IS NOT NULL THENIF tmpCondition IS NOT NULL THENtmpCondition := tmpCondition|' UserName = '|ConditionArr(1);ELSEtmpCondition := tmpCondition|' AND UserName = '|ConditionArr(1);END IF;END IF;IF

49、 ValueArr(1) IS NOT NULL THENIF tmpValue IS NOT NULL THENtmpValue := tmpValue|' UserName = '|ValueArr(1);ELSEtmpValue := tmpValue|', UserName = '|ValueArr(1);END IF;END IF;IF ConditionArr(2) IS NOT NULL THENIF tmpCondition IS NOT NULL THENtmpCondition := tmpCondition|' UserNum =

50、'|ConditionArr(2);ELSEtmpCondition := tmpCondition|' AND UserNum = '|ConditionArr(2);END IF;END IF;IF ValueArr(2) IS NOT NULL THENIF tmpValue IS NOT NULL THEN tmpValue := tmpValue|' UserNum = '|ValueArr(2);ELSEtmpValue := tmpValue|', UserNum = '|ValueArr(2);END IF;END IF;

51、IF ConditionArr(3) IS NOT NULL THENIF tmpCondition IS NOT NULL THENtmpCondition := tmpCondition|' UserSex = '|ConditionArr(3);ELSEtmpCondition := tmpCondition|' AND UserSex = '|ConditionArr(3);END IF;END IF;IF ValueArr(3) IS NOT NULL THENIF tmpValue IS NOT NULL THENtmpValue := tmpValue|' UserRole = '|ValueArr(3);ELSEtmpValue := tmpValue|', UserRole = '|ValueArr(3);END IF;END IF;IF ConditionArr(4) IS NOT NULL THENIF tmpCondition IS NOT NULL THENtmpCondition := tmpCondition|' UserRole = '|ConditionArr(4);ELSEtmpCondition :=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論