在開發圖書管理系統之前首先要做的是數據庫的設計,要想做一個完整的項目,數據庫就決定了這個項目的成敗,所以本系統採用SQL Server2005數據庫,當然SQL Server2008數據庫也行。在設計數據庫時要注意創建表的方式,使用create關鍵字創建一張表,這樣的好處是不管使用哪個類型的數據庫(針對2005和2008而言),只要數據庫代碼複製後直接運行就可以用很方便的創建表,而不需要每次都去創建新表。下面是一些本系統涉及到的表,感興趣的可以看一下!
數據庫概念結構設計
讀者實體:讀者編號、讀者姓名、出生日期、性別、電話、所在院系、註冊日期
讀者類型:讀者類型編號、讀者類型名稱、可借閱天數、可借閱數量
圖書實體:圖書編號ISBN、圖書名稱、作者、出版社、出版日期、印刷次數、單價、圖書類型
用戶:用戶編號、用戶名、密碼
數據庫邏輯結構設計
(1)圖書(圖書編號ISBN,圖書類型編號,圖書名稱,作者,出版社,出版日期,印刷次數,單價)
(2)圖書類型(圖書類型編號,圖書類型名稱)
(3)讀者(讀者編號,讀者類型編號,姓名,年齡,性別,電話,所在系部,註冊日期)
(4)讀者類型(讀者類型編號,讀者類型名稱,最多可借圖書數量,最長可借圖書天數)
(5)用戶(用戶編號,用戶名,密碼)
(6)圖書借閱(讀者編號,圖書編號,借閱日期,歸還日期,罰金)
3.1.3 數據庫物理結構設計
數據庫管理系統選擇SQL Server2005,根據SQL Server2005特點,設計數據表如下:
表1 讀者信息表 reader
字段名 |
類型 |
長度 |
是否爲空 |
描述 |
readerid |
char |
8 |
否 |
讀者編號(主鍵) |
type |
int |
|
是 |
讀者類型編號 |
name |
char |
20 |
是 |
讀者姓名 |
age |
int |
|
是 |
年齡 |
sex |
char |
4 |
是 |
性別 |
phone |
char |
11 |
是 |
聯繫電話 |
dept |
varchar |
20 |
是 |
所在系部 |
regdate |
date |
|
是 |
註冊日期 |
表2 讀者類型表 readertype
字段名 |
類型 |
長度 |
是否爲空 |
描述 |
id |
int |
|
否 |
讀者類型編號(主鍵) |
typename |
varchar |
20 |
是 |
讀者類型名稱 |
maxborrownum |
int |
|
是 |
最多可借閱圖書數量 |
limit |
int |
|
是 |
最長可借閱圖書天數 |
表3 用戶表users
字段名 |
類型 |
長度 |
是否爲空 |
描述 |
id |
int |
|
否 |
用戶編號(主鍵) |
name |
varchar |
20 |
是 |
用戶名稱 |
password |
varchar |
20 |
是 |
用戶密碼 |
表4 圖書信息表 book
字段名 |
類型 |
長度 |
是否爲空 |
描述 |
ISBN |
char |
10 |
否 |
圖書的ISBN(主鍵) |
typeid |
varchar |
10 |
是 |
圖書類型編號 |
bookname |
varchar |
30 |
是 |
圖書名稱 |
author |
varchar |
30 |
是 |
作者 |
publish |
varchar |
30 |
是 |
出版社 |
publishdate |
date |
|
是 |
出版日期 |
publishtime |
int |
|
是 |
印刷次數 |
unitprice |
money |
|
是 |
單價 |
表5 圖書類型表 booktype
字段名 |
類型 |
長度 |
是否爲空 |
描述 |
id |
int |
|
否 |
圖書類型編號(主鍵) |
typename |
varchar |
30 |
是 |
圖書類型名稱 |
表6 圖書借閱表 表6圖書借閱表bookborrow
字段名 |
類型 |
長度 |
是否爲空 |
描述 |
readerid |
char |
8 |
否 |
讀者編號(組合主鍵) |
ISBN |
char |
10 |
否 |
圖書ISBN(組合主鍵) |
borrowdate |
date |
|
是 |
借閱日期 |
returndate |
date |
|
是 |
歸還日期 |
fine |
money |
|
是 |
罰金 |
設計後的表如下:
1:book表
2:booktype表
3:bookborrow表
4:reader表
5:readertype表
6:users表