圖書館綜合管理系統(tǒng)ER圖_第1頁
圖書館綜合管理系統(tǒng)ER圖_第2頁
圖書館綜合管理系統(tǒng)ER圖_第3頁
圖書館綜合管理系統(tǒng)ER圖_第4頁
圖書館綜合管理系統(tǒng)ER圖_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

長沙理工大學《程序設計實踐》課程設計匯報鄒松林學院計通學院專業(yè)計算機科學和技術(shù)班級計算機03-05學號27學生姓名鄒松林指導老師盧曼莎課程成績完成日期9月20號圖書館管理系統(tǒng)數(shù)據(jù)庫分析和設計學生姓名:鄒松林指導老師:盧曼莎摘要:圖書信息管理系統(tǒng)關(guān)鍵由讀者信息管理模塊,圖書信息管理模塊,借閱信息管理模塊,系統(tǒng)信息管理模塊等組成。其中又各自分成讀者注冊,證件修改,用戶注銷,圖書查詢,操作統(tǒng)計等子模塊。在設計本系統(tǒng)過程中,我們第一步由自頂而下需求分析概括設計出系統(tǒng)總模塊數(shù)據(jù)流圖,再設計個子模塊對應數(shù)據(jù)流圖,列出數(shù)據(jù)流信息及數(shù)據(jù)字典;第二步概念設計在需求分析基礎上用E-R圖表示出數(shù)據(jù)及相互間聯(lián)絡,采取先作子圖,再合并成初步E-R圖,進行修改和重構(gòu)后得到基礎E-R圖;第三步邏輯設計,在SQLServer設計環(huán)境下把圖書館管理系統(tǒng)E-R圖轉(zhuǎn)化為成邏輯數(shù)據(jù)模型表示邏輯模式,同時實現(xiàn)數(shù)據(jù)模型優(yōu)化和數(shù)據(jù)模式規(guī)范化;第四步進行物理設計設計數(shù)據(jù)內(nèi)模式,確定數(shù)據(jù)存放結(jié)構(gòu),存取路徑,存放空間分配等等,具體形式為表,視圖,索引建立。關(guān)鍵字:數(shù)據(jù)庫,SQL語言,MSSQLServer,圖書管理1需求分析用戶需求具體表現(xiàn)在多種信息提供、保留、更新和查詢,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充足滿足多種信息輸入和輸出。搜集基礎數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)處理步驟,為后面具體設計打下基礎。在仔細分析調(diào)查相關(guān)圖書館管理信息需求基礎上,我們關(guān)鍵考慮以下多個方面需求:1)用戶需求:圖書用戶要求計算機系統(tǒng)和SQLServer所工作范圍;2)應用資源:數(shù)據(jù)庫應用平臺包含物理平臺和圖書等;3)應用質(zhì)量和可靠性要求:包含操作人員素質(zhì)和系統(tǒng)糾錯能力等1.1項目名稱:圖書館信息管理系統(tǒng)1.2項目背景和內(nèi)容概要對圖書館管理信息系統(tǒng)進行具體地分析后,我們將系統(tǒng)分為以下多個模塊:借閱管理模塊、借書證信息管理模塊、圖書信息管理模塊、系統(tǒng)管理模塊。其關(guān)鍵功效以下:借閱管理模塊關(guān)鍵功效以下:1).能夠為讀者辦理,修改,注銷借書證,輸入讀者借書證基礎信息等,定制讀者借閱權(quán)限。2).能夠經(jīng)過借書證查詢圖書信息、借出圖書信息,借閱圖書。3).經(jīng)過借書證還書,管理員能夠經(jīng)過對借閱信息管理對到期還未還書,經(jīng)過查詢讀者借書證信息查詢讀者聯(lián)絡方法發(fā)出催還通知。借書證信息管理模塊關(guān)鍵功效以下:1).讀者基礎信息輸入,如:讀者姓名、性別、單位等。2).讀者信息修改、注銷等功效。3).添加新讀者及其信息等。圖書信息管理模塊關(guān)鍵功效以下:1).定制書籍多種信息管理,如:書名、作者、出版信息等。2).書籍信息修改,新圖書入庫管理和圖書注銷等。系統(tǒng)管理模塊關(guān)鍵功效以下:1).用戶登錄。2).修改密碼。3).添加用戶。系統(tǒng)備份和數(shù)據(jù)傳輸模塊關(guān)鍵功效以下:1).備份數(shù)據(jù)庫數(shù)據(jù)2).恢復數(shù)據(jù)庫數(shù)據(jù)3).網(wǎng)絡數(shù)據(jù)傳輸1.3數(shù)據(jù)流圖數(shù)據(jù)流總體圖示圖1-1數(shù)據(jù)流總體圖辦理借書證圖1-2輸借書證流圖借書證修改圖1-3借書證修改流圖借書證注銷圖1-4借書證注銷流圖借書系統(tǒng)不能借書原因不能借書原因圖1-5借書系統(tǒng)流圖檢索系統(tǒng)圖1-6檢索系統(tǒng)流圖還書系統(tǒng)圖1-7還書系統(tǒng)流圖圖書檔案管理系統(tǒng)圖1-8檔案管理流圖1.4數(shù)據(jù)字典參數(shù)名類型長度取值范圍別名意義圖書書名字符型11SM圖書編號字符型11B-BSH作者字符型10YZ出版社字符型20CBS單價數(shù)值型8DJ借出日期日期型yy-mm-ddJS還書日期日期型yy-mm-ddHS借書證號字符型10-JSZ姓名字符型20NAME是否歸還字符型20YN性別字符型2SEX單位字符型20DW發(fā)證日期日期型yy-mm-ddFZ已借書冊數(shù)字符型2YNC是否許可借書字符型2YNS是或否類別字符型20LB進冊數(shù)數(shù)值型10JC庫存量數(shù)值型10CZ操作員編號數(shù)值型10CB操作員姓名字符型10CNAME操作員密碼字符型15MM表1數(shù)據(jù)字典2概念結(jié)構(gòu)設計這一階段我們將用戶應用需求抽象為信息世界結(jié)構(gòu),即對系統(tǒng)人、物、事和概念進行人為處理,抽取大家所關(guān)心共同特征,同時把這些特征用概念正確描述。我們首先依據(jù)需求分析結(jié)果(數(shù)據(jù)流圖、數(shù)據(jù)字典等)對現(xiàn)實世界數(shù)據(jù)進行抽象,設計各個局部E-R圖,然后合并成初步E-R圖,再進行修改和重構(gòu)。2.1局部E-R圖圖書信息管理系統(tǒng)關(guān)鍵分為以下多個局部E-R圖:1).借書證處理系統(tǒng)ER圖:管理員管理員辦證改證銷證讀者檔案借書證身份驗證身份驗證身份驗證1PPNMNMP1P圖2-1借書證處理系統(tǒng)ER圖圖中各實體屬性以下:讀者檔案:學號,讀者姓名,性別,出生日期,借書證號,職業(yè),單位,通訊地址,郵政編碼,聯(lián)絡電話借書證:借書證號,姓名,性別,辦證日期,借閱范圍,最大借書量,照片,身份證號管理員:管理員編號,管理員姓名,登陸密碼2).借書系統(tǒng)ER圖:讀者讀者借書證庫存表借出信息驗證查詢借書檢驗庫存索書條111N1NN圖2-2借書系統(tǒng)ER圖圖中各實體屬性以下:讀者:身份證號,讀者姓名,借書證號借書證:借書證號,姓名,性別,辦證日期(借閱范圍,最大借書量,照片,身份證號)庫存信息:書號,圖書編號借出信息:圖書編號,借書證號,借書日期,歸還日期3).索書系統(tǒng)ER圖:讀者讀者圖書檔案索書要求索書MN索書條圖2-3索書系統(tǒng)ER圖圖中各實體屬性以下:讀者:讀者姓名,借書證號圖書檔案:圖書編號,書號,書名,作者,出版單位,出版日期,單價,藏書冊書,類別,入庫日期4).還書系統(tǒng)ER圖:驗證驗證還書催還完整檢驗讀者借書證庫存表借出信息管理員是否歸還1N1MMN1M1P圖2-4還書系統(tǒng)ER圖圖中各實體屬性以下:讀者:學號,讀者姓名,借書證號借書證:借書證號,姓名,性別,辦證日期庫存信息:書號,圖書編號借出信息:圖書編號,借書證號,借書日期,歸還日期管理員:操作員編號,管理員姓名,登陸密碼5).圖書檔案管理系統(tǒng)ER圖:管理員管理員修改輸入注銷圖書檔案庫存身份驗證身份驗證身份驗證1N1NN1NNNN入庫清單圖2-5檔案管理系統(tǒng)ER圖圖中各實體屬性以下:管理員:操作員編號,管理員姓名,登陸密碼庫存信息:書號,圖書編號圖書檔案:圖書編號,書號,書名,作者,出版單位,出版日期,單價,類別,入庫日期入庫清單:入庫日期,圖書編號,管理員編號,書名6).整體E-R圖讀者讀者圖書檔案借出書庫庫存表管理員借書證圖書管理證件處理催還借書還書查詢已借索書PPM1MN11MNPPMNNPMNN1N圖2-6整體ER圖圖中各實體屬性以下:讀者檔案:學號,讀者姓名,性別,借書證號,單位借書證:借書證號,姓名,性別,辦證日期管理員:操作員編號,管理員姓名,登陸密碼庫存信息:書號,圖書編號借出信息:圖書編號,借書證號,借書日期,歸還日期圖書檔案:書號,書名,作者,出版單位,出版日期,單價,類別,藏書冊書,圖書編號入庫日期2.2實體描述說明:1、因為讀者信息能夠在借書證辦理檔案中查到所以合并為借書證辦理檔案2.將借出書庫和入庫清單分別合并到了借書記錄表和圖書信息表中實體名稱借書證數(shù)據(jù)庫表借書證信息表實體說明讀者和借書證信息實體屬性列表借書證號,姓名,性別,辦證日期,最大借書量,學號實體名稱管理員數(shù)據(jù)庫表tz_passwd實體說明管理員信息實體屬性列表管理員編號,管理員姓名,登陸密碼實體名稱讀者數(shù)據(jù)庫表借書記錄表實體說明圖書館未被借出圖書信息實體屬性列表書號,圖書編號實體名稱讀者數(shù)據(jù)庫表還書記錄表實體說明圖書館未被借出圖書信息實體屬性列表書號,圖書編號實體名稱圖書檔案數(shù)據(jù)庫表圖書信息表實體說明館藏圖書信息實體屬性列表書號,書名,作者,出版單位,出版日期,版次,單價,類別,圖書編號,入庫日期表2實體描述2.3關(guān)系描述(已包含在E-R圖中)2.4實體--關(guān)系調(diào)整(實體描述表中已消除冗余實體和關(guān)系)2.5數(shù)據(jù)項定義1).圖書庫數(shù)據(jù)項定義:名稱別名類型長度其它圖書書名SM字符型20一般索引書號SH數(shù)值型20主索引譯者YZ字符型10出版社CBS字符型20單價DJ數(shù)值型8出版時間CBSJ日期型8表3圖書庫數(shù)據(jù)項定義2).借、還書庫數(shù)據(jù)項定義:名稱別名類型長度其它姓名XSXM字符型10一般索引借書證號JSZH數(shù)值型8主索引圖書書名SM字符型20圖書編號SH字符型20借書日期JSRQ日期型8還書日期HSRQ日期型8表4借、還書庫數(shù)據(jù)項定義3).借書證庫數(shù)據(jù)項定義:名稱別名類型長度其它姓名JSXM字符型10一般索引借書證號JSGH字符型6主索引性別XB字符型4單位DW字符型8表5借書證庫數(shù)據(jù)項定義4).操作員庫數(shù)據(jù)項定義:名稱別名類型長度其它操作員編號CZYYHH字符型10操作員用戶名CZYYHM字符型10口令KL字符型10表6操作員庫數(shù)據(jù)項定義2.6數(shù)據(jù)表(庫)描述圖書數(shù)據(jù)庫=圖書書名+圖書編號+著者+出版社+單價+書號+出版時間借書庫=姓名+借書證號++老師姓名+圖書名稱+借書日期+還書日期老師數(shù)據(jù)庫=姓名+借書證號+單位操作員庫=操作員用戶名+口令2.7系統(tǒng)功效模塊圖軟件功效結(jié)構(gòu)圖:工商學院圖書信息管理系統(tǒng)系統(tǒng)管理基礎情況錄入借、還書管理查詢、統(tǒng)計初始化數(shù)據(jù)備份操作員管理通常見戶登陸新圖書登記新期發(fā)表記借書登記還書登記圖書庫藏查詢借書證庫查詢圖書查詢借書查詢還書查詢圖2-7軟件功效結(jié)構(gòu)2.8系統(tǒng)步驟圖:圖書管理系統(tǒng)讀者查詢系統(tǒng)圖書(期刊)庫查詢圖2-8系統(tǒng)步驟圖3邏輯結(jié)構(gòu)設計為了能夠用計算機和SQLServer實現(xiàn)用戶需求,可將概念結(jié)構(gòu)轉(zhuǎn)化為對應數(shù)據(jù)模型,即是設計邏輯結(jié)構(gòu)。即由E-R圖建立了合適表,并按不一樣范式定義,對表進行規(guī)范化。對規(guī)范化表,更據(jù)用戶需求建立數(shù)據(jù)庫結(jié)構(gòu)。3.1確定數(shù)據(jù)依靠關(guān)系名主要函數(shù)依賴管理員BCNF管理員編號—→(管理員姓名,登陸密碼)庫存信息BCNF圖書編號—→書名等借出信息BCNF(圖書編號)—→(借書日期,借書證號,歸還日期)借書證2NF借書證號—→(借書證號,姓名,性別,單位,發(fā)證日期,已借書冊書,是否許可借書)以后擴展:身份證號—→(姓名,性別,照片)圖書檔案2NF圖書編號—→(書號,書名,作者,出版單位,出版日期,版次,單價,內(nèi)容提要,分類號,索書號,所在書庫,入庫日期)入庫清單BCNF圖書編號—→(管理員編號,書名,入庫日期)還書信息BCNF借書證號—→(姓名,圖書編號,書名,借出日期,還書日期)3.2數(shù)據(jù)依靠優(yōu)化和調(diào)整3.2.1關(guān)系模式優(yōu)化(1)借書證信息:借書證(借書證號,姓名,性別,單位,發(fā)證日期,已借書冊書,是否許可借書)滿足BCNF范式(2)管理員信息:管理員信息(管理員編號,管理員姓名,登陸密碼)滿足BCNF范式(3)庫存信息:庫存信息(圖書編號,書號)滿足BCNF范式(4)借書信息:借書信息(圖書編號,借書證號,姓名,書名,借書日期,是否歸還)滿足BCNF范式(5)還書信息:還書信息(姓名,圖書編號,書名,借出日期,還書日期)滿足BCNF范式(6)圖書信息:圖書檔案(圖書編號,書名,作者,圖書類別,單價,出版社,進冊書,庫存量)均滿足BCNF范式(7)入庫清單:入庫清單(圖書編號,管理員編號,書名,入庫日期)滿足BCNF范式3.2.2關(guān)系模式調(diào)整即使在關(guān)系模式優(yōu)化中將多種關(guān)系滿足了BCNF范式要求,不過對一些數(shù)據(jù)庫操作卻并沒有簡化,相反造成了數(shù)據(jù)庫查詢等數(shù)據(jù)庫操作效率低下。于是對‘借書證信息’,和‘圖書信息’作出了以下調(diào)整。(1)借書證信息:借書證(借書證號,姓名,性別,辦證日期,單位,已借書冊數(shù),借書許可,)(3NF)(2)圖書信息:圖書檔案(圖書編號,書名,作者,出版單位,單價,圖書類別,進冊數(shù),入庫量)(2NF)4代碼設計圖書管理系統(tǒng)部分源代碼[圖書外借情況查詢代碼]tempstr=allt(thisform.container1.text1.value)tempstr="%"+tempstr+"%"ifbo1.text="借書證號"select*from借書記錄表where借書記錄表.借書證號liketempstrintocursortempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendififbo1.text="姓名"select*from借書記錄表where借書記錄表.姓名liketempstrintocursortempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendififbo1.text="圖書編號"select*from借書記錄表where借書記錄表.圖書編號liketempstrintocursortempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendififbo1.text="書名"select*from借書記錄表where借書記錄表.書名liketempstrintocursortempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendififbo1.text="是否歸還"select*from借書記錄表where借書記錄表.是否歸還liketempstrintocursortempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendifthisform.container1.text1.value=""[圖書外借和歸還情況查詢代碼]tempstr=allt(thisform.container1.text1.value)tempstr="%"+tempstr+"%"ifbo1.text="借書證號"select*from還書記錄表where還書記錄表.借書證號liketempstrintocursortempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendififbo1.text="姓名"select*from還書記錄表where還書記錄表.姓名liketempstrintocursortempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendififbo1.text="圖書編號"select*from還書記錄表where還書記錄表.圖書編號liketempstrintocursortempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendififbo1.text="書名"select*from還書記錄表where還書記錄表.書名liketempstrintocursortempcursorthisform.grid1.recordsource=tempcursorthisform.refreshendifthisform.container1.text1.value=""[存放過程代碼]procedurerideletelocalllretvalllretval=.t.if(isrlocked()and!deleted())or!rlock()llretval=.f.elseif!deleted()deleteifcursorgetprop('buffering')>1 =tableupdate()endifllretval=pnerror=0endifnotalreadydeletedendifunlockrecord(recno())returnllretvalprocedureriupdatelparameterstcfieldname,tcnewvalue,tccascadeparentlocalllretvalllretval=.t.ifisrlocked()or!rlock()llretval=.f.elseifeval(tcfieldname)<>tcnewvalueprivatepccascadeparentpccascadeparent=upper(iif(type("tccascadeparent")<>"c","",tccascadeparent))replace(tcfieldname)withtcnewvalueifcursorgetprop('buffering')>1 =tableupdate()endifllretval=pnerror=0endifvaluesdon'talreadymatchendifit'slockedalready,oriwasabletolockitunlockrecord(recno())returnllretvalprocedurerierrorparameterstnerrno,tcmessage,tccode,tcprogramlocallnerrorrows,lnxxlnerrorrows=alen(gaerrors,1)iftype('gaerrors[lnerrorrows,1]')<>"l"dimensiongaerrors[lnerrorrows+1,alen(gaerrors,2)]lnerrorrows=lnerrorrows+1endifgaerrors[lnerrorrows,1]=tnerrnogaerrors[lnerrorrows,2]=tcmessagegaerrors[lnerrorrows,3]=tccodegaerrors[lnerrorrows,4]=""lnxx=1dowhile!empty(program(lnxx))gaerrors[lnerrorrows,4]=gaerrors[lnerrorrows,4]+","+;program(lnxx)lnxx=lnxx+1enddogaerrors[lnerrorrows,5]=pcparentdbfgaerrors[lnerrorrows,6]=pnparentrecgaerrors[lnerrorrows,7]=pcparentidgaerrors[lnerrorrows,8]=pcparentexprgaerrors[lnerrorrows,9]=pcchilddbfgaerrors[lnerrorrows,10]=pnchildrecgaerrors[lnerrorrows,11]=pcchildidgaerrors[lnerrorrows,12]=pcchildexprreturntnerrnoprocedureriopenparameterstctable,tcorderlocallccurwkarea,lcnewwkarea,lninusespotlninusespot=atc(tctable+"*",pcricursors)iflninusespot=0lccurwkarea=select()select0lcnewwkarea=select()ifnotempty(tcorder)use(tctable)againorder(tcorder);alias("__ri"+ltrim(str(select())))shareelseuse(tctable)againalias("__ri"+ltrim(str(select())))shareendififpnerror=0pcricursors=pcricursors+upper(tctable)+"?"+str(select(),5)elselcnewwkarea=0endifsomethingbadhappenedwhileattemptingtoopenthefileelselcnewwkarea=val(substr(pcricursors,lninusespot+len(tctable)+1,5))pcricursors=strtran(pcricursors,upper(tctable)+"*"+str(lcnewwkarea,5),;upper(tctable)+"?"+str(lcnewwkarea,5))ifnotempty(tcorder)setorderto(tcorder)in(lcnewwkarea)endifsentanorderifpnerror<>0lcnewwkarea=0endifsomethingbadhappenedwhilesettingorderendifreturn(lcnewwkarea)procedureriendparameterstlsuccesslocallnxx,lnspot,lcworkareaiftlsuccessendtransactionelsesetdeletedoffrollbacksetdeletedonendififempty(pcriolderror)onerrorelseonerror&pcriolderror.endifforlnxx=1tooccurs("*",pcricursors)lnspot=atc("*",pcricursors,lnxx)+1usein(val(substr(pcricursors,lnspot,5)))endforifpcoldcompat="on" setcompatibleonendififpcolddele="off"setdeletedoffendififpcoldexact="on"setexactonendififpcoldtalk="on"settalkonendifdocasecaseempty(pcolddbc)setdatatocasepcolddbc<>dbc()setdatato(pcolddbc)endcasereturn.cedurerireuse*rireuse.prgparameterstctablename,tcwkareapcricursors=strtran(pcricursors,upper(tctablename)+"?"+str(tcwkarea,5),;upper(tctablename)+"*"+str(tcwkarea,5))return.t.**********************************************************************************"參考完整性刪除觸發(fā)器"借書證信息表procedure__ri_delete_借書證信息表localllretvalllretval=.t.privatepcparentdbf,pnparentrec,pcchilddbf,pnchildrec,pcparentid,pcchildidprivatepcparentexpr,pcchildexprstore""topcparentdbf,pcchilddbf,pcparentid,pcchildid,pcparentexpr,pcchildexprstore0topnparentrec,pnchildrecif_triggerlevel=1begintransactionprivatepcricursors,pcriwkareas,pcriolderror,pnerror,;pcolddele,pcoldexact,pcoldtalk,pcoldcompat,pcolddbcpcoldtalk=set("talk")settalkoffpcolddele=set("deleted")pcoldexact=set("exact")pcoldcompat=set("compatible")setcompatibleoffsetdeletedonsetexactoffpcricursors=""pcriwkareas=""pcriolderror=on("error")pnerror=0onerrorpnerror=rierror(error(),message(),message(1),program())iftype('gaerrors(1)')<>"u"releasegaerrorsendifpublicgaerrors(1,12)pcolddbc=dbc()setdatato("tsglxt")endiffirsttriggerlocallcparentid&&parent'svaluetobesoughtinchildlocallcchildwkarea&&childworkareahandlereturnedbyriopenlocallcparentwkarealocallldelheaderarealcstartarea=select()llretval=.t.lcparentwkarea=select()select(lcparentwkarea)pcparentdbf=dbf()pnparentrec=recno()store借書證號tolcparentid,pcparentidpcparentexpr="借書證號"lcchildwkarea=riopen("還書記錄表","借書證號")iflcchildwkarea<=0if_triggerlevel=1doriendwith.f.endifattheendofthehighesttriggerlevelreturn.f.endifnotabletoopenthechildworkareapcchilddbf=dbf(lcchildwkarea)llretval=!seek(lcparentid,lcchildwkarea)select(lcchildwkarea)pnchildrec=recno()pcchildid=借書證號pcchildexpr="借書證號"if!llretvaldorierrorwith-1,"違反刪除限制規(guī)則。","",""endif=rireuse("還書記錄表",lcchildwkarea)ifnotllretvalif_triggerlevel=1doriendwithllretvalendifattheendofthehighesttriggerlevelselect(lcstartarea)returnllretvalendifif_triggerlevel=1doriendwithllretvalendifattheendofthehighesttriggerlevelselect(lcstartarea)returnllretval**"結(jié)束參考完整性刪除觸發(fā)器"借書證信息表*********************************************************************procedure__ri_update_借書證信息表**"參考完整性更新觸發(fā)器"借書證信息表localllretvalllretval=.t.privatepcparentdbf,pnparentrec,pcchilddbf,pnchildrec,pcparentid,pcchildidprivatepcparentexpr,pcchildexprstore""topcparentdbf,pcchilddbf,pcparentid,pcchildid,pcparentexpr,pcchildexprstore0topnparentrec,pnchildrecif_triggerlevel=1begintransactionprivatepcricursors,pcriwkareas,pcriolderror,pnerror,;pcolddele,pcoldexact,pcoldtalk,pcoldcompat,pcolddbcpcoldtalk=set("talk")settalkoffpcolddele=set("deleted")pcoldexact=set("exact")pcoldcompat=set("compatible")setcompatibleoffsetdeletedonsetexactoffpcricursors=""pcriwkareas=""pcriolderror=on("error")pnerror=0onerrorpnerror=rierror(error(),message(),message(1),program())iftype('gaerrors(1)')<>"u"releasegaerrorsendifpublicgaerrors(1,12)pcolddbc=dbc()setdatato("tsglxt")endiffirsttriggerlocallcparentid&&parent'svaluetobesoughtinchildlocallcoldparentid&&previousparentidvaluelocallcchildwkarea&&childworkareahandlereturnedbyriopenlocallcchildid&&child'svaluetobesoughtinparentlocallcoldchildid&&oldchildidvaluelocallcparentwkarea&&parentworkareahandlereturnedbyriopenlocallcstartarealcstartarea=select()llretval=.t.lcparentwkarea=select()select(lcparentwkarea)pcparentdbf=dbf()pnparentrec=recno()lcoldparentid=oldval("借書證號")pcparentid=lcoldparentidpcparentexpr="借書證號"lcparentid=借書證號iflcparentid<>lcoldparentidlcchildwkarea=riopen("還書記錄表")iflcchildwkarea<=0if_triggerlevel=1doriendwith.f.endifattheendofthehighesttriggerlevelselect(lcstartarea)return.f.endifnotabletoopenthechildworkareapcchilddbf=dbf(lcchildwkarea)select(lcchildwkarea)scanfor借書證號=lcoldparentidpnchildrec=recno()pcchildid=借書證號pcchildexpr="借書證號"ifnotllretvalexitendif&¬llretvalllretval=riupdate("借書證號",lcparentid,"借書證信息表")endscangetallofthe還書記錄表records=rireuse("還書記錄表",lcchildwkarea)ifnotllretvalif_triggerlevel=1doriendwithllretvalendifattheendofthehighesttriggerlevelselect(lcstartarea)returnllretvalendifendifthisparentidchangedif_triggerlevel=1doriendwithllretvalendifattheendofthehighesttriggerlevelselect(lcstartarea)returnllretval**"結(jié)束參考完整性更新觸發(fā)器"借書證信息表********************************************************************************5數(shù)據(jù)庫系統(tǒng)性能評價在需求分析部分,我認真閱讀了圖書管理系統(tǒng)功效簡述,在此基礎上把整個系統(tǒng)按處理功效分解成若干模塊,進行數(shù)據(jù)分解,畫出了總系統(tǒng)和各模塊數(shù)據(jù)流圖、數(shù)據(jù)項表、數(shù)據(jù)結(jié)構(gòu)表、數(shù)據(jù)流表等。得到需求分析關(guān)鍵結(jié)果,基礎反應了用戶需求。在概念結(jié)構(gòu)設計時,采取自底向上設計方法。將數(shù)據(jù)步驟圖中子圖抽象為E-R圖,然后再合并各個分E-R圖。設計出整體概念結(jié)構(gòu)內(nèi)部含有一致性,不僅能滿足需求分析階段確定全部要求,而且能正確反應原來每個子視圖結(jié)構(gòu)。而且給出了各個實體描述,對實體和關(guān)系進行了調(diào)整,消除了冗余實體和冗余關(guān)系。在邏輯結(jié)構(gòu)設計時,選擇SQLServer所支持數(shù)據(jù)模型,適于描述和表示概念結(jié)構(gòu)。我們遵照一定標準進行實體、屬性和聯(lián)絡轉(zhuǎn)換。優(yōu)化了關(guān)系數(shù)據(jù)模型,依據(jù)具體應用確定范式和關(guān)系模式分解和合并。確定了外模式和數(shù)據(jù)視圖。在物理結(jié)構(gòu)設計時,設計存放結(jié)構(gòu)和存放方法考慮到了用戶應用環(huán)境情況,為了縮短響應時間優(yōu)化數(shù)據(jù)庫訪問,建立了常常查詢屬性索引。而且對數(shù)據(jù)庫表進行了存放空間分配和劃分了用戶角色及每個角色權(quán)限,系統(tǒng)安全性提升。最終在數(shù)據(jù)庫實施設計階段,在具體DBMS下創(chuàng)建庫,表,視圖,建

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論