数据库详细设计说明书.docx
- 文档编号:7857607
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:29
- 大小:71.72KB
数据库详细设计说明书.docx
《数据库详细设计说明书.docx》由会员分享,可在线阅读,更多相关《数据库详细设计说明书.docx(29页珍藏版)》请在冰豆网上搜索。
数据库详细设计说明书
修正&标记表
文档变更历史
日期
作者
版本
变更描述
2011-05-28
舒睿
V01
数据库说明书创建
2011-06-13
舒睿
V01.1
数据库各表功能说明创建
2011-06-20
舒睿
V02
数据库各项细节功能完成
审核结果
审核人
通过版本
审核认职位
日期
文档属性
项目
描述
文档名称
功能说明书
作者
舒睿
创建日期
5/28/2011
最后更新日期
1.1目的
本文为图书馆管理课程设计SQLServer功能规范说明书。
本说明书将:
●描述数据库设计的目的
●说明数据库设计中的主要组成部分
●说明数据库设计中各功能的实现
1.2内容
本文档主要内容包括对数据库设计结构的总体描述,对数据库中各种对象的描述(包括对象的名称、对象的属性、对象和其他对象直接的关系)。
本文档中包含对以下数据库内容的描述:
●数据表
●视图
●存储过程
●触发器
●约束
在数据库主要对象之外,本文还将描述数据库安全性设置、数据库属性设置和数据库备份策略,为数据库管理员维护数据库安全稳定地运行提供参考。
1.3与其他项目的关联
本项目的数据库设计与本项目(Web部分和Windows部分)功能密切相关。
本案例项目的数据库将按照项目程序部分的功能需求而设计,数据库设计将配合设计案例的程序部分,以实现一个功能完备的真实环境内的应用。
表
1.4表设计概述
根据设计的系统功能,数据库将以图书信息为中心存储相关数据,配合SQLServer数据库系统中提供的数据管理,实现图书的借阅、归还、续借及系统设置等业务功能。
数据库设计将以存储读者信息的读者表为基础,连接多张相关表以实现对以下关系的支持:
●读者借书记录
●读者还书记录
●读者续借记录
●读者罚款记录
●读者对图书的评价
●读者对图书和图书馆的建议及留言
数据库系统主要的实体关系如图01所示。
图01
1.5读者用户信息表(ReaderInfo)
概述
读者用户信息表用于记录读者基本信息,并作为基础表与其他表连接。
表定义
读者用户信息表定义如表01所示。
表01
字段
类型
可否为空
备注
Username
nvarchar(10)
否
ID
int
否
Passwd
char(8)
否
Name
nvarchar(10)
可
Sex
char
(2)
否
Age
int
可
StuNum
Numeric
可
PlaceStrand
nvarchar(50)
可
PlaceClass
nvarchar
可
ValidCard
nvarchar(50)
否
BookCard
nvarchar(10)
可
CreateTime
datetime
可
ExpiredTime
datetime
可
主键
读者用户信息表的主键是读者用户信息表编号字段,类型为整型,设置自动增量。
。
约束
无
索引
主键用户信息ID具有自动创建的聚集索引。
1.6管理员用户信息表(UserInfo)
概述
管理员用户信息表用于记录系统管理员的各项资料。
表中都记录了管理员的账号和密码,是各用户的详细记录。
。
表定义
管理员用户信息表定义如表02所示。
表02
字段
类型
可否为空
备注
ID
Numeric
不否
Username
nvarchar(10)
不否
Passwd
char(8)
不否
Type
nvarchar(14)
不否
主键
管理员用户信息表的主键是管理员用户ID号,类型为整型,设置自动增量。
约束
无其他约束。
索引
主键字段管理员编号具有自动创建的聚集索引。
读者类别表(ReaderType)
读者类别表用于记录读者信息,包括读者ID、名字等。
读者类别表通过读者编号与借书表关联。
表定义
读者类别表定义如表03所示。
表03
字段
类型
可否为空
备注
ID
int
否
Name
nvarchar(10)
否
ReaderID
int
否
Canborrow
int
可
缺勤扣除
整型
可
其他薪资
整型
可
主键
读者类别表的主键是读者表ID字段,类型为整型,设置自动增量。
约束
无其他约束。
索引
主键字段薪资编号具有自动创建的聚集索引。
图书信息表(BookInfo)
图书信息表用于记录图书信息(图书名称、图书状态等),通过字段图书类别号与图书类别表关联。
表定义
图书信息表定义如表04所示。
表04
名称
类型
可否为空
备注
ID
nvarchar(20)
否
Name
nvarchar(50)
否
Typeid
int
可
State
binary
可
Creattime
datetime
否
Price
money
可
Press
nvarchar(50)
否
IsCancellation
binary
可
IDCancellation
int
可
Note
nvarchar(50)
可
Author
nvarchar(10)
可
Page
int
可
主键
图书信息表的主键是图书编号字段,类型为整型。
约束
图书信息表中的图书编号不可相同;图书信息表中的状态类型字段只能取“被借”、“续借”、“以还”。
索引
主键字段考勤编号具有自动创建的聚集索引。
图书类别表(BookType)
图书类别表用于记录图书的类别。
图书类别表中的基本信息包括:
图书的类别、申请状态、借书开始的时间和借书归还的时间等。
通过类别ID字段与员工表关联。
表定义
图书类别表定义如表05所示。
表05
字段
类型
可否为空
备注
Typeid
int
否
Typename
nvarchar(50)
否
主键
图书类别表的主键是Typeid字段,类型为整型,设置自动增量。
约束
请假开始时间应小于请假结束时间;申请状态字段的取值可以是:
“已提交”、“已取消”、“已批准”、“已否决”。
索引
主键字段请假申请编号具有自动创建的聚集索引。
1.7图书库存表(BookStock)
概述
图书库存表用于图书总库存的记录。
库存表中的基本信息包括:
库存ID,图书ID。
通过字段,图书ID与图书信息表关联。
表定义
图书库存表定义如表06所示。
表06
字段
类型
可否为空
备注
ID
int
否
BookID
nvarchar(20)
否
主键
图书库存表的主键是图书库存ID字段,类型为整型,不设置自动增量。
索引
主键字段加班申请编号具有自动创建的聚集索引。
1.8借书表(BookBorrowReturn)
借书表用于保存借书状态信息。
借书表中的基本信息包括:
借书表ID标识号、图书编号、证件号、借书时间、还书时间等。
通过图书ID编号与图书信息表关联。
表定义
借书表定义如
表07所示。
表07
字段
类型
可否为空
备注
ID
Numeric
否
BookID
nvarchar(20)
否
CardID
Numeric
可
BorrowTime
datetime
否
ReturnTime
datetime
否
IsReturn
nvarchar(10)
否
主键
借书表的主键是图书借书表ID字段,类型为整型,不设置自动增量。
约束
还书时间要大于借书时间
索引
主键字段业绩评定编号具有自动创建的聚集索引。
1.9罚款表(BookFines)
概述
罚款表对超期或者丢失的书籍进行评定罚款以及记录。
表BookFines中的基本信息包括:
书籍ID、读者ID、罚款ID等。
通过对书籍罚款的记录以及分类,可以清晰的看出书籍的情况。
表定义
罚款表定义如表08所示。
表08
字段
类型
可否为空
备注
ID
Numeric
否
ReaderID
int
可
BookID
nvarchar(20)
否
FinesTime
datetime
可
FinesAmount
money
FinesType
nVarchar(10)
FinesReason
nVarchar
主键
系统配置表的主键是罚款ID字段,类型为整型,设置自动增量。
约束
罚款类别只有三类,0,1,2各为丢失、超期、挂失
索引
主键字段具有自动创建的聚集索引。
1.10评价表(Evaluate)
概述
评价表用于保存读者对书籍看法的记录。
评价表中的基本信息包括:
评价ID、图书ID、书籍ID、评价等。
表定义
评价表定义如表09所示。
表09
字段
类型
可否为空
备注
ID
int
否
BookID
int
否
ReaderID
nvarchar(20)
否
Evaluate
nvarchar(50)
主键
评价表的主键是评价编号字段,类型为整型,设置自动增量。
约束
无其他约束。
索引
主键字段评价编号具有自动创建的聚集索引。
1.11借阅室表(LendRoom)
概述
借阅室表用于将库存书籍分类出若干借阅室的记录。
借阅室表的基本信息包括:
借阅室编号,借阅室名称、和借阅书架的编号。
表定义
借阅室表定义如表010所示。
表010
字段
类型
可否为空
备注
ID
int
否
Name
nvarchar(10)
否
LendRoomBookID
nvarchar(20)
主键
借阅室表的主键是借阅室编号字段,类型为整型,设置自动增量。
约束
无其他约束。
索引
主键字段借阅室表编号具有自动创建的聚集索引。
1.12借阅室书籍表(LendRoomBook)
概述
借阅室书籍表用于记录借阅室书籍表类型。
借阅室书籍表的基本信息包括:
借阅室书籍ID和书籍ID、书籍状态、书籍总和。
表定义
借阅室书籍表定义如表011所示。
表011
字段
类型
可否为空
备注
ID
nvarchar(20)
否
BookID
int
否
BookCount
int
BookState
binary
主键
借阅室表的主键是借阅室书籍表编号字段,类型为整型,设置自动增量。
。
约束
无
索引
主键字段借阅室书籍表编号具有自动创建的聚集索引。
1.13图书证表(BookCard)
概述
图书证表用于记录图书证ID信息。
图书证表的基本信息包括:
图书证表编号、读者编号等。
表定义
图书证表定义如表012所示。
表012
字段
类型
可否为空
备注
ID
Numeric
否
ReaderID
int
否
Borrowed
int
否
主键
图书证表的主键是图书证ID编号字段,类型是整型,设置自动增量。
约束
无。
索引
主键字段图书证表编号具有自动创建的聚集索引。
1.1留言表(Message)
概述
留言表用于记录读者对图书和图书馆相关的留言。
留言表包含的主要内容有:
留言表编号、读者编号。
表定义
留言表定义如表013所示。
表013
名称
类型
可否为空
说明
备注
ID
int
否
业绩评定子项目编号
ReaderID
nvarchar(20)
否
业绩评定编号
details
nvarchar
否
项目内容
主键
留言表编号。
约束
无其他约束。
索引
主键字段留言表编号具有自动创建的聚集索引。
1.2系统设置表(SystemSet)
概述
系统设置表用于系统各详细设置信息。
系统设置表包含的主要内容有:
用户权限设置、赔偿价格参照、公告、证件相关各信息和备份恢复等。
表定义
系统设置表定义如表013所示。
表013
名称
类型
可否为空
说明
备注
ID
int
否
UserPermissionSet
nvarchar(10)
否
Overdatepoint
money
否
lostPrice
money
可
RenewTime
datetime
可
BackupSet
datetime
Announce
nvarchar(50)
CardReCost
money
Cardfillprice
money
CardReTime
datetime
ModifyPerson
nvarchar(10)
Modifytime
datetime
主键
系统设置表编号。
约束
无其他约束。
索引
主键字段系统设置表编号具有自动创建的聚集索引。
1.3各表SQL代码示例
管理员用户信息表(UserInfo)
createtableUserInfo
(
IDNumeric identity(1001,1)notnull,
Usernamenvarchar(10)notnull,
Passwd char(8)notnull,
Typenvarchar(14)check(Type='图书管理员'orType='系统管理员')notnull,
constraintpk_UserInfo_idprimarykey(ID)
)
读者用户信息表(ReaderInfo)(普通用户)
createtableReaderInfo
(
Usernamenvarchar(10)notnull,
IDintnotnull,
Passwdchar(8)notnull,
Namenvarchar(10)notnull,
Sexchar
(2)check(Sex='男'orSex='女')notnull,
Ageint,
StuNumNumeric,
PlaceStrandnvarchar(50),
PlaceClassnvarchar(50),
ValidCardnvarchar(50),
BookCardnvarchar(10),
CreateTimedatetimenotnull,
ExpiredTimedatetimenotnull,
constraintpk_ReaderInfo_idprimarykey(ID)
)
读者类别表(ReaderType)
CreatetableReaderType
(
ID int,
Namenvarchar(10),
ReaderIDintnotnull,
Canborrowint,
constraintpk_ReaderType_idprimarykey(ID)
)
altertableReaderType
addconstraintfk_ReaderType_ReaderInfoforeignkey(ReaderID)
referencesReaderInfo(ID);
*图书信息表(BookInfo)
createtableBookInfo
(
IDnvarchar(20)notnull,
Namenvarchar(50),
Typeidint,
Statebinary,
Creattimedatetime,
Pricemoney,
Pressnvarchar(50) ,
IsCancellationbinary,
IDCancellationint,
Notenvarchar(50),
Authornvarchar(10),
Pageint,
constraintpk_BookInfo_idprimarykey(ID)
)
altertableBookInfo
addconstraintfk_BookInfo_BookTypeforeignkey(Typeid)
referencesBookType(Typeid);
图书类别表(BookType)
createtableBookType
(
Typeidint,
Typenamenvarchar(50),
constraintpk_BookType_idprimarykey(Typeid)
)
图书库存表(BookStock)
CreatetableBookStock
(
IDint,
BookIDnvarchar(20)notnull,
constraintpk_BookStock_idprimarykey(ID)
)
altertableBookStock
addconstraintfk_BookStock_BookInfoforeignkey(BookID)
referencesBookInfo(ID);
借书表(BookBorrow)
createtableBookBorrow
(
IDNumeric,
BookIDnvarchar(20),
CardIDNumeric,
BorrowTimedatetime,
ReturnTimedatetime,
IsReturnnvarchar(10),
constraintpk_BookBorrow_idprimarykey(ID)
)
altertableBookBorrow
addconstraintfk_BookBorrow_BookInfoforeignkey(BookID)
referencesBookInfo(ID);
罚款表(BookFines)
createtableBookFines
(
IDNumericnotnull,
ReaderIDintnotnull,
BookIDnvarchar(20)notnull,
FinesTimedatetime,
FinesAmountmoney,
FinesTypenVarchar(10),
FinesReasonnVarchar(50),
constraintpk_BookFines_idprimarykey(ID)
)
altertableBookFines
addconstraintfk_BookFines_ReaderInfoforeignkey(ReaderID)
referencesReaderInfo(ID);
altertableBookFines
addconstraintfk_BookFines_BookInfoforeignkey(BookID)
referencesBookInfo(ID);
评价表(Evaluate)
createtableEvaluate
(
IDintnotnull,
BookIDintnotnull,
ReaderIDnvarchar(20)notnull,
Evaluatenvarchar(50),
constraintpk_Evaluate_idprimarykey(ID)
)
altertableEvaluate
addconstraintfk_Evaluate_ReaderInfoforeignkey(ReaderID)
referencesReaderInfo(ID);
altertableEvaluate
addconstraintfk_Evaluate_BookInfoforeignkey(BookID)
referencesReaderInfo(ID);
借阅室表LendRoom
(
IDint,
Namenvarchar(10),
LendRoomBookIDnvarchar(20),
constraintpk_LendRoom_idprimarykey(ID)
)
altertableLendRoom
addconstraintfk_LendRoom_LendRoomBookforeignkey(BookID)
referencesBookInfo(BookID);
借阅室书籍表LendRoomBook
CreatetableLendRoomBook
(
IDnvarchar(20)notnull,
BookIDintnotnull,
BookCountint,
BookStatebinary,
constraintpk_LendRoomBook_idprimarykey(ID)
)
altertableLendRoomBook
addconstraintfk_LendRoomBook_BookInfoforeignkey(BookID)
referencesBookInfo(ID);
图书证表BookCard
CreatetableBookCard
(
IDNumeric,
ReaderIDintnotnull,
Borrowedint,
constraintpk_BookCard_idprimarykey(ID)
)
altertableBoo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 详细 设计 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)