面向对象的数据库设计

面向对象的数据库设计

ID:41131593

大小:35.50 KB

页数:4页

时间:2019-08-17

面向对象的数据库设计_第1页
面向对象的数据库设计_第2页
面向对象的数据库设计_第3页
面向对象的数据库设计_第4页
资源描述:

《面向对象的数据库设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象的关系数据库设计一、概念的区分有些人把面向对象的数据库设计(即数据库模式)思想与面向对象数据库管理系统(OODBMS)理论混为一谈。其实前者是数据库用户定义数据库模式的思路,后者是数据库管理程序的思路。用户使用面向对象方法学可以定义任何一种DBMS数据库,即网络型、层次型、关系型、面向对象型均可,甚至文件系统设计也照样可以遵循面向对象的思路。    面向对象的思路或称规范可以用于系统分析、系统设计、程序设计,也可以用于数据结构设计、数据库设计。OOSE自上至下、自始至终地贯彻面向对象思路,是一个一气呵成的统

2、一体。面向对象的数据库设计只是OOSE的一个环节。二、数据库设计的重要性   一般数据库设计方法有两种,即属性主导型和实体主导型。属性主导型从归纳数据库应用的属性出发,在归并属性集合(实体)时维持属性间的函数依赖关系。实体主导型则先从寻找对数据库应用有意义的实体入手,然后通过定义属性来定义实体。一般现实世界的实体数在属性数1/10以下时,宜使用实体主导型设计方法。面向对象的数据库设计是从对象模型出发的,属于实体主导型设计。一般数据库应用系统都遵循以下相关开发步骤:  1、设计应用系统结构;  2、选择便于将应用程序

3、与DBMS结合的DBMS体系结构,如RDBMS;  3、根据应用程序使用的环境平台,选择适宜的DBMS(如Oracle)和开发工具(如PB);  4、设计数据库,编写定义数据库模式的SQL程序;  5、编写确保数据正确录入数据库的用户接口应用程序;  6、录入数据库数据;  7运行各种与数据库相关的应用程序,以确认和修正数据库的内容。对以上各步骤,有几点需要说明:  (1)这不是瀑布模型,每一步都可以有反馈。以上各步不仅有反馈、有反复,还有并行处理。      比如一些库表在数据录入时,另一些库表设计还在修改。  

4、    这与我们的递增式开发方法有关,也与面向对象的特征有关。  (2)上述顺序不是绝对的,大多数场合是从第三步开始的。  (3)对大多数数据库应用系统来说,上述各步中最重要、最困难的不是应用系统设计而是数据库设三、DBMS的支持和数据库设计很多数据库应用系统开发者不重视数据库设计的原因是:他们太迷信DBMS,认为购入一个功能强大的DBMS后数据库设计就不困难、不重要了。一些国内外的数据库教材常常是在为DBMS的开发厂商做宣传,而很少站在数据库用户角度,从数据库应用系统出发介绍数据库设计方法。结果往往使读者搞不清书

5、中介绍的是数据库管理程序的设计思想,还是应用这种DBMS进行数据库设计的思想。其实,DBMS只是给用户为已采用的数据库提供一个舞台,而是否使用这个舞台上的道具以及唱什么戏,则完全取决于用户的戏剧脚本和导演(开发者)的安排。例如,公路局系统所使用的数据库管理系统,是以二维表为基本管理单元、支持所有关系代数操作、支持实体完整性与实体间参照完整性的全关系型RDBMS,而我们要在这个舞台上利用上述"道具"设计一个面向对象的关系数据库。四、应用对象模型与RDBMS模型的映射数据库设计(模式)是否支持应用系统的对象模型,这是判

6、断是否是面向对象数据库系统的基本出发点。由于应用系统设计在前,数据库设计随后,所以应用系统对象模型向数据库模式的映射是面向对象数据库设计的关键。1、三层数据库模式面向对象模型的扩展一般数据库设计多参照ANSL/SPARC关于数据库模式的3层标准结构提案。最接近物理数据库的内部模式由DBMS提供的SQL来描述。概念模式可以由若干个内部模式聚集而成,它是由数据库用户规范的一些表的集合。一般的概念模式是数据库物理模式作用域的边界,它能实现数据库的物理意义、特定DBMS的特殊操作对外部应用程序的信息隐蔽。外部模式是从特定用

7、户应用角度看待的数据库模式,从不同的应用出发对同一概念模式可以给出多种不同的外部模式。当外部应用系统以对象模型进行抽象时,从各个应用出发抽象出的对象模型可以映射到外部模型上,对此我们不妨称之为外部对象模型。但是,外部模型只是概念模型的子集,所以面向对象的数据库设计核心在于系统对象模型(不妨称之为概念对象模型)向数据库概念模型的映射。2、对象模型向数据库表的映射规则由于RDBMS是以二维表为基本管理单元的,所以对象模型最终是由二维表及表间关系来描述的。换言之,对象模型向数据库概念模型的映射就是向数据库表的变换过程。有

8、关的变换规则简单归纳如下:  (1)一个对象类可以映射为一个以上的库表,当类间有一对多的关系时,一个表也可以对应多个类。  (2)关系(一对一、一对多、多对多以及三项关系)的映射可能有多种情况,但一般映射为一个表,也可以在对象类表间定义相应的外键。对于条件关系的映射,一个表至少应有3个属性。  (3)单一继承的泛化关系可以对超类、子类分别映射表,也可以不定义

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。