资源描述
数据库管理系统分析和设计
1.1需求分析
1.系统目标:实现一个图书馆管理系统,实现图书管理,读者管理,处罚的管理和读者借阅图书的管理。
2.系统的功能需求:本系统可以分为管理员和读者两个用户,管理员可以进行进行借书,还书,处罚,查询和统计的功能。读者可以进行续借,查询。
(1)功能的划分:
用户通过自己的用户名和密码,以及选择登陆的类型进行登陆到功能界面。管理员的功能界面有借书,还书,处罚,查询的功能。读者有续借,查询功能。
(2)功能的描述:
² 借书功能:
当读者拿着一本书到管理员处借书时,管理员可以通过录入的方式将图书编号和读者编号(用户名)记录下来,当管理员点击确定是系统会自动的将结束时间和应还的时间自动写进数据库。
² 还书功能:
当读者拿着一本书来还时,管理员可以通过录入的方式将图书编号录入,当在应该归还的时间内,找到对应的借书记录将其删除。
² 处罚功能:
当读者借书超过应该还书的时间时,自动提示,根据处罚的条例进行处罚,但读者将书本进行损坏或者丢失时,这时需要管理员进行选择处罚项目,根据处罚的条例进行相应的处罚。
² 管理员查询查询功能:
管理员可以查询某种书有多少本。可以查询书的借阅状况。
² 读者查询功能:
读者可以查询图书馆所有的书籍。自己借了哪些书,书的借阅信息。自己想要的书还有几本。
² 续借功能:
读者登录系统后,可以在查询自己借的书的信息时,可以续借图书。
3.开发工具:
Microsoft Visual studio 2010,SQL Server 2008。
1.2概念设计
1.2.1概念设计模型
图1.2.1 图书馆管理系统ER图
上图是图书馆管理系统DEMO的概念模型的E/R图,该系统涉及的实体集有:
读者实体集:具有卡号、姓名、入学年份、密码、系院属性。
管理员实体集:具有ID、姓名、密码属性。
书本实体集:具有编号,书名,作者,出版社,入库时间,ISBN。
规则:具有属性规则编号、规则内容。
借阅关系:多个读者可以借多本书,多本书可以被多个读者借,属于多对多的关系。
处罚关系:多个读者借多本书,被多个规则处罚属于多对多的关系。
1.3 逻辑结构设计
1.3.1 将E-R模型转换为关系模式
1) 管理员实体集转换关系为:
管理员(ID,密码,姓名)
2) 图书实体集转换关系为:
图书(编号,书名,作者,出版社,入库时间,ISBN)
3) 读者实体集转换关系为:
读者(卡号,密码,姓名,类型,详情)
4) 规则实体集转换关系为:
规则(规则编号,规则内容)
5) 借阅联系转换关系为:
借阅(用卡号,图书编号,借书时间,还书时间,应还时间。)
6) 处罚联系转换关系为:
处罚(规则编号,用户名,处罚时间,处罚内容)
1.4物理设计
1.4.1数据库表结构设计
把关系模型转化为表结构:
管理员信息表(Manager):包含所有的管理员信息,定义如下:
域名
含义
数据类型
备注
ID
管理员登录名
nchar(15)
主键
Name
管理员姓名
nchar(10)
Password
管理员登录密码
nchar(20)
读者信息表(Manager):包含所有的读者信息,定义如下:
域名
含义
数据类型
备注
CardID
读者登录名
varchar(15)
主键
Name
读者姓名
varchar(10)
Pwd
读者登录密码
varchar(20)
Dept
系院
varchar(30)
书籍信息表(Manager):包含所有的书籍信息,定义如下:
域名
含义
数据类型
备注
BNo
书的编号
Varchar(20)
主键
Name
书的名字
Varchar(50)
Author
书的作者
Varchar(20)
publisher
出版社
Varchar(50)
IntoTime
出版时间
Datetime
ISBN
标示书的号码
Varchar(20)
Totalcount
入库总数量
nchar(10)
Nowcount
现在数量
Nchar(10)
规则信息表(Manager):包含所有的规则信息,定义如下:
域名
含义
数据类型
备注
RNo
规则编号
Varchar(20)
主键
RDetails
规则内容
Varchar(100)
借阅信息表(Manager):包含所有的借阅信息,定义如下:
域名
含义
数据类型
备注
CardID
读者卡号
Varchar(15)
外键
两个作为主键
Bno
图书编号
Varchar(20)
外键
BorrowTime
借阅时间
DateTime
SreturnTime
应该归还时间
Datetime
RenewCount
续借次数
Int
处罚信息表(Manager):包含所有的处罚信息,定义如下:
域名
含义
类型
备注
No
规则编号
varchar(20)
外键
三个作为处罚的主键
RNo
读者编号
varchar(15)
外键
BNo
图书编号
varchar(20)
外键
PunishTime
处罚时间
Varchar(10)
PunishDetails
处罚详细信息
Varchar(100)
展开阅读全文