第一篇:數(shù)據(jù)庫設計關于圖書館管理系統(tǒng)的設計
VF數(shù)據(jù)庫設計的報告
設計題目:圖書管理系統(tǒng)
專業(yè):會計電算化
學生姓名:余琴
學生學號:1040706422
指導老師:韓梅
時間:2011年12月21日星期三
圖書管理系統(tǒng)一. 目的
掌握計算機管理信息系統(tǒng)設計的一般方法,主要包括系統(tǒng)分析,系統(tǒng)設計的組織和實施。縮短借閱者的等待時間,減輕工作縮人員的工作量,方便工作人員對他的操作,提高管理的質量和水平.,做到高效智能化管理從而提高圖書借閱信息管理效率。簡化工作人員的勞動。
二.系統(tǒng)具體功能需求
1)圖書館借閱書籍于歸還書籍的登記。也就是為讀者建立一個臺賬,應用該臺賬,工作人員能方便地掌握某位讀者借了哪些書,借了多長時間。
3)提供快速的圖書查詢功能,方便讀者盡快插大所需要的書。4)系統(tǒng)提供的全部功能要簡單、直觀、實用。5)查詢圖書館的藏書情況和圖書的分類情況
三.系統(tǒng)數(shù)據(jù)庫關系的E—R圖:
1,系統(tǒng)所涉及到的實體及關聯(lián)關系比較簡單,主要的實體只有讀者和圖書兩個,他們通過讀者的借閱活動而發(fā)生聯(lián)系,其E—R圖如下:
2,數(shù)據(jù)庫結構實體
四、系統(tǒng)設計:
1.功能設計
用戶信息:包括用戶密碼和用戶權限,對用戶信息有修改和查詢的功能
圖書信息的輸入,包括圖書編號.書名,作者,單價.所屬類別該模塊按圖書編號和書名實現(xiàn)查詢和修改.維護刪除功能。圖書的出借、返還和資料統(tǒng)計
借書信息管理:圖書編號.讀者編號,圖書名,作者,借書日期,應還日期,罰金 學生信息管理:編號,姓名,性別,學號,學院,專業(yè),年級
還書信息管理:讀者編號,圖書編號,圖書名,作者,還書日期,應還日期,借書日期,是否逾期
2.數(shù)據(jù)庫結構設計
1)根據(jù)E—R圖,將其轉化為如下數(shù)據(jù)實體,數(shù)據(jù)庫:book.dbc,包括如下的表和視圖:學生信息管理——reader.dbf。編號
C(8)姓名
C(8)學號
C(30)性別
C(11)專業(yè)
C(20)學院
D 年級
D 2)圖書管理信息——booker.dbf。
圖書編號
C(10)書名
C(10)作者
C(10)所屬類別
C(10)單價
N(8)3)圖書類型表——typer.dbf
圖書類別
C(8)4)借書信息管理——brower.dbf
讀者編號
C(8)圖書編號
C(8)圖書名
C(10)xxxxxxxxxxxxx 借書日期
D
應還日期
D 罰金
N(8)
5)還書信息管理表—brower,dbf
圖書編號
(8)
讀者編號
(8)
圖書名
(20)
作者
(20)
還書日期
D
應還日期
D 借書日期
D
3、總體模塊設計(即關系模型):
該系統(tǒng)的全部功能由一個主控界面(兩個表單)、以及相關的四個表單組成,其總體模塊框圖如下:
五.模塊(表單設計及編程)
1、表單的設計:
A..學生信息管理有如下圖:
“查詢”按鈕的click事件代碼:
LOCAT FOR 學生信息管理.學號=ALLTRIM(THISFORM.TEXT1.VALUE)AND;學生信息管理.姓名=ALLTRIM(THISFORM.TEXT2.VALUE)IF FOUND()THISFORM.TEXT3.VALUE=學生信息管理.編號 THISFORM.TEXT4.VALUE=學生信息管理.性別 THISFORM.TEXT5.VALUE=學生信息管理.姓名 THISFORM.TEXT6.VALUE=學生信息管理.學號 THISFORM.TEXT7.VALUE=學生信息管理.學院 THISFORM.TEXT8.VALUE=學生信息管理.專業(yè) THISFORM.TEXT9.VALUE=學生信息管理.年級 ELSE N=MESSAGEBOX(“對不起,沒有你查找的對象!”,48)THISFORM.RELEASE ENDIF “清除”按鈕的click事件代碼: THISFORM.TEXT1.VALUE=“ ” THISFORM.TEXT2.VALUE=“ ” THISFORM.TEXT3.VALUE=“ ” THISFORM.TEXT4.VALUE=“ ” THISFORM.TEXT5.VALUE=“ ” THISFORM.TEXT6.VALUE=“ ”
THISFORM.TEXT7.VALUE=“ ” THISFORM.TEXT8.VALUE=“ ” THISFORM.TEXT9.VALUE=“ ” “退出”按鈕的click事件代碼: THISFORM.RELEASE
“上一條”按鈕的click事件代碼: skip-1 if bof()messagebox(“已到表頭”,48)go top endif thisform.refresh “下一條”按鈕的click事件代碼: skip if eof()messagebox(“已到表尾”,48)go bottom endif thisform.refresh “退出”按鈕的click事件代碼: THISFORM.release
“添加”按鈕的click事件代碼: APPEND thisform.refresh “修改”按鈕的click事件代碼: EDIT
B,圖書管理信息有如下圖:
“查詢”按鈕的click事件代碼:
LOCAT FOR 圖書管理信息.圖書編號=ALLTRIM(THISFORM.TEXT1.VALUE)AND;圖書管理信息.書名=ALLTRIM(THISFORM.TEXT2.VALUE)IF FOUND()THISFORM.TEXT3.VALUE=圖書管理信息.圖書編號 THISFORM.TEXT4.VALUE=圖書管理信息.書名 THISFORM.TEXT5.VALUE=圖書管理信息.作者 THISFORM.TEXT6.VALUE=圖書管理信息.單價 THISFORM.TEXT7.VALUE=圖書管理信息.所屬類別 ELSE N=MESSAGEBOX(“對不起,沒有你查找的對象!”,48)THISFORM.RELEASE “退出”按鈕的click事件代碼: THISFORM.release “清除”按鈕的click事件代碼: THISFORM.TEXT1.VALUE=“ ” THISFORM.TEXT2.VALUE=“ ” THISFORM.TEXT3.VALUE=“ ” THISFORM.TEXT4.VALUE=“ ” THISFORM.TEXT5.VALUE=“ ” THISFORM.TEXT6.VALUE=“ ” THISFORM.TEXT7.VALUE=“ ”
“上一條”,“下一條”
“退出”
按鈕的click事件代碼和學生信息管理的代碼相同:
“添加”按鈕的click事件代碼: APPEND thisform.refresh “修改”按鈕的click事件代碼: EDIT
C.借書信息管理有如下圖:
“借書”按鈕的click事件代碼: append blank replace 讀者編號 with thisform.text1.value,圖書編號 with thisform.text2.value,借書日期 with date()messagebox(“借書成功”,48)thisform.refresh
ELSE “查詢”按鈕的click事件代碼:
LOCAT FOR 借書信息.讀者編號=ALLTRIM(THISFORM.TEXT1.VALUE)AND;借書信息.圖書編號=ALLTRIM(THISFORM.TEXT2.VALUE)IF FOUND()THISFORM.TEXT3.VALUE=借書信息.圖書編號 THISFORM.TEXT4.VALUE=借書信息.圖書編號 THISFORM.TEXT5.VALUE=借書信息.圖書名 THISFORM.TEXT6.VALUE=借書信息.作者
THISFORM.TEXT7.VALUE=借書信息.借書日期
THISFORM.TEXT8.VALUE=借書信息.應還日期 THISFORM.TEXT9.VALUE=借書信息.罰金
N=MESSAGEBOX(“對不起,沒有你查找的對象!”,48)THISFORM.RELEASE ENDIF “清除”按鈕的click事件代碼: THISFORM.TEXT1.VALUE=“ ” THISFORM.TEXT2.VALUE=“ ” THISFORM.TEXT3.VALUE=“ ” THISFORM.TEXT4.VALUE=“ ” THISFORM.TEXT5.VALUE=“ ” THISFORM.TEXT6.VALUE=“ ” THISFORM.TEXT7.VALUE=“ ” THISFORM.TEXT8.VALUE=“ ” THISFORM.TEXT9.VALUE=“ ” “退出”按鈕的click事件代碼: THISFORM.release
“上一條”,“下一條”
“退出”
按鈕的click事件代碼和學生信息管理的代碼相同:
D,還書信息管理圖如下:
“上一條”,“下一條”
“退出”
按鈕的click事件代碼和學生信息管理的代碼相同:
“還書”按鈕的click事件代碼:
locate for alltrim(讀者編號)=alltrim(thisform.text1.value)and alltrim(圖書編號)=alltrim(thisform.text2.value)qx=90 if found()if date()-借書日期>qx messagebox(“超期”,48)fj=(還書日期-借書日期-qx)*0.1 messagebox(“罰金”+str(fj,10,2),48,“罰金”)replace 罰金 with fj endif replace 還書日期 with date()messagebox(“還書成功”,48)else messagebox(“該讀者未借閱此書”,48)endif
“查詢”按鈕的click事件代碼:
LOCAT FOR 還書信息管理.讀者編號=ALLTRIM(THISFORM.TEXT1.VALUE)AND;還書信息管理.圖書編號=ALLTRIM(THISFORM.TEXT2.VALUE)IF FOUND()THISFORM.TEXT3.VALUE=還書信息管理.讀者編號 THISFORM.TEXT4.VALUE=還書信息管理.圖書編號 THISFORM.TEXT5.VALUE=還書信息管理.圖書名 THISFORM.TEXT6.VALUE=還書信息管理.作者
THISFORM.TEXT7.VALUE=還書信息管理.還書日期
THISFORM.TEXT8.VALUE=還書信息管理.應還日期 THISFORM.TEXT9.VALUE=還書信息管理.借書日期 THISFORM.TEXT10.VALUE=還書信息管理.是否逾期 ELSE N=MESSAGEBOX(“對不起,沒有你查找的對象!”,48)THISFORM.RELEASE ENDIF “清除”按鈕的click事件代碼: THISFORM.TEXT1.VALUE=“ ” THISFORM.TEXT2.VALUE=“ ” THISFORM.TEXT3.VALUE=“ ” THISFORM.TEXT4.VALUE=“ ” THISFORM.TEXT5.VALUE=“ ” THISFORM.TEXT6.VALUE=“ ” THISFORM.TEXT7.VALUE=“ ” THISFORM.TEXT8.VALUE=“ ” THISFORM.TEXT9.VALUE=“ ” THISFORM.TEXT10.VALUE=“" “退出”按鈕的click事件代碼: THISFORM.release
E,登錄系統(tǒng)
“退出系統(tǒng)”按鈕的click事件代碼:
LOCATE FOR THISFORM.TEXT1.VALUE=ALLTRIM(登陸密碼表.用戶名)AND THISFORM.TEXT2.VALUE=登陸密碼表.密碼 IF FOUND()N=MESSAGEBOX(”歡迎使用圖書管理信息查詢系統(tǒng)!",48)thisform.release DO form 主菜單表單.SCX ELSE N=MESSAGEBOX('對不起,你不是合法用戶!',48)THISFORM.RELEASE ENDIF
“登陸系統(tǒng)”按鈕的click事件代碼:
M=MESSAGEBOX('你真的要退出嗎?',4+16+0)IF M=6 THISFORM.RELEASE QUIT ENDIF
六,體會與收獲
任何一個社會組織和企業(yè)公司在發(fā)展過程中都會產(chǎn)生大量的數(shù)據(jù),這些數(shù)據(jù)的組織存儲、分析統(tǒng)計有利于提高企業(yè)的發(fā)展,有利于提高企業(yè)的效率。這些數(shù)據(jù)的組織和存儲就是數(shù)據(jù)模型,就是數(shù)據(jù)庫應用系統(tǒng)開發(fā)的任務。
數(shù)據(jù)庫應用系統(tǒng)開發(fā)的過程一般包括可行性研究、需求分析、系統(tǒng)設計、程序編碼、程序調試和系統(tǒng)維護六個階段。根據(jù)數(shù)據(jù)庫應用系統(tǒng)的復雜程度,不一定完全刻板地遵守上述步驟,但是,可行性研究、需求分析、系統(tǒng)設計、程序編碼、程序調試是不可缺少的。
七。參考文獻
1,熊發(fā)涯, VFP程序設計。
中國鐵道出版社
2.鄭玲利,數(shù)據(jù)庫原理與應用案例教程。
北京清華大學出版社 3.宜小平,數(shù)據(jù)庫系統(tǒng)開發(fā)實例導航。北京人民郵電出版社 4,龔沛曾,數(shù)據(jù)庫技術與應用(M)。
北京高等教育出版社
第二篇:圖書管理系統(tǒng)數(shù)據(jù)庫設計
數(shù)據(jù)庫設計.................................................................2 3.1 專門術語的定義...................................................2 3.1.1 系統(tǒng)中常用的術語(或使用頻率較高的術語).........................2 3.1.2 表格定義及規(guī)范.................................................2 3.1.2.1數(shù)據(jù)約定.....................................................2 3.1.2.2表和表字段命名規(guī)范:.........................................3 3.2 數(shù)據(jù)設計.........................................................3 3.2.1 數(shù)據(jù)流程圖設計.................................................3 3.2.2實體關系結構設計...............................................4 3.3安全保密設計.....................................................6 3.3.1 邏輯上的安全保密...............................................6 3.3.2 物理上的安全保密...............................................6 3.4 表格與功能模塊相關性分析.........................................7 3.5 表格定義.........................................................7 數(shù)據(jù)庫設計
3.1 專門術語的定義
暫無
3.1.1 系統(tǒng)中常用的術語(或使用頻率較高的術語)暫無
3.1.2 表格定義及規(guī)范 3.1.2.1數(shù)據(jù)約定
所有數(shù)據(jù)項都用英文、漢語拼音或縮寫表示,數(shù)據(jù)庫名稱除外。
所有字段在設計時,除以下數(shù)據(jù)類型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary、varbinary外,必須有默認值。字符型的默認值為一個空字符值串;數(shù)值型的默認值為數(shù)值0;邏輯型的默認值為數(shù)值0;
其中:系統(tǒng)中所有邏輯型中數(shù)值0表示為“假”;數(shù)值1表示為“真”。datetime、smalldatetime類型的字段沒有默認值,必須為NULL。當字段定義為字符串形時建議使用varchar而不用nvarchar。建議在大多數(shù)表中(如報銷單,申請單),應都有以下字段: 字段名說明類型默認值 CreatorID創(chuàng)建者int CreatedTime創(chuàng)建時間DatetimeNULL 字符集采用 UTF-8,請注意字符的轉換。
所有數(shù)據(jù)表第一個字段都是系統(tǒng)內部使用自動序列主鍵列,自增字段,不可空,名稱為:id,確保不把此字段暴露給最終用戶。
除特別說明外,所有字符串字段都采用varchar(50)類型,(無論漢字還是英文,都算一個字符)。
除特別說明外,所有小數(shù)的字段都采用 decimal(18,2)的形式表達。
除特別說明外,所有日期格式都采用 datetime 格式(根據(jù)需要提取時間格式); 除特別說明外,所有整形都采用 bigint 格式。除特別說明外,所有字段默認都設置為 null。3.1.2.2表和表字段命名規(guī)范:
命名規(guī)則約束的范圍包括:數(shù)據(jù)庫的命名、表的命名及字段的命名。數(shù)據(jù)庫相關的命名規(guī)則采用與通常的編程的變量命名規(guī)則原則一致,具體要求如下: 1)字段名及表名為典型的名詞結構; 2)中文名稱要求語言精練、文法嚴謹;
3)望文知意、易懂易用,禁止采用如:A002這種命名;
4)主體采用拼音字母的首寫字母拼寫構成,基于慣常法可適度采用無詞義歧義性的英文命名;
5)長度不少于3個字母,不大于12個字母;
6)在對于拼音首字母類似的字段和表,為區(qū)別,添加下劃線和數(shù)字如男性人數(shù):NXRS,女性人數(shù):NXRS_2。
3.2 數(shù)據(jù)設計
繪制數(shù)據(jù)流程圖的目的是為了方便開發(fā)人員與用戶的交流,以及為系統(tǒng)的設計提供依據(jù)。數(shù)據(jù)流程圖的繪制過程通常采用自頂向下,逐層分解,直到功能細化為止,形成若干層次的數(shù)據(jù)流程圖。3.2.1 數(shù)據(jù)流程圖設計
0層數(shù)據(jù)流圖
1層數(shù)據(jù)流圖
3.2.2實體關系結構設計
圖書實體關系
讀者實體關系
圖書借閱關系實體
用戶實體關系
圖書類別實體關系
3.3安全保密設計
3.3.1 邏輯上的安全保密
1、系統(tǒng)對非法使用者的安全保密處理措施
2、系統(tǒng)對正常使用者的安全保密處理措施
3、系統(tǒng)對管理員的安全保密 3.3.2 物理上的安全保密
1、數(shù)據(jù)庫系統(tǒng)異常時的還原處理措施
2、設備遭異常毀壞時的安全防護措施
3、數(shù)據(jù)參數(shù)做到及時更新,保證系統(tǒng)正常運行
3.4 表格與功能模塊相關性分析
3.5 表格定義
a.圖書信息表
b.讀者信息表
c.借閱表
d.管理員_書籍
e.管理員_學生
第三篇:圖書管理系統(tǒng)數(shù)據(jù)庫設計示例
圖書管理系統(tǒng)數(shù)據(jù)庫設計
一個簡單的圖書管理系統(tǒng)包括圖書館內書籍的信息、學校在校學生的信息以及學生的借閱信息。此系統(tǒng)功能分為面向學生和面向管理員兩部分,其中學生可以進行借閱、續(xù)借、歸還和查詢書籍等操作,管理員可以完成書籍和學生的增加,刪除和修改以及對學生,借閱、續(xù)借、歸還的確認。
一、需求分析
針對一般圖書管理信息系統(tǒng)的需求,通過對圖書管理工作過程的內容和數(shù)據(jù)流程分析,設計如下面所示的數(shù)據(jù)項:
1.讀者信息
屬性:讀者學號,讀者姓名,讀者性別,聯(lián)系電話,所在系,生效日期,失效日期,違章狀況,累計借書,備注
主鍵:讀者學號
2.書籍信息
屬性:ISBN,書名,作者,出版社,出版日期,簡介,備注
主鍵:ISBN 3.管理員信息
屬性:工作號,姓名,性別,電話,家庭住址,備注
主鍵:工作號
數(shù)據(jù)流程
通過對系統(tǒng)的調查和可行性分析,畫出系統(tǒng)的數(shù)據(jù)流程圖:
1.讀者
學生對圖書管理系統(tǒng)的要求有:
1)能按各種方式(比如書名、編號、作者)查詢圖書館的藏書情況。
2)能夠方便地借閱圖書、續(xù)借圖書、歸還圖書
3)能夠查詢自己的基本資料、圖書情況
4)能夠熟悉圖書管理系統(tǒng)的使用。
讀者進入系統(tǒng)工作的流程為:
注冊→查詢→修改信息→借閱續(xù)借→圖書歸還→注銷
2.圖書管理員
他們對圖書管理系統(tǒng)的要求有:
1)能方便的對圖書進行錄入登記,注銷陳舊的書籍。
2)能夠方便地對新生進行登記,或注銷已經(jīng)畢業(yè)的學生信息(基本信息,借閱信息)。
3)能夠隨時發(fā)布一些諸如各學院學生借閱圖書超期情況、館內藏書情況、借情況等信息,以便各學院能夠隨時獲知本院學生的一些借書信息。
圖書管理員工作的流程為::
注冊→錄入圖書→錄入新生→注銷圖書→注銷學生→注銷→修改個人信息→超期處理
二、概念模型設計
數(shù)據(jù)庫需要表述的信息有以下幾種:
1.讀者信息
2.書籍信息
3.管理員信息
4.讀者與書籍之間的關系(借閱關系E-R圖)
5.管理員與書籍之間的關系(管理員_書籍E-R圖)6.管理員與學生之間的關系(管理員_學生 E-R圖)
三、邏輯設計
從理論‘E/R模型’到理論‘關系模型’的整理轉換,通過E/R模型到關系模型的轉化,可以得到如下關系模式:
借閱關系
屬性:工作號,讀者學號,ISBN,是否續(xù)借,借書日期,還書日期,備注。
主鍵:工作號,讀者學號,ISBN 管理員_書籍關系
屬性:工作號,ISBN,添加時間,是否在館
主鍵:工作號,ISBN 管理員_學生關系
屬性:工作號,讀者學號,確認借還
主鍵:工作號,讀者學號
四、數(shù)據(jù)庫邏輯結構
1.圖書信息表
字段名稱
數(shù)據(jù)類型 是否可為空
ISBN(key)varchar(20)否
書名
varchar(50)否
作者
varchar(12)否
出版社
varchar(50)是
出版日期 datetime
是
簡介
varchar(200)是
備注
varchar(200)是
2.讀者信息表
字段名稱數(shù)據(jù)類型是否可為空
讀者學號(key)varchar(12)否
讀者姓名varchar(10)否
讀者性別varchar(2)否
聯(lián)系電話varchar(10)是
所在系varchar(12)否
生效時間datatime是
失效時間datatime是
違章狀況varchar(2)是
累計借書int是
備注varchar(100)是
3.管理員信息表
字段名稱數(shù)據(jù)類型是否可為空
工作號(key)varchar(12)否
姓名varchar(12)否
性別varchar(2)否
電話varchar(12)是
住址varchar(12)是
備注varchar(100)是
4.借閱表
字段名稱數(shù)據(jù)類型是否可為空
工作號 char(10)否
ISBN char(10)否
讀者學號 char(10)否
借書日期datetime否
還書日期datetime否
是否續(xù)借char(4)否
備注varchar(100)是
5.管理員_書籍
字段名稱數(shù)據(jù)類型是否可為空
工作號char(10)否
ISBNchar(10)否
添加時間data time是
是否在館char(14)是
6.管理員_學生
字段名稱數(shù)據(jù)類型是否可為空
工作號char(10)否
讀者學號char(10)否
借還確認char(4)否
五、物理設計
從理論‘關系模型’到‘數(shù)據(jù)庫建立’,物理文件的安排和建立索引
1.建立索引
為了提高在表中搜索元組的速度,在實際實現(xiàn)的時候應該基于鍵碼建立索引是各表中建立索引的表項:
(1)讀者信息(讀者學號)
(2)書籍信息(ISBN)
(3)管理員信息(工作號)
(4)借閱(工作號,讀者學號,ISBN)
(5)管理員_書籍(工作號,ISBN)
(6)管理員_學生(工作號,讀者學號)
2.用SQL實現(xiàn)設計
實現(xiàn)該設計的環(huán)境為Windows 2000 Perfessinal+MSSQLServer 2000.0 1)建立圖書信息表
create table 圖書
(ISBN varchar(20)not null primary key, 書名 varchar(50)not null, 作者 varchar(12)not null, 出版社 varchar(50), 出版日期 datetime, 簡介 varchar(200), 備注 varchar(200),)2)建立讀者信息表
create table 讀者(讀者學號 varchar(12)not null primary key, 讀者姓名 varchar(10)not null, 讀者性別 varchar(2)not null, 聯(lián)系電話 varchar(12),所在系
varchar(20)not null, 生效日期 datetime, 失效日期 datetime, 違章狀態(tài) char(2)累計借書 int,備注
varchar(100),)3)建立管理員信息表
create table 管理員
(工作號 varchar(12)not null primary key,姓名
varchar(12)not null, 性別
varchar(2)not null, 電話
varchar(12), 家庭住址 varchar(50), 備注 varchar(100))4)建立借閱表
create table 借閱
(工作號 char(10)not null, ISBN char(10)not null, 讀者學號 char(10)not null, 借書日期 datetime not null, 還書日期 datetime not null, 是否續(xù)借 char(4)not null,備注 varchar(100))
5)建立管理員_書籍表
create table 管理員_書籍
(工作號 char(10)not null, ISBN char(10)not null, 添加時間 datetime, 是否在館 char(4))
6)建立管理員_學生表
create table 管理員_學生
(工作號 char(10)not null, 讀者學號 char(10)not null, ISBN char(10)not null, 借還確認 char(4)not null)7)建立索引
CREATE UNIQUE INDEX 圖書索引 ON 圖書(ISBN)
CREATE UNIQUE INDEX 讀者索引 ON 讀者(讀者學號)
CREATE UNIQUE INDEX 管理員索引 ON 讀者(工作號)
CREATE UNIQUE INDEX借閱索引 ON 借閱(工作號,讀者學號,ISBN)CREATE UNIQUE INDEX管理員_書籍索引 ON 管理員_書籍(工作號,ISBN讀者學號)
CREATE UNIQUE INDEX管理員_學生ON管理員_學生(工作號,讀者學號)8)定義視圖
讀者表視圖
CREATE VIEW 讀者視圖
AS
SELECT *
FROM 讀者
圖書表視圖
CREATE VIEW 圖書視圖
AS
SELECT *
FROM 圖書
管理員表視圖
CREATE VIEW 管理員視圖
AS
SELECT *
FROM 管理員者
第四篇:圖書管理系統(tǒng)的數(shù)據(jù)庫設計
圖書管理系統(tǒng)的數(shù)據(jù)庫設計
摘要:虛擬為某公司建立的圖書館管理系統(tǒng)進行數(shù)據(jù)庫設計,目的在于使該系統(tǒng)的運行能提高該公司的資料管理水平和現(xiàn)代化管理水平。本系統(tǒng)是一個中小型管理系統(tǒng),運行環(huán)境是Windows2003 server,因此使用Windows環(huán)境下最容易使用且功能又比較強大的Microsoft SQL Server 2000 作為后臺的數(shù)據(jù)庫系統(tǒng)。??
關鍵詞:圖書管理系統(tǒng);數(shù)據(jù)庫;設計??
中圖分類號:TP311.11文獻標識碼:A文章編號:1672-7800(2011)07-0164-02?お?
??
作者簡介:劉定智(1976-),女,貴州貴陽人,貴州職業(yè)技術學院實驗師,研究方向為算法設計,數(shù)據(jù)庫。
0引言??
目前,國內大部分大型的公共圖書館和高校圖書館都實現(xiàn)了網(wǎng)絡管理,中小型圖書館(包括企業(yè)圖書館),也在朝著這個方向發(fā)展。在本文中,我們虛擬為某公司建立的圖書館管理系統(tǒng)進行數(shù)據(jù)庫設計,目的在于使該系統(tǒng)的運行能提高該公司的資料管理水平和現(xiàn)代化管理水平。本系統(tǒng)是一個中小型管理系統(tǒng),運行環(huán)境是Windows2003 server,因此使用Windows環(huán)境下最容易使用且功能又比較強大的Microsoft SQL Server 2000 作為后臺的數(shù)據(jù)庫系統(tǒng)。??
1需求分析??
需求分析是數(shù)據(jù)庫設計的重要工作,通過需求分析,對整個系統(tǒng)的主要需求描述如圖1所示:??
圖1數(shù)字圖書館系統(tǒng)(Use Case View)??
2數(shù)據(jù)庫設計??
在圖書管理系統(tǒng)中,數(shù)據(jù)庫設計占重要位置,數(shù)據(jù)庫設計質量的優(yōu)劣,可直接影響到數(shù)據(jù)庫數(shù)據(jù)的冗余度、數(shù)據(jù)的一致性、數(shù)據(jù)丟失等問題。下面就系統(tǒng)數(shù)據(jù)庫規(guī)范化設計進行說明。??
2.1數(shù)據(jù)庫設計的理論指導??
數(shù)據(jù)庫設計的理論指導是范式理論,其主要內容如下:①如果關系模式R,其所有的域為單純域則稱R是規(guī)范化的關系,或稱第一范式(1NF);②如果關系模式R為第一范式,且每個非主屬性完全函數(shù)依賴于碼,則模式R為第二范式(2NF);③如果關系模式R為第二范式,且每個非主屬性非傳遞依賴于碼,則稱關系模式R為第三范式(3NF);④關系模式R為第一范式,滿足函數(shù)依賴集合F,X和A均為R的屬性集合,且X不包含A,如果R滿足X->A且X必包含R的碼,稱關系模式R為BCNF范式。??
2.2數(shù)據(jù)庫設計??
圖書管理系統(tǒng)數(shù)據(jù)庫常常要設計含有如下數(shù)據(jù)項:借書證號、姓名、單位、館藏號(館藏號為每本書上的條形碼號)、書名、分類號、作者、價格等。如何進行模式的設計呢?下面以圖書流通模塊所涉及的數(shù)據(jù)庫為例來說明。??
先設計圖書流通的實體-關系圖(E-R圖)。E-R圖由3個相關聯(lián)的部分構成,即實體、實體與實體之間的關系以及實體和關系的屬性。圖書流通過程中實體“圖書”與“讀者”之間的關系是借閱和被借閱的關系,實體“讀者”與“單位”之間的關系是屬于和被屬于的關系,“圖書”的屬性有“館藏號”、“書名”、“分類號”、“作者”、“價格”,“讀者”的屬性有“借書證號”、“姓名”、“性別”,“單位”的屬性有“單位編號”和“單位名稱”,“借閱”屬性“借書日期”,由此得出E-R圖如圖2所示:??
圖2圖書流通的E-R??
從圖中可以知道:①“借書證號”是唯一的,所以“借書證號”決定“姓名”,每位讀者應只屬于一個性別,所以“借書證號”也決定“性別”;②“館藏號”是唯一的,所以“館藏號”決定“書名”、“分類號”、“作者”、“價格”;③“單位編號”是唯一的,所以“單位編號”決定“單位名稱”;④每位讀者在一個時間只能借一本書,所以“借書證號” +“館藏號”決定“借閱時間”。??
如果將這些數(shù)據(jù)項置于一個關系模式中,根據(jù)范式理論,該關系模式屬于1NF(第一范式),它存在刪除異常和冗余等問題,不是理想的模式,因此要把它分解成滿足3NF或BCNF的關系模式。根據(jù)范式理論和E-R圖轉換成關系模型的規(guī)則,上面的E-R圖可轉換為4個關系模式:①圖書(館藏號、書名、分類號、作者、價格);②讀者(借書證號、姓名、性別、單位編號);③借閱(借書證號、館藏號、借閱時間),④單位(單位編碼、單位名稱),其中打下劃線的為碼,這樣就解決了插入、刪除和數(shù)據(jù)冗余等問題。??
我們對數(shù)據(jù)的結構進行詳細的分析,按照上述的設計思想,共設計了讀者表,書目表,館藏表,流通表等百余張數(shù)據(jù)表,然后創(chuàng)建視圖和存儲過程。下面舉例說明:①讀者表:借書證號、姓名、單位、讀者類別、職稱等字段;②書目表:館藏號、ISBN、題名、作者、出版社、復本數(shù)、語種、文獻類型、版次等字段;③館藏表:館藏號、索書號、分類號、種次號、館藏位置、單價、出版日期等字段;④流通表:借書證號、館藏號、借期、還期、續(xù)借、應還期、操作員等字段;⑤借閱規(guī)則表:讀者類別編碼、圖書類別編碼、限借冊數(shù)、每期天數(shù)、續(xù)借天數(shù)、過期日期、罰金等字段;⑥讀者類別表:讀者類別編碼、讀者類別等字段;⑦圖書類別表:圖書類別編碼、圖書類別等字段。??
3數(shù)據(jù)庫索引??
建立索引是加快查詢速度的有效手段,數(shù)據(jù)庫的每一個表建立了主鍵,主鍵由一個或幾個字段組成,每一個表都按主鍵建立了索引,部分表為了滿足查詢和排序的需要,除建立主索引外,還建立了次索引。例如在查詢時要用到“館藏號”、“作者”、“題名”等條件來查找圖書,因此,在書目表上除了對主鍵“館藏號”建立了主索引外,也對“作者”、“書名”等建立了次索引。??
4視圖??
視圖是從一個或幾個基本表導出的表,它是定義在基本表之上的,它是一個虛表,數(shù)據(jù)庫中只存放視圖的定義,而不存放視圖對應的數(shù)據(jù),數(shù)據(jù)仍然存放在原來的基本表中。通過定義視圖,可以使用戶眼中的數(shù)據(jù)庫結構簡單、清晰,并可以簡化用戶的數(shù)據(jù)查詢操作。由于本系統(tǒng)數(shù)據(jù)表較多,表中的字段多,為了簡化對表的操作,我們創(chuàng)建了圖書_按書名查詢、期刊_按刊名查詢、期刊_按編輯部查詢、借閱規(guī)則查詢、待還書查詢、超期記錄查詢等30余個視圖。??
5存儲過程??
存儲過程是一段經(jīng)過編譯的程序代碼,存放在數(shù)據(jù)庫服務器端。通過調用適當?shù)拇鎯^程,可在服務器端處理大量數(shù)據(jù),再將處理結果送到客戶端。這樣可減少數(shù)據(jù)在網(wǎng)絡上的傳送,消除網(wǎng)絡阻塞現(xiàn)象;例如:要查詢某條記錄,若該記錄在表中的順序號是10000,不采用存儲過程,服務器將從1至于10000條記錄數(shù)據(jù)逐條送至客戶端,采用存儲過程后,由于過程是經(jīng)過編譯的并且是在本地,不需要通過網(wǎng)絡,因此能很快查出所需記錄并將結果送到客戶端,大大減少了網(wǎng)上數(shù)據(jù)傳輸量。存儲過程另一好處是可供不同的開發(fā)工具調用,如PB、VB、ASP、Delphi等開發(fā)工具均可調用。在流通模塊和WEB查詢模塊上均有圖書檢索功能,實際上調用同一存儲過程完成的。本系統(tǒng)建立了60多個存儲過程,實現(xiàn)諸如借還書處理、新書入庫統(tǒng)計、編目入館藏、讀者統(tǒng)計、生成索書號等功能。??
6數(shù)據(jù)庫調用??
Client/Server采用ODBC接口實現(xiàn)數(shù)據(jù)庫的調用,Browser/Server采用ADO接口調用。??
參考文獻:??
[1]宮昌利.圖書管理系統(tǒng)的設計與實現(xiàn)[D].山東大學,2009.??
[2]顧俐.圖書館圖書管理系統(tǒng)的設計[J].中國科技信息, 2007(11).??
[3]趙晨.圖書管理系統(tǒng)[D].吉林大學,2009.??
[4]陳杰志.圖書管理系統(tǒng)[D].華南理工大學,2011.??
[5]黃劍櫻.高校圖書管理系統(tǒng)的設計與實現(xiàn)[D].電子科技大學,2007.??
[6]欒丁.圖書管理系統(tǒng)設計與實現(xiàn)[D].吉林大學,2010.??
[7]花昀嶠.基于面向對象技術的圖書管理系統(tǒng)研究[D].吉林大學,2010.??
[8]張佳慧.圖書信息管理系統(tǒng)的設計與實現(xiàn)[D].電子科技大學, 2009.?ぃㄔ鶉偽嗉?:王釗)
第五篇:圖書管理系統(tǒng)數(shù)據(jù)庫的設計
圖書管理系統(tǒng)數(shù)據(jù)庫的設計
摘 要:書籍是人類不可缺少的精神食糧,尤其對一些學校來說,尤其重要。所以圖書館借閱信息管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。文章以開發(fā)一套圖書館借閱信息管理系統(tǒng)為例,談談圖書管理系統(tǒng)數(shù)據(jù)庫的設計。
關鍵詞:信息抽取;圖書查詢;數(shù)據(jù)庫設計系統(tǒng)設計
系統(tǒng)開發(fā)的總體目的是在圖書館信息管理中實現(xiàn)管理的系統(tǒng)化、自動化,減少工作量,增加效率及可靠性。
圖書管理系統(tǒng)的主要功能有:
(1)系統(tǒng)權限的管理。包括系統(tǒng)登錄,密碼修改,管理員添加等。
(2)圖書類別的管理,即圖書類別添加、修改、查詢。包括圖書類別的編號、名稱等。
(3)入庫圖書的管理,即新進圖書的登記,館藏圖書的修改、刪除、查詢和報損。包括圖書的編號、索書號、中文名、原名、原作、譯者、圖書類別、語種、出版社等。
(4)期刊類別的管理,即期刊類別的添加、修改、查詢。包括期刊種類的編號、名稱、允許借閱的天數(shù)等。
(5)入庫期刊的管理,即新進期刊的登記,館藏期刊的修改,刪除,查詢和報損。包括期刊的編號、期刊名、統(tǒng)一刊號、期刊類別、期刊等級、語種、期號、總期號、出版日期、編輯部等。
(6)讀者信息的管理,即讀者信息的添加、修改、刪除、查詢。包括借書者的編號、類型、性別、身份證號、工作單位、辦證日期等。
(7)借書信息的管理,即信息的添加、修改、刪除、查詢。包括借書者編號、姓名、類別,所借書編號、名稱、原名、作者、書籍類別、出版社、借出日期、應還日期等。
(8)還書信息的管理,即信息的添加、修改、刪除、查詢。包括還書者編號、姓名、類別,所還書編號、名稱、原名、作者、書籍類別、出版社、借出日期、應還日期、實還日期等。
(9)每日盤點,即每日進書、每日借書、每日還書。
對上述功能進行分析和集中,按照模塊化程序設計的要求,得到如圖1所示的系統(tǒng)功能模塊圖。
數(shù)據(jù)庫是信息管理系統(tǒng)的后臺,存儲著所有的信息,在信息管理系統(tǒng)中占有非常重要的地位。數(shù)據(jù)庫結構設計的好壞對應用系統(tǒng)的效率及實現(xiàn)產(chǎn)生直接影響,而且也將有利于程序的實現(xiàn)。數(shù)據(jù)庫設計
2.1 數(shù)據(jù)庫的分析
用戶的需求具體體現(xiàn)在各種信息的提供、保存、修改、查詢等方面,經(jīng)調查和分析,針對一般圖書館管理信息系統(tǒng)的需求和對系統(tǒng)流程圖的分析,設計如下所示的數(shù)據(jù)項和數(shù)據(jù)結構(見圖1)。
(1)圖書類別信息,包括類別編號、類別名、允許借出天數(shù)和備注信息。
(2)圖書信息,包括圖書編號、索書號、圖書名稱、原文名稱、作者、譯者、出版社、圖書類別、出版日期、圖書語種、圖書頁碼、圖書價格、等級日期和圖書備注。
(3)圖書報損信息,包括報損日期、圖書編號、圖書名、圖書價格、讀者編號、讀者姓名、報損金額和備注信息。
(4)期刊類別信息,包括期刊類別編號、類別名、借出天數(shù)和備注信息。
(5)期刊信息,包括期刊的編號、期刊名、統(tǒng)一刊號、期刊類別、期刊等級、語種、期號、總期號、出版日期、編輯部等。
(6)期刊報損信息,包括報損日、期刊編號、期刊名、期號、總期號、、圖書原價、包損金額、讀者編號、讀者姓名和期刊備注信息。
(7)讀者信息,包括讀者編號、讀者姓名、讀者性別、讀者類別、身份證號、工作單位、EMAIL。
(8)聯(lián)系電話、辦證日期、有效日期和備注。
(9)借書信息,包括讀者編號、讀者姓名、讀者類別、書籍編號、書籍名稱、書籍原名、書籍類別、書籍作者、出版社、借書日期、應還日期和借書備注。
(10)還書信息,包括讀者編號、讀者姓名、讀者類別、書籍編號、書籍名稱、書籍原名、書籍類別、書籍作者、出版社、借書日期、應還日期、實還日期、罰款金額和借書備注。2.2 數(shù)據(jù)庫邏輯結構設計
啟動A c c e s s,創(chuàng)建一個新的數(shù)據(jù)庫,命名為“l(fā)iararyMIS.mdb”,保存在存放這個系統(tǒng)的所在工程文件的文件夾中。
數(shù)據(jù)庫“l(fā)iararyMIS”包含以下10個表:“系統(tǒng)用戶信息表user_Info”“讀者信息表readers”“圖書類型表booktype”“圖書信息表books”“期刊類型表magezineType”“期刊信息表magazines”“借書信息表borrowtnfo”“還書信息表returnInfo”“報損圖書表rejectbooks”“報損期刊表rejectmgzs”。
(1)系統(tǒng)用戶信息表user_Info用來保存系統(tǒng)用戶的信息,包括用戶名和密碼。
(2)讀者信息表readers用來保存讀者的基本信息。
(3)圖書類型表booktype用來保存圖書的類型信息。
(4)圖書信息表books用來保存圖書的基本信息。
(5)期刊類型表magezineType用來保存期刊的類型信息。
(6)期刊信息表magazines用來保存期刊的基本信息。
(7)借書信息表borrowtnfo用來保存圖書的借閱信息。
(8)還書信息表returnInfo用來保存圖書的還書信息。
(9)報損圖書表rejectbooks用來保存報損圖書的信息。
(10)報損期刊表rejectmgzs用來保存報損期刊的信息。
[參考文獻]
[1]周國民.Visual Basic+Access 數(shù)據(jù)庫項目開發(fā)實踐[M].北京:中國鐵道出版社,2005.[2]鄺孔武,王曉敏.信息系統(tǒng)分析與設計[M].北京:清華大學出版社,1999.Design of Library Management System Database
Dai Xiaofeng
(Nantong Polytechnic College,Nantong 226002,China)
Abstract:Book is an indispensable spiritual nourishment,especially for some schools is particularly important.This paper takes the development of a set of library management information system as an example,to discuss the design of library management system database.Key words:information extraction; book query; database design