基于面向对象技术的数据库应用研究

时间:2022-09-26 06:58:45

基于面向对象技术的数据库应用研究

摘要:本文基于面向对象的技术特点,针对关系数据库的应用方法进行探讨,并以某图书管理系统为例进行分析。以期通过本文的阐述使程序员能够更好的利用面向对象技术,以一种更加自然的方式与底层数据库中的数据打交道。

关键词:面向对象;软件开发;数据库;程序设计

中图分类号:TP311.1 文献标识码:A文章编号:1007-9599 (2010) 09-0000-01

Database Application Based on Object-oriented Technology

Zhang Lin

(Ocean University of China,Shandong266033,China)

Abstract:Based on the object-oriented technology,aiming at the characteristics of relational database application methods are discussed, and some books management system as example analysis.The paper expounds the programmer can make better use of object-oriented technology,in a more natural way of dealing with the underlying database data.

Keywords:Object-oriented;Software development;Database;

Programming

一、面向对象的技术特点

面向对象是一种从组织结构上模拟客观世界的方法,它从客观世界的基本成分――对象出发,通过抽象来实现对客观世界的模拟,并通过抽象提取出对象之间的相互联系和相互作用。面向对象的思想首先出现在程序设计语言中,随后,逐渐渗透到许多复杂工程领域。

面向对象概念的核心是对象,即对一个信息及相应处理的描述。对象可分为客观世界中的对象和目标系统中的对象两大类。前者为现实中遇到的每一个实体,可以是一部电话、一所房子、一本书,可以是数据结构中的栈和队列,也可以是任何的处理过程。后者为面向对象程序设计中的对象,是一种特殊的数据结构,它包括对象的形状数据及对此数据进行的各种操作,可用公式表示为:对象=数据+操作。面向对象技术通过对现实世界中对象的抽象以及对各个对象之间的相互关系、相互作用的描述实现由现实世界到目标系统的映射。

二、基于面向对象技术的关系数据库应用方法

(一)整体思路

面向对象的设计方法需要寻找应用程序的领域类,类中封装了数据和对数据操纵的方法,对类的实例化就得到对象,所以必须要解决好对象的存放、检索等问题。在面向对象数据库中,数据以对象的形式保存,并且数据自动保存对象间的关系。数据库不需要集合也不需要分解,而且数据库由可靠的图像组成,这些图像是与对象有关的状态图像。因为面向对象数据库处理的是对象,而不是行和列,所以需要定义相关的方法以便对对象进行操作。

(二)对象映射成关系数据库

由于RDBMS以二维表为基本管理单元,所以对象模型最终是由二维表及表问关系来描述,即对象模型向数据库概念模型的映射就是向数据库表的变换过程。从数据库的角度看,关联和聚合/组合关系之间的唯一不同是对象相互之问的绑定程度,对于聚合和组合,在数据库中对整体所做的操作通常需要同时对部分进行操作,而关联则不同。在聚合情况下,在整体中读取时,通常希望在部分中读取,而在关联情况下,需要执行什么操作则不明显。在将对象保存到数据库中或从数据库中删除对象也存在相同的情况。

三、基于面向对象技术的数据库应用实例

根据需求,需要开发一个图书管理信息系统,系统选用SQL Server 2000作为后台数据库,前台选择Visual C++作为开发语言,Visual C++中的MFC为Visual C++提供了大量的类,把Windows API函数封装在类中,方便用户开发Windows应用程序。

按照对象映射成关系数据库的有关规则,并结合实际需求,给出系统的数据表结构如下:

管理员信息表(管理员编号PK,管理员姓名,管理员类别,管理员密码,管理员性别,联系电话,地址);

图书类别表(图书类别PK,可借阅天数);

借书信息表(记录编号PK,图书编号FK,图书名称,图书类别FK,价格,读者编号FK,读者姓名,借书时间,借书年份,借书当日位于当年的日子数);

图书信息表(图书编号PK,图书名称,图书类别FK,出版社,价格,入库时间,图书状态,读者编号FK,借阅频率,说明);

读者留言表(记录编号PK,读者编号FK,读者姓名,留言时间,留言信息);

读者信息表(读者编号PK,读者姓名,读者类别FK,读者密码,读者性别,联系电话,地址,读者所在系别,注册时间);

读者类别表(读者类别PK,可借阅册数);

还书信息表(记录编号PK,图书编号FK,图书名称,图书类别FK,价格,读者编号FK,读者姓名,还书时间);

罚款信息表(记录编号PK,图书编号FK,图书名称,图书类别FK,价格,读者编号FK,读者姓名,借书时间,还书时间,超期天数,挂失时间,罚金,是否缴纳罚金);

数据表之间通过主键(PK)和外键(FK)建立关联,以实现数据约束。为了更方便地对数据进行操作和管理,图书管理信息系统设计并使用专门的数据库类CADOCONN来封装系统数据库,其中包含了连接数据库的代码。在ADOCONN.H中定义指向Connection对象的指针和指向Recordset对象的指针。按照面向对象的观点,对数据表封装的伪代码如下:

class 数据表名

{

//数据表中的字段名

//对数据表操作的方法完成查询、更新、删除等操作,这些方法中包含建立、断开连接的语句和要执行的SQL语句

//其他的方法

}

四、结束语

基于面向对象技术的数据库管理系统的设计使得需求分析者和数据库设计者之间能够实现很好的交流,其技术关键是面向对象的对象模型及其向数据库结构的转化。面向对象的数据模型描述了真实世界的对象,以及对象间的关系和限制,并通过面向对象的数据库系统加以实现。

参考文献:

[1]王燕.面向对象的理论与实践[M].北京:清华大学出版社,1997

[2]杨正甫.面向对象的分析[M].北京:中国铁道出版社,2001

上一篇:浅析计算机数据库安全技术 下一篇:RSA算法的攻击与防范