一、 数据库设计
1.系统功能
图11.1图书借阅系统功能模块图
2. 数据需求
本系统的实体为“图书的进货”和“图书的销售”,它们之间通过“图书表”联系起来。
具体的关系模式为:
出版社(出版社ID 、出版社)
图书(图书编号、分类、书名、作者、出版社...ID ..
、单价、库存数量) 进货单(进货单ID (自动编号)、图书编号....、进货日期(默认值为当前日期)、折扣、数量、金额(单价*数量*折扣))
销售单(销售单ID (自动编号)、图书编号....、销售日期(默认值为当前日期)、数量、折扣、金额(单价*数量*折扣))
二、数据库和表设计
首先创建一个空数据库,然后根据需要创建数据库中的对象。
1. 创建空数据库
(1)在Access 窗口中单击“文件”|“新建”命令,打开“新建文件”任务窗格,选择“空数据库”。
(2)在“文件新建数据库”窗口的“文件名”文本框中输入数据库的名称“出版社”,选择数据库文件的保存位置,单击“创建”按钮。
2. 创建表
创建表需要先创建表的结构。
根据本系统的逻辑结构设计,需要创建4张表:“出版社表”、“进货单”和“图书表”、“销售单”各表的结构如表11-1~11-4所示。
表11-1“进货单”表结构
表11-2“销售单”表结构
表11-3“图书表”表结构
表11-4“出版社表”表结构
3. 创建表之间的关系
表与表之间是通过相关字段进行连接来建立关系的,本系统中“出版社”表与“图书”表之间通过“出版ID ”字段建立了一对多的关系,“图书”表与“进货单”表通过“图书编号”字段建立了一对多的关系,“图书”表与“销售单”表通过“图书编号”字段建立一对多的关系。
如图11.3所示。
因为图书借阅系统表中的数据变动比较频繁,而且每张表的数据变动可能会影响到其它表中数据的正确性,因此创建表之间的关系时均要实施参照完整性、设置级联更新和级联删除。
图11.2创建表之间的关系
4. 录入数据
表中的数据可以在创建表和关系后录入,也可以在创建表时录入,但后者不能保证数据的参照完整性。
录入数据后3张表的记录如图11.4~11.6所示。
图11.3“进货单”表的记录
图11.7“销售单”表的记录
三、操作界面设计
根据功能模块的需求创建各个窗体,窗体中涉及到的查询、报表和宏也同时设计出来。
本系统的系统维护主要有:进货录入窗体、销售录入窗体、新书入库窗体、添加出版社窗体。
1. 创建进货录入窗体
创建进货录入窗体用于图书的数据维护。
●使用“窗体向导”的方法创建“进货窗体”窗体。
窗体的记录源为“进货窗体”表,将窗体保存
为“进货窗体”。
●打开窗体的设计视图,调整标签和文本框的大小和位置,将它们的字体均设置为“宋体、加粗”、
字号设置为“9”。
●使用按钮向导添加“录入”、“保存”、“删除”、“打印”、“关闭”按钮,自动生成相应的记录和
关闭窗体的操作。
●使用按钮向导添加4个文字样式的按钮作为导航按钮,自动生成浏览记录的操作。
●将窗体的“滚动条”设置为“两者均无”,将“记录选择器”、“导航按钮”和“分隔线”属性设
置为“否”。
●将窗体保存为“进货窗体”,窗体视图如图11.7所示。
图11.4“进货录入”数据维护窗体
四查询功能设计与实现
在查询模块中包含“图书的进货情况查询”、“未进货图书查询”、等子模块,因此创建查询窗体前应先创建查询模块中的各个窗体。
1. 创建进货统计窗体
创建查询
在查询的“SQL”视图中输入如下的SQL语句:
SELECT DISTINCTROW 进货单.图书编号, Sum(进货单.数量) AS [数量之总计], Sum(进货单.金额) AS [金额之总计]
FROM 进货单
GROUP BY进货单.图书编号;
将查询保存为“进货统计查询”。
2. 创建图书按出版社分类查询窗体
使用设计视图的方法创建查询窗体。
窗体中的按钮通过命令按钮想到创建。
功能是打开对应的查询窗体
SELECT DISTINCTROW 出版社表.出版ID, 出版社表.出版社, Sum(图书表.库存数量) AS [库存数量之总计]
FROM 出版社表INNER JOIN 图书表ON 出版社表.出版ID=图书表.出版ID
GROUP BY出版社表.出版ID, 出版社表.出版社;
五 浏览功能的设计与实现
1.创建“进货单”报表、“销售单”报表、“图书表”报表
可以使用自动创建报表的方法创建这两张报表,报表的记录源分别为“进货”表“图书”表、“销售”表。
2. 创建“图书表”报表
使用报表向导生成“图书表”报表,并且按图所示修改报表的设计视图,报表的预览效果如图所示
图11.5“按分类名统计图书”报表的部分预览效果
六 系统集成
系统集成的目的就是将已经创建完成的数据库窗体和报表组织在一起,通过特定的窗体来调用它们,保证数据库操作的准确性和安全性,使用户看到的只是窗体界面,便于操作。
系统集成的过程主要包括创建创建主控窗体、创建宏等。
2. 创建主控窗体
根据图11.1所示的功能模块,使用窗体设计视图创建主控窗体,在窗体上添加一个标签,输入“图书销售系统数据库”,窗体布局如图11.33所示。
主控窗体中的每一个按钮都能打开相应的子模块,表11-13所示为“主控窗体”的属性表
图11.6主控窗体
表11-4“主控窗体”的属性表
七心得体会
这学期开设了Access数据库程序设计这门课。
Microsoft Office Access是由微软发布的关联式数据库管理系统。
它结合了 Microsoft Jet Database Engine 和图形用户界面两项特点,是一种关系数据库工具。
它在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。
它也常被用来开发简单的WEB应用程序.
刚开始接触的时候用图形界面下完成了建表,刚开始以为用图形界面建蛮简单的但是最后发现了用命令建表原来是那么的容易,其实图形界面是基于命令的。
用命令的形式来创建表,感觉是蛮快的。
个人感觉要熟悉这些命令才能快速的创建。
谈谈学了SELECT语句,刚开始觉得蛮难的,但通过老师的讲解知道,原来有那么多的诀窍,老师通过例子来给我们讲解,这点感觉很容易理解,通过了案例发现,原来有许多东西,学了才知道原来有些东西的诀窍在哪里,有一句俗语说,说破就不值钱了,原来真的,其实自己不懂,但懂的人只要给你点破了那么真的自然而然的理解了。
所以在这门课上,我们不懂应该主动提出来,哪里不懂,哪里不理解,那么我们就会更加的学的好。
学习计划要明确,根据自己的实际出发。
从应用出发。
学习的目的就是为了使用,应把学到的每一点应用于实际操作。
要多了解相关信息,多思考,多提问题,多问几个为什么,要学以致用。
附表2(封面要求:)
数据库原理与应用
设计说明书
题目
图书销售系统
起止日期:2011年12月19日至2010年12月23 日
学号10050073
学生姓名林俊凯
班级通信三班
成绩
指导教师卢文
电子信息工程系
2011年12 月25 日。