数据库面向对象设计
A. 面向对象的多媒体数据库系统的设计与实现
看你的开发量吧,一般你使用ACCESS就足够了,sql是大型数据库使用的,个人PC或者非专业设计师使用SQL或其它的都不理想,主要是它需要比较高的设备,还有它们的编程的难度都比ACCESS要大一些,推荐你去买一本开发类的书吧~~按照它的步骤一步一步来~!
B. 面向对象数据库有哪些
面向对象是一种认识方法学,也是一种新的程序设计方法学。
目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。
面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有ORACLE、SYBASE、INFORMIX和INGRES。这些产品都支持多平台,如UNIX、VMS、WINDOWS,但支持的程度不一样。在下面的分析中会比较他们的平台支持能力。IBM
的DB2也是成熟的关系型数据库。
但是,DB2是内嵌于IBM的
AS/400系列机中,只支持OS/400操作系统。
C. 哪些数据库具有面向对象功能,主要是主流数据库
面向对象数据库是一种数据库模式,oracle、postgresql都具有这功能。
优点如下:
1、易维护
采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。
2、质量高
在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
3、效率高
在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
4、易扩展
由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
D. 面向对象数据库和关系数据库的区别
以关系数据库为例,SQL语言是一种非过程化的面向集合的语言,它虽然用起来非常简单,但由于是解释实现,效率不如人意。因此许多应用仍然是由高级程序设计语言(如C)来实现的,但是高级程序设计语言是过程化的,而且是面向单个数据的,这使得SQL与它之间存在着不匹配,我们把它叫做“阻抗失配”。不论你是用嵌入式SQL,还是CLI,都需要化很多工夫去完成两种语言之间的相互转化。 但是关系数据库在数据库系统方面发展地非常完善,有强大的管理功能和可操纵性。另外,关系模型具有坚实的数学基础。
面向对象数据库的产生主要是为了解决“阻抗失配”,它强调高级程序设计语言与数据库的无缝连接。什么叫无缝连接,假设你 不用数据库,用C语言编了一个程序,你可以不需要(或基本不需要)任何改动就将它作用于数据库,即你可以用C语言透明访问数据库,就好象数据库根本不存在一样,所以也有人把面向对象数据库理解为语言的持久化。怎么样,听起来挺玄的吧,可是我们自己开发的数据库系统——OSCAR早就做到了这一点。 由于实现了无缝连接,使得面向对象数据库能够支持非常复杂的数据模型,从而特别适用于工程设计领域。打个比方,想象CAD中的一个复杂部件,它可能由成千上万个不同的零件组成,要是用关系模型中的表来表达,得用多少张表啊?而描述这种复杂的部件,正好是高级程序设计语言的强项。
此外,面向对象数据库还吸收了面向对象程序设计语言的思想,如支持类、方法、继承等概念。 面向对象数据库很好地解决了阻抗失配的问题,但它也有缺点。它的缺点正好是关系数据库的强项,由于模型较为复杂(而且缺乏数学基础),使得很多系统管理功能难以实现(如权限管理),也不具备SQL处理集合数据的强大能力。
另一方面,随着多媒体数据的大量出现和应用的日益复杂,关系数据库也在不断吸收面向对象数据库的优点,出现了现在所谓的对象关系型数据库(象ORACLE8i、DB2-5以上都是这种系统)。其主要改进包括支持自定义类型(UDT),方法,继承(目前仅DB2-6支持),和引用(使得对象间可以直接引用,想想原来的关系数据库需要靠连接来实现引用,性能真是惨不忍睹)。 总之,数据库系统发展的趋势是,面向对象数据库和关系数据库将不断融合。而对象关系数据库由于继承了上述两者的优点,已经成为目前数据库发展的主流。
E. 数据库的面向对象的设计方法和结构化的设计方法的区别
打个比方:
结构化的是设计好一个完整的桌子给你用,面向对象是设计桌子的组成零件,然后你自已拿回去装。装方的也行,装圆的也行,三条腿也行,四条腿也行。
F. 面向对象建模—数据库
可以的。
http://wenku..com/view/83aef893dd88d0d233d46a49.html
G. 数据库面向对象模型的优缺点是什么
1.优点
A重用性 利于开发速度 如果你想开发某个功能发现他实现起来很麻烦,这个时候有另一技术能很好的解决
时其优势就发挥出来了
B,封装性/抽象性:结构清晰 很标准 规范化 易于理解 可读性更强
C.继承 容易扩展,在大框架不变的情况下很容易就开发出适合自己的功能
2.缺点
A.执行速度会打折扣
H. 面向对象程序设计和数据库开发课程设计
这个是二转的吧,哈哈!去计算机高级论坛里面有的!
I. 面向对象数据库设计体现在哪些方面
采用那种方法来设计并没有什么规定,公司做的时间也不一定一直使用某种设计方法,之所以画图例就是为了:1,分析业务逻辑及流程。2,就是设计数据库。做的时间不必死扣某种设计模式,以前我们做项目的时间也是各种图都画,但现在画的用例图是减之又减,主要考虑到开发周期和成本,每个模块一张用例图,但是一张用例图基本上涵盖了业务逻辑分析,流程分析,数据库分析以及用例分析,做起来比较快,想试试的话,贴上邮箱
J. 数据库中,设计一个对象关系数据模型
数据模型设计思考与实践
李俊杰
概述
在当前的主要软件应用项目中,数据库在项目中的作用是极其重要的,因此作为项目基础的数据模型的设计就显得非常重要,不仅事关数据的存储和使用,而且反映了对需求的理解和未来变化需求的适应性和扩展性,数据模型设计的好坏还影响存取效率和性能,同时也决定了项目的实现机制和扩展性,特别是对于分布式系统而言,数据的同步及网络通信的设计也非常重要。
数据的应用特性和分库存储设计
系统中的数据有着不同的应用特性,有的是静态数据,如系统运行配置信息,在系统运行上线前必须初始化的,还有系统业务配置信息,也是在系统运行之初必须设置的,这些数据可能在系统下线都不会变化。有的是半静态的数据,很少作更新处理,如一些产品定义数据只有在发布新的产品才会有所变化,其他时间一直处在休眠状态。有的则是工作数据,在一个业务处理过程中会频繁地进行更新,始终处于活跃期,会不断地被访问更新。
传统的数据库设计过程中,所有的数据放在一个数据库中,好处是在数据存取时可最大限度地利用DBMS本身提供的功能来提高数据的存取效率。但从数据备份和数据管理的角度来看,就存在着一定的缺陷和问题。
按照数据的使用特性进行存储管理根据其使用特性在实际应用中是有现实意义的,原因是:根据不同的数据应用特性进行分库,可以有针对性地对不同的库制定备份策略,在大型项目中数据量非常大,从数据安全和数据存储管理方面考虑备份策略就非常有意义,另外分库存储设计提高了数据的访问效率,因为可以针对业务数据的存取进行优化,对业务数据的访问制定负载平衡策略,提高系统的访问量和缩短系统的相应时间,当然提高系统的性能是一项复杂的系统工程,需要多方面的协作和优化,分库存储设计仅仅是其中之一。
文本型数据的代码化和格式化
在系统的需求分析阶段,有许多东西都是以文字描述的,设计人员要对这些内容庞杂的信息进行梳理和抽象,如何组织成为计算机能够识别,且为实际系统应用中显示操作人员所熟知的专业术语和行业术语,答案就是文本数据的代码化和格式化。如单位性质(经济分类):00 其它企业单位,01 国有,02 集体,03 私营,04 个体。这样,就可以在前台显示文本,在数据库相关表中存储代码,这样有利于优化存储,有利于需求的变更,如有些文本变化,只需更新相应的代码表,并且针对统计分析需求就会非常容易。
还有代码的版本的设计,如疾病代码,不同时期采用不同版本的代码,不同的行业采用不同版本,只须设计疾病版本表,疾病表(其中疾病版本号是外键)。
复杂的文本代码化,如职业代码,就可以分为职业大类,职业子类(其中职业大类代码是外键),职业细类代码(其中职业子类代码是外键),从表的命名和外键的分布,显然可以理解三个表的关系,另外同样职业细类的代码是“职业大类代码”+“职业代码子类”+“职业代码细类序号”,如:
大类 子类 细类 代码 说明
00 00 00 000000 无职业
00 00 01 000001 离退休
还有一种情况,即该类代码只在一个表的一个字段中使用,不据通用性,通常的设计是在Power Designer中列属性的标准选项(standard checks) 中设置相关代码,如理赔给付类型代码:1 合同给付 , 2 比例给付, 3 协议给付 , 5 责任给付, 9 拒赔给付。
视图的设计与使用
视图是一种虚表,它依赖数据源的实表而存在,视图的主要用途是针对数据安全方面考虑的,但在实际设计中,可以把常用的联合查询以视图的形式设计在数据库中,可以避免编程人员写过多的数据库sql语句,并且可以进行复杂逻辑处理、提高运算速度和节省存储空间,同时也可以起到信息隐藏的目的,即你后台的数据库表发生变化,只要视图显示的字段不变,前台调用视图就不用改变。特别是对你的数据库不太了解的人员,其意义就更大了。
表字段的灵活运用
字段的借用,例如表中有两个字段,一个是code_type,一个是code。这样根据code_type的不同,则code字段中存储不同的代码。
表之间的虚依赖关系。例如一个表和依赖于两个以上的表中的一个,那么就有了这样的情况。类似于字段的借用,code_type的值不同,则code存储的值是所依赖的不同的表的外键。
面向对象设计思想在数据模型设计中的作用
特别是对于应用系统,其需求往往是笼统和复杂的,首先分析需求不变和变化的部分,进而分析数据的相互关系,从顶到下,划分其逻辑联系,把相关的内容抽象成若干相互作用的对象,而每一个对象都有若干属性,则每一属性就可作为一个表所对应的字段。还要澄清一个问题,数据模型(表)和对象并不是一一对应的关系,数据模型主要考虑数据存储和数据之间的关系。而对象是数据和行为的结合体。表之间的关联主要是主表和子表的关系,主键和外键的关系,但在对象设计时,有些表现为继承关系,但大多数表现为聚合关系。在数据模型的设计中,常常使用中间表把多对多关系变成两个一对多的关系。但在对象设计时就不会把中间表作为一个对象。
表和表之间的依赖关系,在对象设计中并不完全表示为继承关系,而更多地表示为例如类型表(type),字段有类型编码(type_code),类型名称(type_name), 类型描述(type_dscr);其子表如合同,在设计时把合同设计为一个类,而类型只是它的一个属性,即合成关系。另外一种情况,合同表中设计一个类型字段,然后根据该类型字段,其更详尽的属性放到相关的子表中,类型不同,则需要不同的子表来描述其特性。这时就类似于继承关系,但在面向对象设计中就会把合同设计成类,包括类型类接口属性,类型类接口属性的实现类则表示为合同子表的内容。
总之,数据模型的设计要综合考虑诸多因素,例如提高数据库的运行效率,必须从数据库系统级优化、数据库设计级优化、程序实现级优化等等,以上只是本人在数据模型设计中的体会和经验,仅供参考。
努力,在于我热爱我的事业,与中国的软件一起走向成熟,走向世界。
联系作者:[email protected]