(本文作于2010年)前不久,单位领导交给我一项任务,建立媒体资源数据查询和管理系统。随着单位媒体资源的日积月累,各种媒体存储介质越来越多,这些数以万计的媒体数据,记载着当地政治、经济、社会人文等发展的历史,是当地一笔宝贵的历史资料,因此,搞好这些媒体资源的管理尤其重要。
对于数据的管理,数据库是最好的平台。数据库,即有结构的数据集合,通俗的讲,就是数据的仓库。因此,我想到了Access。在办公软件Office套件中,最为人们熟悉的是Word和Excel,因为它们功能强大且方便易用,更因为它们不仅可用于办公,还可用于个人写作和家庭记帐理财等。同为Office套件中一部分的Access,虽然有着同样强大的功能,但使用的人却相对少些,不像Word和Excel那样广泛。事实上,真正用过Access的人,对其强大功能和灵活应用均称赞“不错,很好的……。”Microsoft Access是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。
表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。Access数据库以文件形式保存,文件的扩展名是mdb。
Access 数据库由六种对象组成,它们是表、查询、窗体、报表、宏、页和模块。
表(Table) ——表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。
查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。
窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。
报表(Report)——报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。
宏(Macro)——宏相当于DOS中的批处理,用来自动执行一系列操作。Access列出了一些常用的操作供用户选择,使用起来十分方便。
模块(Module)——模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用Visual Basic编程。
页——是一种特殊的直接连接到数据库中数据的一种WEB页。通过数据访问页将数据发布到Internet 或Intranet上,并可以适用浏览器进行数据的维护和操作。
从上述特点可以看出,Microsoft Access数据库是一个开放式的数据管理开发平台,适用于小型企事业单位进行数据管理,开发和应用十分方便。以前,我也曾经应用它开发过诸如“用户收费管理”和“物资管理”等,实践证明,应用数据库管理数据,对于数据的查询、统计非常准确和快捷,大大地提高了办公自动化水平和工作效率。当然,要开发一个数据库也并非那么容易,你除需要熟练掌握数据库开发应用的技巧外,还需要具备一定编程能力和美术功底,这是因为,数据库的开发是建立在实际应用的基础上的,也就是说,你开发的数据库必须与工作实际相结合,具有实用性,同时界面也要友好和美观。下面,我就“媒体资源数据库”的开发实践介绍给大家,希望能对使用Access数据库的朋友们有一点帮助。我要声明的是,我的开发水平还处在初级阶段,采用的一些方法也是初级的(笨的)。
一、开发前的准备工作
干每一项工作都不外乎这样几个阶段:即准备阶段、实施阶段和总结阶段(对于系统开发而言叫做后期调试和完善阶段)。开发数据库也是如此,实施前必须进行前期准备。
(一)准备工具
这里的工具就是备用的工具书和工作平台。开发数据时会用到至少两套工具书:《Access使用手册》和《Visual Basic编程》;开发数据库时需要的平台是Microsoft Access系统、Photoshop系统(用于图形处理和制作)、图标制作系统等,如果要制作帮助文件还需要帮助文件制作系统。应用这些系统制作“图标”和主控界面的装饰图。(下图为装饰图)
(二)需求调查
开发的应用系统是否能满足实际使用的要求,关键看你是否进行了详细的需求调查和了解。只有做了详细的需求调查,才能开发出实用的应用系统来。对于这一点,很多初学者往往会忽视,只是埋头开发,结果弄出来的东西总是离实际要求相差甚远,根本不能使用。
对于本单位的“媒体资源管理”数据库而言,主要需要调查了解以下几点:
1.数据量多大。这是一个关键,如果数据量非常之大,那么应用Access是不行的。我了解到,单位的媒体资源数据量不大,平时的使用管理数据量也不大,因此,我决定使用Access来开发;
2.基本信息。要求每一个素材登记有编号、规格、类别、时长、首拍时间、拍摄人、素材内容、存放位置等基本信息;
3.媒体资源的规格。对于存储介质而言,我了解到的规格主要有模拟和数据磁带、光盘,磁带又分为大1/2、小1/2等;
4.媒体资源的类别。因为这些媒体资源记录的是当地的政治、经济等全方位的影像资料,为了便于管理,就必须对它进行科学合理的分类。但单位还没有明确的规定,我只能暂时按素材的内容所具有的性质分为:党群类、政务类、工业类、农业类、商业类、文教类、卫生类、体育类、科技类、军事类、综合类(因为有的磁带记录的内容多而杂)共11类;
5.编号规定。对于这些素材资料,每一个体如何编号,存放库位如何规定(编号),单位没有明确;
6.管理流程。这是与工作实际最紧密的重要环节,只有了解了实际管理的工作流程,才能按照流程需要来开发数据库。我了解到单位对于媒体资源的管理有专门的部门和人员,平时使用的人员也相对集中但不确定,平时随时都可能进行数据查询、素材借出或归还,借出或归还时都要主管领导批准和保管员检查签收等,当前应用一台计算机进行管理,将来也可能利用单位内部局域网联网管理;
7.查询功能。要求能灵活的进行多种条件的查询和精确查询,查询的主要条件是首次拍摄时间、素材内容提要等;
8.报表功能。要求能准确的进行总计或分类统计,对于借出、归还要有详细的登记统计等。
(三)框架构思
框架构思十分重要,一个好的框架,使数据库结构简单、关系明确、功能实用、使用方便。根据调查了解到信息,媒体资源数据库应该是一个开放式的数据库,即所有信息都是不固定的,因此,先期开发的数据库数据不能固定死,必须可变。同时,由于使用人员对于数据库的操作使用技能不高,因此,数据库的操作使用应越简单越好,应采用点击直接选择的方式,少使用或不使用文字录入,以降低使用难度,达到方便快捷的目的。
基于上述因素的考虑,媒体资源数据库以素材基本信息为主界面,上部为单个素材的基本信息,中部为该素材的借出、归还登记明细,底部为数据查询、数据库备份、报表等功能命令按钮和库存量数据动态显示。(下图为数据库主控界面)
二、实施系统开发
(一)明确表与表之间的关系
Access数据库是关系数据库,表与表之间可以建立关系,数据可以互相调用,所以,首先必须明确表与表之间应建立哪些关系。媒体资源数据库主表是“媒体资源登记表”,与它相关的主要是“借出登记表”和“归还登记表”,主表与副表之间应建立唯一的连接关系,而表中确保“唯一性”的字段是“磁带编号”,因此,它们的连接关系是建立在“磁带编号”关键字段上的。另外,主表中的“拍摄人”、“磁带规格”、“素材类别”及副表中“借出人”、“批准人”、“经办人”、“归还人”等信息由于是随时可变的,所以必须另外建立相应的独立表并与之建立连接关系,以便主、副表中的相应字段直接从中调用数据。
(二)建立副表
1.规格表
字段:规格,类型:文本(10个字符),并设该字段为主键。
2.类别表
字段:类别,类型:文本(10个字符),并设该字段为主键。
3.部门表
字段:部门,类型:文本(8个字符),并设该字段为主键。
4.职务表
字段:职务,类型:文本(6个字符),并设该字段为主键。
5.事由表
字段:事由,类型:文本(10个字符),并设该字段为主键。
6.人员表
字段:姓名,类型:文本(8个字符),并设该字段为主键。
字段:性别,类型:文本(2个字符),并设该字段从查阅向导——键入值“男、女”中获取。
字段:部门,类型:文本(8个字符),并设该字段从查阅向导——“部门”表中获取。
7.经办人表
字段及属性设置同人员表
8.批准人表
字段及属性设置同人员表,其中“职务”字段从“职务表”中获取。
9.借出登记表
字段:借出ID,类型:自动编号,并设该字段为主键。
字段:磁带编号,类型:文本(8个字符)。
字段:借出日期,类型:日期/时间(长日期格式,默认值:=Date$())。
字段:借出时间,类型:日期/时间(长时间格式,默认值:=Time$())。
字段:借出人,类型:文本(8个字符),并设该字段从查阅向导——“人员”表中获取。
字段:借出事由,类型:文本(10个字符),并设该字段从查阅向导——“事由”表中获取。
字段:批准人,类型:文本(8个字符),并设该字段从查阅向导——“批准人”表中获取。
字段:经办人,类型:文本(8个字符),并设该字段从查阅向导——“经办人”表中获取。
字段:次数,类型:数字(长整型,默认值:1)。
10.归还登记表
字段:归还ID,类型:自动编号,并设该字段为主键。
字段:磁带编号,类型:文本(8个字符)。
字段:归还日期,类型:日期/时间(长日期格式,默认值:=Date$())。
字段:归还时间,类型:日期/时间(长时间格式,默认值:=Time$())。
字段:归还人,类型:文本(8个字符),并设该字段从查阅向导——“人员”表中获取。
字段:经办人,类型:文本(8个字符),并设该字段从查阅向导——“经办人”表中获取。
字段:次数,类型:数字(长整型,默认值:1)。
(三)建立主表
11.磁带信息登记表
字段:磁带编号,类型:文本(8个字符),并设该字段为主键。
字段:磁带规格,类型:文本(10个字符),并设该字段从查阅向导——“规格”表中获取。
字段:素材类别,类型:文本(10个字符),并设该字段从查阅向导——“类别”表中获取。
字段:素材时长,类型:数字(长整型,默认值:0)。
字段:素材节数,类型:数字(长整型,默认值:1)。
字段:首拍日期,类型:日期/时间(长日期格式,掩码:9999年99月99日;0;_)。
字段:拍摄人,类型:文本(8个字符),并设该字段并设该字段从查阅向导——“人员”表中获取。
字段:存放位置,类型:文本(10个字符)。
字段:内容提要,类型:备注。
字段:关键贞1-4,类型:OLE 对象(共4个)。
字段:次数,类型:数字(长整型,默认值:1)。
以上表如下图