当前位置:文档之家› 图书借阅系统(数据库)

图书借阅系统(数据库)

数据库设计1.需求分析图书馆作为一种信息资源的交换场所,图书和用户借阅资料繁多,包含很多数据信息的管理,因此实现图书管理的计算机化,可以简化繁琐的工作模式,有效解决图书借阅过程中的诸多问题,给图书管理员和借阅者带来极大的便利。

图书借阅系统是为了满足图书馆借阅图书的工作而设计的,它的功能主要分为数据维护和基本功能两大模块。

其中数据维护模块包括图书的数据维护和借阅者的数据维护;基本功能模块包括对图书和借阅者的信息浏览、借书、还书、查询、统计等功能。

具体的功能模块如图1所示。

概念结构设计主要是根据需求分析的结果将用户的各种需求用E-R 图来描述。

一个简单的图书借阅系统的实体包括“图书”和“借阅者”。

图.2所示为图书借阅系统的E-R 图。

图.1图书借阅系统的E-R 图3.逻辑结构设计逻辑结构设计的主要任务是将概念结构设计的基本E-R图转换成具体的关系模型并进行优化,也就是将E-R图转换为关系(表)。

本系统的实体为“图书”和“借阅者”,它们之间通过“借阅记录”联系起来。

具体的关系模式为:图书(图书编号,分类名,书名,作者,出版社,定价,库存量)借阅者(借书证号,姓名,性别,出生日期,系,班级)借阅记录(借书证号,图书编号,借书日期,还书日期,已还)具体设计如下:1. 创建空数据库(1)在Access窗口中单击“文件”|“新建”命令,打开“新建文件”任务窗格,选择“空数据库”。

(2)在“文件新建数据库”窗口的“文件名”文本框中输入数据库的名称“图书借阅系统”,选择数据库文件的保存位置,单击“创建”按钮。

2. 创建表需要创建五张表:“图书”,“借阅者”,“借阅记录”“管理员信息”和“出版社”各表的结构如表1~5所示。

表1“图书”表结构表2“借阅者”表结构表3“借阅记录”表结构表4“出版社”表结构表5“管理员信3. 创建表之间的关系表与表之间是通过相关字段进行连接来建立关系的,将“借阅者”表与“借阅记录”表之间通过“借书证号”字段建立一对多的关系,“图书”表与“借阅记录”表通过创建表之间的关系时均要实施参照完整性、设置级联更新和级联删除。

创建表之间的关系4. 录入数据“图书”表的记录“借阅者”表的记录“借阅记录”表的记录“出版社”表的记录“图书管理员”表的记录数据维护根据功能模块的需求创建各个窗体,窗体中涉及到的查询、报表和宏也同时设计出来。

本系统的数据维护窗体主要有:图书信息维护窗体、借阅者信息维护窗体。

1. 创建图书窗体创建图书窗体用于图书的数据维护。

(1)使用“自动创建窗体”的方法创建“图书”窗体。

窗体的记录源为“图书”表,将窗体保存为“图书”。

(2)打开窗体的设计视图,调整标签和文本框的大小和位置。

(3)使用按钮向导添加“添加记录”、“保存记录”、“删除记录”、“打印记录”、“关闭窗体”按钮,自动生成相应的记录和关闭窗体的操作。

(3)使用按钮向导添加4个图形样式的按钮作为导航按钮,自动生成浏览记录的操作。

(4)将窗体的“滚动条”设置为“两者均无”,将“记录选择器”、“导航按钮”和“分隔线”属性设置为“否”。

(5)选择“格式”|“自动套用格式”命令,将窗体的格式设置为“远征”,将窗体保存为“图书的信息维护”,窗体视图如图7所示。

7“图书”数据维护窗体可以用同样的方法创建“借阅者信息维护窗体”。

借书和还书1. 借书根据借书窗体中输入的借书证号和图书编号,单击“借书”按钮时需将“图书”表中相应记录的“库存量”减1同时在“借阅记录”表中添加一条新记录。

因此在创建借书窗体的同时还需要分别创建借书修改图书库存量的查询、借书追加借阅记录的查询和借书宏。

(1)创建借书窗体使用窗体设计视图创建借书窗体,在窗体中添加3个未绑定的文本框,窗体各控件的主要属性设置如表4所示。

将窗体的“滚动条”设置为“两者均无”,“记录选择器”、“导航按钮”和“分隔线”属性设置为“否”,窗体的设计视图如图8所示,将窗体保存为“借书”。

表11-4“借书”窗体的属性表2“借书窗体”设计视图(2)创建借书修改图书数量查询单击“借书”按钮时,需根据“借书”窗体文本框(名称为Text2)中输入的图书编号将“图书”表中相应记录的“库存量”字段的值减1,因此需要设计一个更新查询,查询设计视图如图9所示。

将查询保存为“借书修改图书数量”。

Text2不是“图书表”中的字段而是其它对象中的控件,因此使用时需要在其前面加前缀,指明它属于哪个对象。

3“借书修改图书数量”设计视图(3)创建借书追加借阅记录查询单击“借书”按钮,将文本框中输入的借书证号、图书编号、借书日期增加到“借阅记录”表的新记录中。

具体方法为在“SQL”视图中输入如下的SQL语句:Insert Into 借阅记录( 借书证号, 图书编号, 借书日期)Values (Forms!借书窗体!Text0, Forms!借书窗体!Text2, Forms!借书窗体!Text4);将查询保存为“借书追加记录”。

(4)创建借书宏功能:打开“借书修改图书数量”和“借书追加查询”。

表11-5所示为“借书”宏的设置。

表11-5“借书”宏的设置表(5)创建借书返回宏功能:打开“主控窗体”,关闭当前窗体。

表11-6所示为“借书返回”宏的设置。

表11-6“借书返回”宏的设置表使用窗体设计视图修改“借书”窗体,在窗体上添加2个命令按钮:“返回”和“借书”,如图10所示。

将2个命令按钮分别与“借书返回”宏和“借书”宏相连接,命令按钮的设置如表11-7所示。

4“借书”窗体视图表11-7“借书”窗体命令按钮属性表写如下代码实现:Private Sub Text4_Click()Text4.Text = DateEnd Sub2. 还书(1)创建还书窗体使用窗体设计视图创建还书窗体,在窗体中添加3个未绑定的文本框,窗体各控件的主要属性设置如表11-8所示。

将窗体的“滚动条”设置为“两者均无”,“记录选择器”、“导航按钮”和“分隔线”属性设置为“否”,窗体的设计视图如图11所示,将窗体保存为“还书”。

表11-8“还书”窗体的属性表图.5“还书”窗体设计视图(2)创建还书窗体的查询创建一个更新查询用于修改图书的库存量、已还状态和还书日期,查询设计视图如图12所示,将查询保存为“还书更改数量状态日期”。

图.6“还书修改图书数量”查询设计视图(3)创建还书返回宏功能:打开“主控窗体”,关闭当前窗体。

表11-9所示为“还书返回”宏的设置。

表11-9“还书返回”宏的设置表(4使用设计视图修改“还书”窗体,在窗体上添加2个命令按钮:“返回”和“还书”,如图13所示。

将2个命令按钮分别与“还书返回”宏和“还书”宏相连接,命令按钮的设置如表11-10所示。

图.7“还书窗体”窗体视图(1)单击还书日期文本框Text4时,自动生成当前系统日期,设置方法与借书窗体的借书日期相同。

(2)“还书”按钮使用命令按钮向导创建:在对话框中依次选择“杂项”-“运行查询”-“还书更改数量状态日期”。

查询在查询模块中包含“查询出版社信息”、“查询借阅者借书信息”、“按书名模糊查询”、“按分类名模糊查询”、“查询未还书信息”“查询图书管理员信息”等子模块,因此创建查询窗体前应先创建查询模块中的各个窗体。

1. 创建查询出版社信息窗体选择窗体组合框的下拉列表框中的某个出版社时,在子窗体中显示出相应出版社的图书信息,因此需要建立带子窗体的窗体。

(1)创建图书子窗体以“图书”表为记录源,使用自动创建窗体的方法创建一个纵栏式窗体,将窗体的“记录选择器”和“分隔线”属性设置为“否”,将窗体保存为“图书子窗体”。

(2)创建查询在查询的“SQL”视图中输入如下的SQL语句:Select Distinct 图书.出版社From 图书;将查询保存为“查询出版社”。

(3)创建按出版社查询窗体使用设计视图创建“按出版社查询窗体”,设置窗体的记录源为“查询出版社”。

在窗体中使用组合框向导添加一个组合框,组合框的记录源为查询中的“出版社”字段,将窗体的“滚动条”设置为“两者均无”,将“记录选择器”、“导航按钮”和“分隔线”属性设置为“否”。

在窗体中添加子窗体“图书子窗体”,当在主窗体组合框中的下拉列表框中选择一个出版社时,子窗体中显示出相应出版社的图书信息,窗体视图如图14所示。

图.8“按出版社查询窗体”窗体视图图9“组合框向导”对话框【提示】使用组合框向导添加组合框时,一定要选择“组合框向导”对话框中“在基于组合框中选定的值而创建的窗体上查找记录”单选钮(只有为窗体选择记录源后,才会出现这个单选钮),如图15所示2. 创建按书名模糊查询窗体(1)创建按书名模糊查询:需要创建带通配符的参数查询,查询设计视图如图16所示,将查询保存为“按书名模糊查询”。

图10“按书名模糊查询”设计视图我采用同样的方法,创建“按分类名模糊查询”的查询设计视(2)创建按书名模糊查询窗体使用自动创建窗体的方法创建“按书名模糊查询”窗体,窗体的记录源为查询—“按书名模糊查询”,使用命令按钮向导创建“关闭窗体”按钮,功能为关闭当前窗体。

将窗体的“滚动条”设置为“两者均无”,窗体的“记录选择器”和“分隔线”属性均设置为“否”。

运行时,如果在“输入参数值”对话框中输入“哲学”(图17),则窗体视图如图18所示。

图.11“输入参数值”对话框图.12“按书名模糊查询”窗体视图又用可以采用同样的方法,创建了“按分类名模糊查询”窗体3创建未还书信息窗体创建未还书信息窗体用于查询未还书的信息。

(1)创建未还书查询查询的记录源需要三张表:“借阅者”、“借阅记录”和“图书”,在“设计网格”区的字段行中分别选择每张表中的相关字段,查询设计视图如图19所示,将查询保存为“未还书查询”。

图13“未还书查询”设计视图①因为查询未还书信息,需要将“借阅记录”表的“已还”字段的条件行设置为“False”。

②为了使查询结果更加满意,在不更改表结构的情况下,需要添加一个计算字段“应还日期”。

设借书期限设定为30天,则“应还日期”通过计算表达式“[借书日期]+30”得出。

(2)创建未还书窗体使用自动创建窗体的方法创建表格式的“按书名模糊查询”窗体,窗体的记录源为查询—“未还书查询”,单击“格式”|“自动套用格式”命令,将窗体格式设置为“石头”。

将窗体保存为“未还书窗体”,窗体视图如图20所示。

图14“未还书窗体”窗体视图4. 查询图书管理员信息窗体(新增)根据“某一借阅者借书记录”窗体文本框(Text0)输入的管理员编号查询其信息。

查询时需要创建2个窗体“图书管理员查询子窗体”和“图书管理员查询”(1)创建图书管理员查询窗体使用设计视图创建“图书管理员查询”窗体,在窗体上利用按钮向导创建“查询”和“关闭窗体”按钮,功能分别是打开“图书管理员查询子窗体”和关闭当前窗体。

相关主题