资源描述
图书管理系统的数据库设计
———————————————————————————————— 作者:
———————————————————————————————— 日期:
13
个人收集整理 勿做商业用途
图书管理系统的数据库设计
一:需求分析:
1:图书管理系统的功能图
2:系统说明:
1. 不同的读者类型对不同的图书类型借阅的天数不同,不同的读者可借阅的图书总数不同.
2. 当图书借阅超期后、弄污、遗失会有相应的处罚。
3. 同样的图书在管理系统中会 有多本,每本之间可以区分。
4. 用户注册需经系统管理员同意后才可借阅图书。
5. 读者对预约图书有优先的借阅权。
6. 读者可以对自己的联系方式信息进行修改.
7. 图书卡或图书遗失后可申请挂失,挂失后将不能对图书进行借还操作。
3:分析各功能所需要用到的数据.
用户登录:
用户:用户名,密码
用户注册:
用户:用户名,密码,学号,姓名,系、专业,年级,电话号码,邮箱,性别
图书检索:
图书:图书号, ISBN号,书名,作者,价格,出版社,出版日期,简介
查询借阅信息:
借阅:图书,借阅时间,应归还时间,归还时间,续借次数
图书续借:
续借:用户名,图书,续借时间
图书挂失:
图书挂失:图书,用户名,挂失时间,取消挂失时间
图书卡挂失:
图书卡挂失:用户名,挂失时间,取消挂失时间
预约图书:
预约:用户名,图书名,预约时间,借书时间,是否取消
图书管理:
系统管理员:帐号,密码,姓名,性别,年龄,职称
图书管理员:帐号,密码,姓名,性别,年龄,职称
同意读者注册:
用户注册:是否同意
罚款管理:
罚款:用户名,图书,罚款金额,处罚原因,罚款时间
借书:
用户,图书,借书时间
还书:
图书,还书时间
书掉了,罚款:
4:分析实体和实体间的联系
实体:读者、图书、系统管理员、图书管理员、读者类型、图书类型
联系:
1. 图书类型 图书 属于
2. 读者类型 读者 属于
3. 读者 图书 借阅,预约,挂失,罚款,续借
4. 图书管理员 图书 借,还,罚款
5. 读者 读者 挂失
二:系统的概念模型设计。
每个实体的E-R图(未完)。
不同实体间的联系(未完):
综合的E—R图
三:数据模型的设计:
1、把上面的概念模型转换为关系模型:
实体的转换:
读者类型(类型编号,类型名称,可借阅的图书数)
读者(读者号,密码,姓名,系、专业,年级,电话号码,邮箱,性别,类型编号)
图书类型(类型编号,类型名称)
图书(图书号, ISBN号,书名,作者,价格,出版社,出版日期,简介,类型编号)
图书管理员(帐号,密码,姓名,性别,年龄,职称)
系统管理员(帐号,密码,姓名,性别,年龄,职称)
联系的转换:
借阅限制(读者类型编号,图书类型编号,借阅天数)
图书卡挂失(读者号,挂失时间,取消挂失时间)
借阅(读者号,图书号,借阅时间,应归还时间,归还时间,)
借书(,图书号,读者号,借出时间)
还书(图书管理员编号,图书号,还书时间)
续借(读者号,图书号,续借时间)
图书挂失(读者号,图书号,挂失时间,取消挂失时间)
预约(读者号,图书号,预约时间)
罚款(图书管理员,读者号,图书号,罚款时间,罚款金额,罚款原因)
2、关系的优化:
对上述关系模式的优化
图书管理员和系统管理员的关系模式相同,为了减少关系模式把这两个关系模式合并为一个关系模式.
图书管理员(帐号,密码,姓名,性别,年龄,职称)
系统管理员(帐号,密码,姓名,性别,年龄,职称)
管理员(帐号,密码,姓名,性别,年龄,职称,类型)
借阅的数据处理与三个关系模式:借阅,借书,还书,在借阅的表中包括除了管理员以外的所有信息,则把这三个关系模式进行合并:
借阅(读者号,图书号,借阅时间,应归还时间,归还时间,)
借书(管理员编号,图书号,读者号,借出时间)
还书(图书管理员编号,图书号,还书时间)
借阅(读者号,图书号,借阅时间,应归还时间,归还时间,借出图书管理员编号,还出的图书管理员编号)
3、最后的关系模式如下:
1. 读者类型(类型编号,类型名称,可借阅的图书数)
2. 读者(读者号,密码,姓名,系、专业,年级,电话号码,邮箱,性别,类型编号)
3. 图书类型(类型编号,类型名称)
4. 图书(图书号, ISBN号,书名,作者,价格,出版社,出版日期,简介,类型编号)
5. 管理员(帐号,密码,姓名,性别,年龄,职称,类型)
6. 借阅限制(读者类型编号,图书类型编号,借阅天数)
7. 借阅(读者号,图书号,借阅时间,应归还时间,归还时间,借出图书管理员编号,还出的图书管理员编号)
8. 续借(读者号,图书号,续借时间)
9. 图书卡挂失(读者号,挂失时间,取消挂失时间)
10. 图书挂失(读者号,图书号,挂失时间,取消挂失时间)
11. 预约(读者号,图书号,预约时间)
12. 罚款(图书管理员,读者号,图书号,罚款时间,罚款金额,罚款原因)
四:对每一个关系模式的具体定义
每一个关系对应的表名,每一个属性对应的字段名,类型,宽度,是否主键,是否可为空,默认值,说明等。表名或字段名用字母、数字或者下划线组成.不同中文。
1. 读者类型(类型编号,类型名称,可借阅的图书数)
ReaderType表
字段名
类型
宽度
是否主键
是否可为空
默认值
说明
RTypeId
char
1
T
RTypename
nchar
4
F
F
BorrowNum
Int
F
F
5
最多可借出的图书数量
2. 读者(读者号,密码,姓名,系、专业,年级,电话号码,邮箱,性别,读者类型编号)
Reader表
字段名
类型
宽度
是否主键
是否可为空
默认值
说明
Rid
char
8
T
password
char
10
F
F
不少于六位
Rname
nchar
5
F
T
Sex
nchar
1
F
F
只能为男或者女
RtypeID
char
1
F
F
FK,与Readertype表建立联系
Department
nchar
10
F
F
profession
nchar
10
F
T
Grade
char
4
F
F
用入学年份来表示
Telephone
char
11
F
T
E_mail
varchar
50
F
T
3. 图书类型(类型编号,类型名称)
BookType表
字段名
类型
宽度
是否主键
是否可为空
默认值
说明
BTypeId
Char
1
T
BTypeName
nChar
10
F
F
4. 图书(图书号, ISBN号,书名,作者,价格,出版社,出版日期,简介,类型编号)
Book表
字段名
类型
宽度
是否主键
是否可为空
默认值
说明
BID
char
10
T
ISBN
char
13
F
F
必须为11位
Bname
nchar
5
F
T
BtypeID
Char
1
F
F
1
FK,与BOOKTYPE
表联系
Author
Char
1
F
F
Price
Decimal
4
F
F
不能小于0
Pubcomp
nvarchar
20
F
F
Pubdate
Smalldatetime
F
F
5. 管理员(帐号,密码,姓名,性别,年龄,职称,类型)
Manager表
字段名
类型
宽度
是否主键
是否可为空
默认值
说明
MID
Char
6
T
Pwd
Char
10
F
F
Mtype
char
1
F
F
只能是数字
Mname
Nchar
5
F
T
Msex
Nchar
1
F
T
男
只能为男/女
Mage
int
F
T
6. 借阅限制(读者类型编号,图书类型编号,借阅天数)
BorrowLimit表
字段名
类型
宽度
是否主键
是否可为空
默认值
说明
RTypeId
char
1
T
FK,与ReaderType表联系
BTypeID
char
1
T
FK,与BookType表联系
LimitDays
Int
F
F
5
7. 借阅(读者号,图书号,借阅时间,应归还时间,归还时间,借出图书管理员编号,还出的图书管理员编号)
Borrow表
字段名
类型
宽度
是否主键
是否可为空
默认值
说明
RID
char
8
T
FK,与Reader表联系
BID
char
10
T
FK,与Bbook表联系
BorrowTime
salldatetime
F
F
系统当前时间
SReturnTime
salldatetime
F
F
BMID
Char
6
F
F
FK,与Manager表联系
RMD
Char
6
F
T
FK,与Manager表联系
8. 续借(读者号,图书号,续借时间)
Renew表
字段名
类型
宽度
是否主键
是否可为空
默认值
说明
RID
char
8
T
FK,与Reader表联系
BID
char
10
T
FK,与Book表联系
RenewTime
salldatetime
F
F
系统当前时间
9. 图书卡挂失(读者号,挂失时间,取消挂失时间)
RcardLoss表
字段名
类型
宽度
是否主键
是否可为空
默认值
说明
RID
char
8
T
FK,与ReaderTyper表联系
LossTime
smalldatetime
T
系统当前时间
CancleTime
smalldatetime
F
F
5
10. 图书挂失(读者号,图书号,挂失时间,取消挂失时间)
BookLoss表
字段名
类型
宽度
是否主键
是否可为空
默认值
说明
RID
char
8
T
FK,与Reader表联系
BID
char
10
T
FK,与Bbook表联系
LossTime
salldatetime
T
F
系统当前时间
CancleTIme
salldatetime
F
F
11. 预约(读者号,图书号,预约时间)
Prebook表
字段名
类型
宽度
是否主键
是否可为空
默认值
说明
RID
char
8
T
FK,与Reader表联系
BID
char
10
T
FK,与Bbook表联系
PreTime
salldatetime
T
系统当前时间
12. 罚款(图书管理员,读者号,图书号,罚款时间,罚款金额,罚款原因)
Punishment表
字段名
类型
宽度
是否主键
是否可为空
默认值
说明
RID
char
8
T
FK,与Reader表联系
BID
char
10
T
FK,与Bbook表联系
PunTime
salldatetime
T
系统当前时间
MID
char
6
F
F
FK,与Manager表联系
PunNum
decimal
F
F
不能小于0
PunCause
varNchar
50
F
F
展开阅读全文