图书馆系统设计报告书.docx
《图书馆系统设计报告书.docx》由会员分享,可在线阅读,更多相关《图书馆系统设计报告书.docx(22页珍藏版)》请在冰豆网上搜索。
图书馆系统设计报告书
说明
我们小组成员共6人,有````````。
我们小组做的是一个图书管理信息系统。
```负责做需求分析,他很细心的根据希望系统所能完成的功能做了详细说明并附上了功能流程图。
`````则根据````做的需求分析为我们做的图书管理系统过了概念结构分析设计,认真分析了系统中各个实体之间的关系,根据各个实体之间的关系做好了E—R图,清晰的反应了系统的概念模型。
````则根据```做的概念模型和E—R图,为我们的系统做了逻辑结构设计,认真负责的把E—R图中的关系图表化,理清了各个实体之间的约束关系。
为下一步的数据库实施做好了准备。
```````负责具体的数据库实施,数据库的创建,表空间、索引和表的创建,以及各种存储过程过程pl/sql代码的编写,调试,和改正。
由于各个小组成员做的工作之间有重复或取名不统一的情况,最后在实施的时候我们统一了名称,并对各小组成员所做的工作进行了整合,调整,整理。
最后我们小组成员一致同意把大家的工作整理成一个比较系统的文档提交。
下面是我们小组所做的图书管理信息系统。
目录
一、系统功能说明2
1.1各种功能说明2
1.2模型流程图2
二、数据库分析与设计:
4
2.1数据库的概念设计4
2.2数据库的逻辑设计5
2.3数据库的物理设计5
2.3.2数据库的索引7
2.3.3文件位置7
三、数据库实现7
3.1表空间7
3.2数据表8
3.2.1数据表的创建8
3.2.2表中数据的插入9
3.3索引和视图13
3.3.1索引的创建13
3.3.2视图的创建14
3.4PL/SQL程序块(共7个程序块)14
3.4.1存储过程的定义14
3.4.2函数的定义15
3.4.3触发器的定义15
3.4.4登陆模块16
四、小结16
一、系统功能说明
随着社会的发展,人们对知识的需求也不断的增长。
在这种形式下,人们就要不断的学习,不断的给自己充电,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学的管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展。
图书馆作为一种信息资源的集散地,用户借阅资料繁多,包含很多的信息数据的管理。
现今,有很多的电子图书馆也初步开始使用,数据信息处理量大,方便用户使用。
采用系统,规范的信息管理手段。
为人们的生活,学习带来了很大的便利。
因此一个好的图书馆管理系统是非常重要的。
1.1各种功能说明
1.登录模块
用户登录:
用户在登陆页面登陆,登陆成功进入系统。
图书管理员登陆:
用于管理员的登陆,在后台登陆页面登陆,登陆成功进入系统。
(对应用户名、密码正确则进入系统,对应用户名密码不正确则显示相应信息)
2.图书管理模块
对图书进行添加、查询、修改、删除、添加。
将输入的图书信息添加到数据库图书表中,以方便进行各种查询及更新操作,根据输入的图书名称或作者,查询数据库图书表中的相应记录并显示相应图书信息,更新数据库图书表中对应记录并显示更新后的图书信息,删除数据库图书表中对应记录。
3.用户管理模块
对用户进行添加、删除、修改。
将输入的用户信息添加到用户表中,并分配一个独立的用户号根据输入的用户名的姓名或生日,查询用户表,显示用户信息更新用户表的数据库、删除用户表中所对应的、修改用户中错误的信息并更新数据库。
1.2模型流程图
1)在系统启动后,首先是登录或注册界面,用户可选择不同的身份登录(合法身份为普通用户和图书管理员)根据用户输入判断用户身份是否合法。
不同身份拥有的权限不同。
学生学生借书(上)还书(下)模型流程图如下图:
2)选择图书管理员身份进入后——进入用户管理,可以实现用户的添加,删除,查询各种用户记录,对有不良记录超过3次的用户进行锁定限制借书。
进入图书管理,可以实现对图书的添加,删除,修改,查询操作。
进入读者借还书界面,可以实现读者借书,还书和查询读者借阅记录的功能,并在读者还书时对相应数据库进行修改。
图书管理员进行图书管理模型流程图
二、数据库分析与设计:
2.1数据库的概念设计
图书管理信息系统E—R图
(1)各个实体各自的E—R图
图1-1图1-2
图1-3
(2)实体之间联系的E—R图
2.2数据库的逻辑设计
图书(图书编号,书名,出版社,作者,类别,总数量,剩余数量)
图书分类(类别编号,类别名,)
用户(帐号,密码,权限,性别,证件号)
权限(权限,姓名)
借阅表(帐号,图书编号,书名,借阅日期,到期日期,数量)
借阅历史表(帐号,图书编号,书名,借阅日期,还书日期,数量)
2.3数据库的物理设计
2.3.1以表单的形式给出数据库中的具体表的结构以及字段的说明
表2-1图书信息表
字段
数据类型
数据长度
能否为空
中文名
备注
tsbh
Varchar2
8
否
图书编码
主码
lb
Varchar2
6
否
类别
sm
Varchar2
30
否
书名
zz
Varchar2
10
否
作者
zbrq
date
是
出版日期
cbs
Varchar2
20
是
出版社
zsl
Number
2
否
总数量
sxsl
Number
2
否
剩下数量
小于总数量
表2-2图书类别表
字段
数据类型
数据长度
能否为空
中文名
备注
lb
Varchar2
6
否
图书类别编号
主码
lm
Varchar2
10
否
类名
表2-3权限表
字段
数据类型
数据长度
能否为空
中文名
备注
qx
char
1
否
权限
主码
xm
Varchar2
8
否
姓名
表2-4用户信息表
字段
数据类型
数据长度
能否为空
中文名
备注
zh
char
11
否
帐号
主码
xm
Varchar2
12
否
姓名
xb
Varchar2
2
否
性别
mm
Varchar2
16
否
密码
qx
char
1
否
权限
zjhm
char
10
否
证件号码
表2-5借阅表
字段
数据类型
数据长度
能否为空
中文名
备注
zh
char
11
否
账号
主键,外键
tsbh
Varchar2
8
是
图书编号
sm
Varchar2
30
是
书名
jsrq
date
否
借书日期
jysj
number
借阅时间
默认值30
sl
number
2
是
数量
默认值1
表2-6借阅历史表
字段
数据类型
数据长度
能否为空
中文名
备注
zh
char
11
否
账号
主键,外键
tsbh
Varchar2
8
否
图书编号
sm
Varchar2
30
书名
jsrq
date
借书日期
hsrq
date
还书日期
sl
number
2
数量
2.3.2数据库的索引
(1)在图书表中的书名创建索引。
(2)为用户表中的姓名创建索引。
(3)为类别表中的类名创建索引。
2.3.3文件位置
数据库中数据文件,控制文件,日志文件,参数文件的存取路径
D:
\Oracle\数据文件
D:
\Oracle\控制文件
D:
\Oracle\日志文件
D:
\Oracle\参数文件
三、数据库实现
3.1表空间
表空间的创建(数据表空间和索引表空间分别建立在不同磁盘上)
创建数据表空间
SQL>createtablespacedata
2logging
3datafile'D:
\Oracle\product\10.2.0\oradata\library\data01.dbf'
4size50m
5reuseautoextendoff;
表空间已创建。
创建索引表空间
SQL>createtablespaceindx
2datafile'F:
\Oracle\product\10.2.0\oradata\library\indx01.dbf'
3size32m
4reuseautoextendonnext1280k
5minimumextent128k
6defaultstorage
7(initial128knext128kminextents1maxextents4096pctincrease0);
表空间已创建。
3.2数据表
3.2.1数据表的创建
创建权限表
createtableqx(
qxchar
(1)primarykey,
xmvarchar2(8)notnull)
创建用户表
createtableyh(
zhchar(11)primarykey,
xmvarchar2(12)notnull,
xbvarchar2
(2)default'男',
mmvarchar2(16)notnull,
qxchar
(1)notnull,
zjhmchar(10)notnull,
foreignkey(qx)referencesqx(qx)validate)
创建图书类别表
createtabletslb
(lbvarchar2(6)primarykey,
lmvarchar2(10))
创建图书信息表
createtabletsxx(
tsbhvarchar2(8)primarykey,
lbvarchar2(6)notnull,
smvarchar2(30)notnull,
zzvarchar2(10)notnull,
cbrqdate,
cbsvarchar2(20),
zslnumber
(2),
sxslnumber
(2),
foreignkey(lb)referencestslb(lb)validate))
创建借阅信息表
createtablejy(
zhchar(11)notnull,
tsbhvarchar2(8)notnull,
jsrqdate,
jysjnumber
(2)default'30'
slnumber
(2)default'1',
primarykey(zh,tsbh)validate,
foreignkey(zh)referencesyh(zh)validate,
foreignkey(tsbh)referencestsxx(tsbh)validate)
创建借阅历史表
createtablejyls(
zhchar(11)notnull,
tsbhvarchar2(8)notnull,
smvarchar2(30)notnull,
jsrqdate,
hsrqdate,
slnumber
(2)default'1',
primarykey(zh,tsbh)validate,
foreignkey(zh)referencesyh(zh)validate,
foreignkey(tsbh)referencestsxx(tsbh)validate)
3.2.2表中数据的插入
图书信息表插入数据
(1)insertintotsxxvalues
('s0001','s01','当我们开始旅行','白锦湖',to_date('2008-06-01','yyyy-mm-dd'),'小说家选刊',4,4)
/
insertintotsxxvalues
('s0002','s01','心灵书','沐紫',to_date('2007-05-12','yyyy-mm-dd'),'吉林出版社',3,3)
/
insertintotsxxvalues
('s0003','s01','生命树','左刀刀',to_date('2004-09-01','yyyy-mm-dd'),'江苏出版社',5,5)
/
insertintotsxxvalues
('s0004','s01','奥巴马给女儿的信','奥巴马',to_date('2009-07-12','yyyy-mm-dd'),'中国青年出版社',3,3)
/
insertintotsxxvalues('s0005','s01','决定孩子未来','李昌烈',to_date('2009-01-15','yyyy-mm-dd'),'漓江出版社',4,4)
/
insertintotsxxvalues('r0001',''r03','可以温柔','伊北',to_date('2010-05-14','yyyy-mm-dd'),'广西出版社',6,6)
/
insertintotsxxvalues('r0002','r03','冯唐诗百首','冯唐
',to_date('2011-03-25','yyyy-mm-dd'),'湖南出版社',5,5)
/
insertintotsxxvalues('r0003',''r03','杂花生树','何频',to_date('2010-08-20','yyyy-mm-dd'),'河南出版社',4,4)
/
insertintotsxxvalues('r0004',''r03','问丹心','甄子丹',to_date('2009-09-08','yyyy-mm-dd'),'江苏出版社',4,4)
/
insertintotsxxvalues('r0005',''r03','王妃的资本','肖恩',to_date('2010-10-06','yyyy-mm-dd'),'江苏出版社',5,5)
/
insertintotsxxvalues('z0001','z02','世界因你而改变','安忆',to_date('2009-08-14','yyyy-mm-dd'),'中国工人出版社',6,6)
/
insertintotsxxvalues('z0002','z02','让成功来敲门','王星光',to_date('2009-06-15','yyyy-mm-dd'),'江西出版社',2,2)
/
insertintotsxxvalues('z0003','z02','网商成功之道','张红宇',to_date('2007-06-02','yyyy-mm-dd'),'电子工业出版社',3,3)
/
insertintotsxxvalues('z0004','z02','网络营销','查普曼',to_date('2006-04-23','yyyy-mm-dd'),'电子工业出版社',4,4)
/
insertintotsxxvalues('z0005','z02','学话术卖产品','张小虎',to_date('2010-04-26','yyyy-mm-dd'),'万卷出版社',4,4)
/
insertintotsxxvalues('x0001','x04','王牌大明星','So鱼',to_date('2007-02-15','yyyy-mm-dd'),'光明日报出版社',3,3)
/
insertintotsxxvalues('x0002','x04','守护暗夜之旅','廖伊',to_date('2008-03-16','yyyy-mm-dd'),'万卷出版社',5,5)
/
insertintotsxxvalues('x0003','x04','你是温暖','王了了',to_date('2009-05-24','yyyy-mm-dd'),'万卷出版社',4,4)
/
insertintotsxxvalues('x0004','x04','不要叫我周杰伦','布丁',to_date('2010-02-26','yyyy-mm-dd'),'汕头出版社',3,3)
/
insertintotsxxvalues('x0005','x04','橄榄树','秦烨',to_date('2007-04-16','yyyy-mm-dd'),'辽宁出版社',3,3)
/
图书分类表插入数据
insertintotslbvalues('s01','生活时尚')
/
insertintotslbvalues('z02','职场励志')
/
insertintotslbvalues('r03','人文社科')
/
insertintotslbvalues('x04','小说青春')
/
权限表插入数据
insertintoqxvalues('0','管理员')
/
insertintoqxvalues('1','普通用户')
/
用户表插入数据
insertintoyhvalues
('20094070401','王明','男','20094070401','1','940704010')
/
insertintoyhvalues
('20094070402','李芳芳','女','20094070402','1','940704021')
/
insertintoyhvalues
('20094070403','林一凡','女','20094070403','1','940704031')
/
insertintoyhvalues
('20094070404','张强民','男','20094070404','1','940704040')
/
insertintoyhvalues
('20094070405','李明','男','20094070405','1','940704050')
/
insertintoyhvalues
('20094070406','张薇','女','20094070406','1','940704061')
/
insertintoyhvalues
('20094070407','王林','男','20094070407','1','940704070')
/
insertintoyhvalues
('20094070408','严红','女','20094070408','1','940704081')
/
insertintoyhvalues
('20064070001','王玉敏','女','20064070001','0','64070001')
/
insertintoyhvalues
('20064070002','李济','男','20064070002','0','64070002')
/
借阅历史数据插入
insertintojylsvalues
('20094070401','s0002',to_date('2011-10-02','yyyy-mm-dd'),to_date('2011-10-12','yyyy-mm-dd'),1)
/
('20094070402','x0002',to_date('2011-10-15','yyyy-mm-dd'),to_date('2011-10-30','yyyy-mm-dd'),1)
/
('20094070406','s0002',to_date('2011-09-25','yyyy-mm-dd'),to_date('2011-11-02','yyyy-mm-dd'),1)
/
('20094070402','z0002',to_date('2011-10-15','yyyy-mm-dd'),to_date('2011-11-08','yyyy-mm-dd'),1)
/
3.3索引和视图
3.3.1索引的创建
(1)
(2)
(3)
3.3.2视图的创建
(1)
3.4PL/SQL程序块(共7个程序块)
3.4.1存储过程的定义
添加书籍信息的存储过程BooksAdd
createorreplaceprocedureBooksAdd
(v_tsbhinvarchar2,v_leinvarchar2,v_sminvarchar2,v_zzinvarchar2,zbrqindata,cbsvarchar2,zslinnumber,sxslinnumber)
as
begin
insertintoBooks
values(v_tsbh,v_le,v_sm,v_zz,zbrq,cbs,zsl,sxsl);
endBooksAdd;/
过程已创建。
添加书籍类别信息的存储过程BClassAdd
createorreplaceprocedureBClassAdd
(v_lbinvarchar2,v_lminvarchar2)
as
begin
insertintoBooks
values(v_lb,v_lm);
endBClassAdd;
借书的存储过程:
createorreplaceprocedurejieshuguocheng
(v_zhinjy.zh%type,v_tsbhinjy.tsbh%type,v_sminjy.sm%type,v_jsrqjy.jsrq%type,v_slinjy.sl%type)
is
begin
v_jsrq:
=sysdate;
insertintojy(zh,tsbh,sm,jsrq,sl)
values(v_zh,v_tsbh,v_sm,v_jsrq,v_sl);
endjieshuguocheng;
3.4.2函数