【Access小品】编程演义---数据库开发过程实例讲座(一)
时 间:2014-05-10 14:11:47
作 者:煮江品茶 ID:10802 城市:武汉
摘 要:【Access小品】编程演义---数据库开发过程实例讲座(一)
正 文:
数据库开发之初,首先需要进行的是数据库的设计,在这个设计环节先不要过多考虑窗体等方面的问题,要把关注点集中到数据表结构和表间关系的处理上。要想设计出好的数据库,需要对现实的问题进行分析归纳和提炼,这个工作异常重要,也异常困难。这一课的讲座,将阐释一些具体的处理方法。
通常我们会在开发时得到一些数据,它们会是一些各种各样的表格。分析和观察这些表格,你会发现未来成型的系统需要干些什么事情。比如,我在观察了大山同志的一组数据表后,得出的结论是:他希望做一个农产品生长情况监测管理系统。由这个结论,接下来就是要弄清楚系统的管理主体、客体和管理的过程。通过观察可以看出,管理的主体是基层的农技部门,管理的客体是农作物不同生长期的指标,管理的过程是抽样监测并将数据记录到系统中,并进行定期的分析。
总体的情况分析完成后,再对细节问题进行分析和归纳。这个过程就需要仔细的观察加上丰富的想象了。大体上可以这样做的:
第一是查看有哪些数据可以用字典表进行管理。字典表用来统一保存哪些简单分类的数据,这样做可以避免建立很多的数据表,使后期编程和数据维护的难度都降低。本例中可以提炼出9种分类型数据,这些数据均可纳入字典表管理。
第二是查看有哪些数据是层级型的结构,并可以用层级设计的方法在数据表中表现出来。本例中可以很快找到了地区和部门应该是层级结构数据,可以分别用两个表保存它们。这里需要提醒的是,但凡具有层级结构的数据,都尽可能用一个数据表来保存,不要按层级设计多个数据表。
第三是观察监测的类型有哪些?通过观察发现,监测实际上分为三大类,第一类是日常的监测,第二类是灾害性监测,第三类是收成结果监测。其中前两类以观察点为对象,后一类对象的范围不清晰。这三种对象虽然在现实的业务作业中有比较大的差异。但从数据库设计的角度来看,这些差异并不影响一致性的数据处理。
第四是观察三类监测的具体指标,它们有些是技术性的指标有些是经济性的指标,但大多数都是数字型的。无论它们用于何种监测,无论它们在什么阶段使用,都可以抽象出来它们就是一个数据型的监测指标。有了这个抽象,就可以对它们进行一致性的数据处理。
大体做完这些分析后,就是具体的数据库设计了。这一步的重点是先确立表间关系,而不是设计具体的数据表。确立表间关系,是说在头脑中先形成数据表间的联系。这个时候,你需要将表想象为一个抽象的对象,比如部门表你抽象的是一个部门,这时并不需要想象出部门表中包含什么字段。人员表你只需要抽象为人员,这样你就能想象出来,部门与人员是一对多关系了。这是一个最简单的表间关系,很容易想象出来。比较复杂的是有些数据表是多父表,或多子表,这种情况就看你的脑瓜子灵光与否了。
表间关系确立下来后,就是具体的每个数据表的结构设计了,这是一个基础的东西,在此不赘述。
实际上的分析和思考过程,并不是按部就班进行的,很多是基于习惯的下意识反映。通常当你有了经验后,很多复杂的思考和分析,都是在瞬间完成的,只是你自己不一定意识到了这些思维经过了些什么过程而已。我这样归纳一二三四五,只是告诉同志们,这些是我认为的一些重点,以便提醒同志们注意到这些问题。
以下的示例中,有大山同志提供的Excel表,和我据此设计出来的数据库,同志们可以参考一下。接下来我将再这个数据库的基础上,讲解窗体设计,功能的代码实现等章节。有兴趣的话,你可以跟我一起做,或者用你的方法去完成,看看最后的系统哪种更为合理。
示例:

视图:
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)
- 统计当月之前(不含当月)的记录数怎...(03.11)