- 自考“计算机及应用”专业论文参考范文(18)
- 发布日期时间:2007-4-29 来源:不详 点击数: 作者:佚名
4.3.2 关系数据库的逻辑设计
由于概念设计的结果是ER图,DBMS一般采用关系型(本人所使用的MS SQL Server就是关系型的DBMS),因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。设计结果是一组关系模式的定义。
(1) 导出初始关系模式
book(图书编号#,图书名称,图书类别#,作者,出版社,出版日期,备注,价格,数量)class(图书类别#,类别名)user(借书证号#,姓名,性别,身份编号#,身份证,联系电话,密码)ID(身份编号#,身份描述,最大借阅数)Owner(借书证号#,图书编号#,借书日期)
图4-14 关系模式集
(2) 产生子模式
子模式是用户所用到的那部分数据的描述。除了指出用户用到的数据外,还应指出数据与概念模式中相应数据的联系,即指出概念模式与子模式之间的对应性。
借书子模式(借书证号#,姓名,图书编号#,图书名称,借书日期)
图4-15 部分子模式
(3) 根据设计中出现的问题本人在写系统时还加入了两个关系模式:
1、ownertemp:用于工作人员在处理借书、还书工作时临时存储借书、还书信息,以便打印报表时使用。
2、keyer:用于存储工作人员和图书馆管理员的用户名和密码及权限,以便工作人员或图书馆管理员进入相应的功能模块时进行验证用户的身份。
4.3.3 数据库的实现
我选用Microsoft SQL Server2000(企业版)数据库来进行数据库的逻辑设计。首先创建七个基本数据库表如表4-1-4-7所示,然后根据全局ER图,建立各个表之间的联系,如图4-8所示。
表4-1 借阅者基本信息表的结构(User)
表4-2 图书信息表的结构(Book)
表4-3 图书类别信息表的结构(Class)
表4-4 借阅者身份信息表的结构(ID)
表4-5 借阅情况信息表的结构(Owner)
表4-6 借阅情况临时存储信息表的结构(Ownertemp)
注:在owner表和ownertemp表中加入了索引字段,用来唯一标识一条借书记录,并且设置为标识,标识种子为1.
表4-7 工作人员和管理员信息表的结构(Keyer)
图4-8 数据库表间联系图
第五章 图书管理系统应用程序设计
§5.1 系统窗体模块组成
§5.2 数据模块窗体的设置
在编写数据库应用程序时,经常要遇到这样的情况,即好多组件、窗体同时访问相同的数据源,如果为每一个组件或者窗体都设置一个数据源将是十分耗时的工件,而且要保证这些数据源的确是相同的也需花一番功夫。那么,能不能将这些数据源集中管理,最好是做成一个统一的模块,需要时就将该模块引入而不必直接操作数据源本身呢?数据模块(DataModule)是解决这个问题最好的答案。简单说来,数据模块是用来集中管理数据源的一个窗体,该窗体可被需要的地方随时引入。
但本人在开发这个系统时,开始使用了一下数据模块,但在使用过程中却碰到了一些问题。并且考虑这个系统使用到的TADOQuery控件比较多,如果使用数据控件可能会带来管理上的麻烦,如弄混各个数据控件的作用。还考虑到使用动态生成ADOQuery可能会更节省资源。所以在本人的系统中,开始做的第一个模块“借阅者个人模块”中还稍微使用了一下数据模块。但在后面做的两个模块中大多都是用动态生成ADOQuery来实现的。并且由于SQL语句是动态加入的所以datamodule中的控件也不会多。
§5.3 启动画面的实现
启动画面是为了给用户一个良好的印像,加深软件的亲和力,没有实际的功能,在Form1窗体中加入了Image和Time组件。启动画面的窗体略,主要的源代码如下:
§5.4 用户登录窗体的的实现
本窗体是为三种不同的用户(一般用户,工作人员,管理员)提供选择以进入不同的模块,满足不同用户的需求。源代码比较简单,略。
§5.5 用户密码认证窗体的的实现
本窗体是为了让工作人员或图书馆管理员按照用户名和密码进行登录,并且跟据用户名检查Keyer表中的“权限”字段,以分辩进入图书馆管理人员模块还是进入工作人员模块。窗体界面、源代码如下
§5.6 借阅者服务模块的实现
借阅者服务窗体的功能主要是图书的查询,个人借阅情况查看及个人部分信息的修改。
5.6.1图书查询功能的实现
在本系统中,任何人都有权限使用查询功能,不做任何限制。
由于实现的查询功能有多种,如按图书编号、图书名称等字段进行完全体配查找和部分体配的模糊查找,还有按多个条件进行逻辑与或是逻辑或的多条件查找。其中实现的方法者差不多,所以只给出多条件查找的代码,如下:
5.6.2借阅者登录功能的实现
这个功能的实现与工作人员和管理人员登录功能实现的方法大致一样,并且还要简单。是从User表中查到到借阅证号与密码,看与用户输入的是否一致。如果一致,那么用户就可查看自已的借阅情况并维护自己的部分信息。源代码与借阅者登录界面都略。
5.6.3借阅者借阅情况功能的实现
当借阅者正确登录到系统后,此功能将被激活,使用户能查看到自身的借阅情况。在此系统中,信息的显示一般用ListView来实现,只在较少的情况下用到了DBgrid,因为我觉得ListView更好实现,并能使信息数据对用户的完全分离。
在这里跟据借阅者的不同要求实现借阅情况的查询,有检查所有的借阅情部、某本书的借阅情况、和根据已借阅天数的来查询。其中根椐借阅天
文章转载请注明来源于:汕头自考网
|
|



