安然
摘 要
本文以圖書館管理系統為實例,闡述如何做好數據表的設計,得出圖書管理系統的關系模式,并說明如何利用SQL Server創建數據庫,實現圖書管理數據的電子化統計。
【關鍵詞】SQL Server 數據庫 圖書館 借閱 信息表
我院圖書館今年落成,通過在我院圖書館調研,發現圖書館管理員每天需要查詢的數據非常多并且復雜,所以需要設計圖書館管理系統進行應用,從而達到高效、便捷的管理模式。
我們知道,數據庫是按照一定的數據模型來組織、描述和存儲數據。因此,我們首先必須設計好數據模型和結構,然后才能將上面的數據合理地進行存儲,從而達到科學規范的管理數據的目的和效果,如何建立科學規范的數據和組織表數據呢?數據表的設計需要下面的流程:概念設計——邏輯設計——物理設計,通過這樣的設計,我們就可以設計出規范、高校的圖書館管理系統。
經過對運城職業技術學院圖書館的調研,根據我院圖書館的需求,首先先做出系統需求分析設計,事實上,這部分可以根據不同的高校需求不同作出調整。
1 圖書館管理系統需求分析設計
圖書館借閱管理系統的具體要求如下:
1.1 錄入圖書基本信息
將圖書館的圖書信息輸入到數據庫中。
1.2 修改圖書基本信息
要求可以修改、刪除圖書信息。
1.3 用戶登錄模塊
分配用戶的權限,以不同身份進行登錄。
1.4 系統用戶管理
可以對用戶進行添加、修改、刪除等操作。
1.5 圖書借閱證管理
要求可以處理丟失、過期、新辦等管理。
1.6 還書管理
包括借書、還書、過期還書和書籍丟失處罰款等管理。
2 圖書館管理系統功能設計
圖書借閱管理系統的功能結構設計如下:
2.1 用戶管理模塊
用戶管理系統主要用于輸入用戶的信息,顯示用戶名及類型、包括添加用戶、刪除用戶、修改用戶等功能。
2.2 重新登錄模塊
用于多個用戶重新登錄。
2.3 圖書分類管理模塊
將圖書分為兩級進行管理,包括添加、刪除、修改圖書分類等功能。
2.4 圖書信息管理模塊
根據圖書分類輸入圖書信息,對圖書進行管理,其基本功能包括添加、刪除、修改圖書信息。
2.5 證件類型管理模塊
用于管理借閱證件類型,根據借閱證件類型確定借閱圖書的時間、續借時間、借閱圖書的數量等,包括添加、刪除、修改借閱證類型信息等基本功能。
2.6 借閱證件管理模塊
根據借閱證件狀態(有效、過期、掛失等)和證件類型對借閱證信息進行管理,確定借閱者的單位、身份、借書天數、借書數目等信息,包括添加、刪除、修改借閱證信息等基本功能。
2.7 圖書借閱管理模塊
圖書借閱管理模塊是系統核心部分,它根據圖書借閱狀態(借閱、續借、過期)來管理圖書的借閱操作,包括借閱、續借、歸還、丟失圖書等操作工能。
3 數據庫概念結構設計
根系調研圖書館里系統的需求分析和功能分析,我們將數據規劃為:圖書實體(圖書編號、圖書書名、圖書分類、作者、出版社、圖書價格、圖書封面)、讀者實體(借書日期、更新日期、還書日期、罰金)、借閱實體(編號、讀者信息、工作單位、身份證號、讀者類型、辦證日期、狀態)。
4 數據庫邏輯結構設計
根據圖書借閱管理功能設計的需求,設計出6個數據表,如下要求。
表1:BookType圖書分類信息表:分類字段名稱為:列名(屬性為:TypeID、TtpeName、UID),數據類型(屬性:int、varchar(20)、int),是否為空值(屬性:Not null、Not null、Not null),說明(屬性:圖書分類編號(主鍵)、圖書分類名稱、上級分類編號)
表2:BookInfo圖書基本信息表:分類字段名稱為:列名(屬性為:BookNo、BookName、Author、Publisher、Price、TypeID、CoverPhoto、CoverPhoto、Memo),數據類型(屬性為:varchar(20)、varchar(20)、varchar(20)、varchar(20)、real、int、image、text),是否為空(屬性為:Not null、Not null、Not null、Not null、Not null、Not null、null、null),說明(屬性為:圖書編號(主鍵)、圖書名稱、作者、出版社、圖書價格、圖書分類、圖書封面、注釋)。
表3:CardType借閱證類型表:分類字段名稱為:列名(屬性為:CTypeID、TypeName、MaxCount、MaxDays、RenewDays),數據類型(屬性為:char(10)、varchar(20)、smallint、smallint、smallint),是否為空值(屬性為:Not null、null、null、null、null),說明(屬性:類型編號(主鍵)、類型名稱、借閱數量、借閱時間、續借時間)。
表4:CardInfo借閱證件信息表:分類字段名稱為:列名(屬性為:CardNo、Reader、WorkPlace、IDCard、CTypeID、CreateDate、CardState),數據類型(屬性為:char(18)、char(20)、varchar(50)、char(18)、char(10)、datetime、tinyint),是否為空(屬性為:Not null、null、Not null、Not null、Not null、Not null、Not null),說明(屬性為:借閱證件編號(主鍵)、讀者姓名、工作單位、身份證號、借閱證件類型、辦證日期、證件狀態)。
表5:BorrowInfo圖書借閱信息表:分類字段名稱為:列名(屬性為:CardNO、BookNO、BorrowDate、RenewDate、ReturnDate、BorrowState),數據類型(屬性為:char(18)、varchar(20)、datetime、datetime、datetime、tinyint),是否為空值(屬性為:Not null、Not null、Not null、null、Not null、Not null、),說明(屬性為:借閱證編號(主鍵)、圖書編號(主鍵)、借閱日期、續借日期、歸還日期、借閱狀態)。
表6:User用戶信息表:分類字段名稱為:列名(UserName、Password、UserType),數據類型(char(20)、varchar(20)、tinyint),是否為空(Not null、null、Not null、),說明(用戶名(主鍵)、密碼、用戶類型)。
5 數據庫信息表內容填充
現在,圖書借閱整體架構已經設計完畢,需要管理員在每個數據庫信息表中填寫圖書的信息,這將是一個大量的工程,不過通過建立圖書館圖書數據庫管理軟件,即可方便地對數據進行管理、維護與查找,消除數據中的重復數據,保證數據的一致性和完整性,甚至可以通過網絡使更多的人訪問這些數據,達到圖書館圖書借閱最大化、管理人員方便化的目的。
6 結束語
本文主要用到了SQL Server2000中數據類型及表的創建與管理的知識點,這只是數據庫中的其中一方面知識,除了可以利用在企業管理器中進行插入、修改、刪除數據的方法,如果遇到更加復雜的情況,還可以利用SQL語句來完成,比如說:創建表的CREATE TABALE,修改表的語句ALTER TABLE,刪除表的語句為DROP-TABLE等等語句,都可以數據庫中表的信息進行設計。利用數據庫查詢數據大大節省了人工成本,是目前現代化管理系統的重要手段。
參考文獻
[1]廖世蓉.SQL Server2000應用基礎[M].北京:高等教育出版社,2007:47-74.
[2]梁爽.SQL Server2008數據庫應用技術[M].北京:清華大學出版社,2013:30-44.
作者單位
運城職業技術學院 山西省運城市 044000