赵彩怡 卢彪
摘 要:本文介绍了一个基于SQL的通用财务管理软件的设计与实现。 首先分析了當前财务软件在满足用户需求方面存在的不足,,对系统进行了总体分析,阐述了该软件中通用化和个性化的关系。接着,介绍了财务软件总体架构的设计,并就几种设计方案进行了客观比较与选择。之后,从系统实现的几个技术重点方面举例说明实现思路和方案,如:数据升迁、通用性功能、个性化技术、自动化功能及查询知统计等方面。最后,将该软件与市场上一些同类软件在通用性、个性化和自动化方面进行了比较,并从应用程序开发和数据库方案设计两个方面列举了系统的一些优化策略,接着在通用财务软件的开发方面进行了总结并提出了展望。 本文在通用财务软件的实现上提出了自己的观点,即“功能上通用化、界面上个性化、操作上自动化”,并将三者有机地结合起来。
关键词:SQL;财务管理;系统
一、系统的结构
(一)后台数据库和数据库接口
根据系统设计的要求后台数据库选择 Sybase 公司的 SQL anywhere5.0数据库接口使用 ODBC.SQL anywhere 是 Sybase 公司开发的一种小型数据库产品.有了 ODBC 接口就可以使用标准的 SQL 语言来访问不同的数据库.SQL 语言是一种简单易用的数据库查询语言,但对于非数据库专业人员仍难驾驭数据库,同时直接用 SQL 语言来操纵数据库效率较低.因此,本系统采用菜单、按钮这一类基本的 Windows 操作来执行数据库语言,完成了对数据库的操作。
二、系统数据库设计
在数据库中建立有财务表和账目表.财务表为主表,记录各项经费(包括账号、项目、负责人、余额等);账目表是从表,记录经费中每一笔帐的收入与支出(包括账号、时间、收入、支出、余额等).为实现按项目检索,还设计了项目表.在财务表中,其主键是账号.为了表示主表中经费所属的财务项目,定义财务表的项目号为外键,通过项目号对应于项目表中的一个项目.由于账目表中记录了每笔账目具体的收入与支出所以定义账目表的账号为外键,这样就可以与主表相关联.通过这些主键外键的设置,数据库中所有的表链成了一个整体.系统设计了控制用户对数据库中数据存取的权限,以确保数据库的安全和保密.而 SQL Anywhere 本身就有良好的安全性,并且操作方便,可以用图形界面或直接用 SQL 的授权语句进行用户与权限的设置.系统中设置两个用户---管理员和普通用户.管理员拥有对数据库操作的最高权限,包括对数据的存取、修改以及对用户和权限的管理等.而普通用户则只有对数据的检索权。
三、应用程序模块
(一)界面模块
考虑到系统是为非计算机专业人员开发的,设计中使用了目前 Windows非常流行的多文档界面(MDI)允许用户在一个主框架下打开多个子窗口,切换不同的子窗口就能实现不同的功能。
(二)查询模块
用 Power builder 设计的程序,数据窗口(data window)是一大特色.虽然在 Power builder 中可以直接嵌套SQL 语句,但是使用数据窗口来实现对数据库的操作可使工作变得更加简单高效可以直接为数据窗口定义检索的 SQL 语句只要输入参数数据窗口就能自动检索.为方便输入,本系统的检索主要是按项目检索也可以直接输入账号、日期和备注中的关键字来进行检索。
(三)数据录入模块
数据录入向管理员提供了在数据窗口中进行数据的添加、修改与删除的功能.为保证数据能以正确的格式录入,设计了下拉列表框输入和输入的有效性检验.用 SQL 来检索数据,动态地改变下拉列表框的内容.有效性检验在输入焦点离开时进行,有些数据可能会造成数据库检索的错误,如建账日期大于系统当前日期就是逻辑的错误,对于这些数据系统会要求用户重新输入。
(四)库管理模块
管理员不但要管理数据库中的数据,还要维护数据库的正常运行.为此系统提供了数据备份与恢复功能和数据清空、用户口令更改等功能.虽然计算机软硬件技术已发展到了相当高的水平,但硬件的故障、系统软件和应用软件的错误、操作员的失误以及恶意的破坏仍然是不可避免的.这些破坏轻则造成运行事务的非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中数据部分或全部丢失.为了保证故障发生后数据库中的数据都能从错误状态恢复到某种逻辑一致状态,在数据库管理系统中设置恢复子系统是必不可少的.备份与恢复有多种方法.备份有部分备份和完全备份之分部分备份就是将重要表的数据以某种格式导出,完全备份就是备份数据库的库文件和日志文件.恢复数据库使用的方法有导入数据、替换库文件以及反向阅读日志文件等。
四、结语
目前的数据库技术已经相当成熟,利用数据库存储和检索各类信息资源也是大势所趋.本文介绍的小型财务管理数据库软件,按照客户的要求来开发的,具有很强的实用性与针对性.它具有数据录入、查询、备份、报表等基本功能,系统对硬件要求不高,非常适合小型财务管理。
作者简介:赵彩怡,宿州学院学生。
指导教师:卢彪,宿州学院教师。
基金项目:宿州学院优秀学术技术骨干(2020XJGG01)