![面向对象的关系数据库设计_第1页](http://file4.renrendoc.com/view/78f4b14ff70c094a59282241a32ce868/78f4b14ff70c094a59282241a32ce8681.gif)
![面向对象的关系数据库设计_第2页](http://file4.renrendoc.com/view/78f4b14ff70c094a59282241a32ce868/78f4b14ff70c094a59282241a32ce8682.gif)
![面向对象的关系数据库设计_第3页](http://file4.renrendoc.com/view/78f4b14ff70c094a59282241a32ce868/78f4b14ff70c094a59282241a32ce8683.gif)
![面向对象的关系数据库设计_第4页](http://file4.renrendoc.com/view/78f4b14ff70c094a59282241a32ce868/78f4b14ff70c094a59282241a32ce8684.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象的关系数据库设计2007-11-2321:29一、 概念的区分有些人把面向对象的数据库设计(即数据库模式)思想与面向对象数据库管理系统(OODBMS)理论混为一谈。其实前者是数据库用户定义数据库模式的思路,后者是数据库管理程序的思路。用户使用面向对象方法学可以定义任何一种DBMS数据库,即网络型、层次型、关系型、面向对象型均可,甚至文件系统设计也照样可以遵循面向对象的思路。面向对象的思路或称规范可以用于系统分析、系统设计、程序设计,也可以用于数据结构设计、数据库设计。OOSE自上至下、自始至终地贯彻面向对象思路,是一个一气呵成的统一体。面向对象的数据库设计只是OOSE的一个环节。二、 数据库设计的重要性一般数据库设计方法有两种,即属性主导型和实体主导型。属性主导型从归纳数据库应用的属性出发,在归并属性集合(实体)时维持属性间的函数依赖关系。实体主导型则先从寻找对数据库应用有意义的实体入手,然后通过定义属性来定义实体。一般现实世界的实体数在属性数1/10以下时,宜使用实体主导型设计方法。面向对象的数据库设计是从对象模型出发的,属于实体主导型设计。一般数据库应用系统都遵循以下相关开发步骤:1、 设计应用系统结构;2、 选择便于将应用程序与DBMS结合的DBMS体系结构,如RDBMS;3、 根据应用程序使用的环境平台,选择适宜的DBMS(如Oracle)和开发工具(如PB);4、 设计数据库,编写定义数据库模式的SQL程序;5、 编写确保数据正确录入数据库的用户接口应用程序;6、 录入数据库数据;7运行各种与数据库相关的应用程序,以确认和修正数据库的内容。对以上各步骤,有几点需要说明:这不是瀑布模型,每一步都可以有反馈。以上各步不仅有反馈、有反复,还有并行处理。比如一些库表在数据录入时,另一些库表设计还在修改。这与我们的递增式开发方法有关,也与面向对象的特征有关。上述顺序不是绝对的,大多数场合是从第三步开始的。对大多数数据库应用系统来说,上述各步中最重要、最困难的不是应用系统设计而是数据库设三、 DBMS的支持和数据库设计很多数据库应用系统开发者不重视数据库设计的原因是:他们太迷信DBMS,认为购入一个功能强大的DBMS后数据库设计就不困难、不重要了。一些国内外的数据库教材常常是在为DBMS的开发厂商做宣传,而很少站在数据库用户角度,从数据库应用系统出发介绍数据库设计方法。结果往往使读者搞不清书中介绍的是数据库管理程序的设计思想,还是应用这种DBMS进行数据库设计的思想。其实,DBMS只是给用户为已采用的数据库提供一个舞台,而是否使用这个舞台上的道具以及唱什么戏,则完全取决于用户的戏剧脚本和导演(开发者)的安排。例如,公路局系统所使用的数据库管理系统,是以二维表为基本管理单元、支持所有关系代数操作、支持实体完整性与实体间参照完整性的全关系型RDBMS,而我们要在这个舞台上利用上述〃道具〃设计一个面向对象的关系数据库。四、应用对象模型与RDBMS模型的映射数据库设计(模式)是否支持应用系统的对象模型,这是判断是否是面向对象数据库系统的基本出发点。由于应用系统设计在前,数据库设计随后,所以应用系统对象模型向数据库模式的映射是面向对象数据库设计的关键。1、 三层数据库模式面向对象模型的扩展一般数据库设计多参照ANSL/SPARC关于数据库模式的3层标准结构提案。最接近物理数据库的内部模式由DBMS提供的SQL来描述。概念模式可以由若十个内部模式聚集而成,它是由数据库用户规范的一些表的集合。一般的概念模式是数据库物理模式作用域的边界,它能实现数据库的物理意义、特定DBMS的特殊操作对外部应用程序的信息隐蔽。外部模式是从特定用户应用角度看待的数据库模式,从不同的应用出发对同一概念模式可以给出多种不同的外部模式。当外部应用系统以对象模型进行抽象时,从各个应用出发抽象出的对象模型可以映射到外部模型上,对此我们不妨称之为外部对象模型。但是,外部模型只是概念模型的子集,所以面向对象的数据库设计核心在于系统对象模型(不妨称之为概念对象模型)向数据库概念模型的映射。2、 对象模型向数据库表的映射规则由于RDBMS是以二维表为基本管理单元的,所以对象模型最终是由二维表及表间关系来描述的。换言之,对象模型向数据库概念模型的映射就是向数据库表的变换过程。有关的变换规则简单归纳如下:(1) 一个对象类可以映射为一个以上的库表,当类间有一对多的关系时,一个表也可以对应多个类。(2) 关系(一对一、一对多、多对多以及三项关系)的映射可能有多种情况,但一般映射为一个表,也可以在对象类表间定义相应的外键。对于条件关系的映射,一个表至少应有3个属性。(3) 单一继承的泛化关系可以对超类、子类分别映射表,也可以不定义父类表而让子类表拥有父类属性;反之,也可以不定义子类表而让父类表拥有全部子类属性。⑷对多重继承的超类和子类分别映射表,对多次多重继承的泛化关系也映射一个表。(5)对映射后的库表进行冗余控制调整,使其达到合理的关系范式。3、数据库模式要面向应用系统我们选择面向对象的系统设计也好,面向对象的数据库设计也好,根本目的是服务于应用系统的需要。五、面向对象关系数据库设计效果从某种意义上讲,是数据库设计的面向对象特征最终奠定了整个系统的面向对象性,才使面向对象方法在程序开发阶段全面开花。其效果归纳如下:1、 数据库结构清晰,便于实现OOP由于实现了应用模块对象对数据库对象的完全映射,数据库逻辑模型可以自然且直接地模拟现实世界的实体关系。用户所处的当前物理世界、系统开发者所抽象的系统外部功能,与支持系统功能的内部数据库(数据结构)一一对应,所以用户、开发者和数据库维护人员可以用一致的语言进行沟通。特别是对多数不了解业务的程序开发人员来说,这种将应用对象与相应的数据对象封装在对象统一体中的设计方法,大大减轻了程序实现的难度,使他们只要知道加工的数据及所需的操作即可,而且应用程序大多雷同,可以多处继承由设计人员抽象出来的、预先开发好的各种物理级超类。2、 数据库对象具有独立性,便于维护除了数据库表对象与应用模块对象一一对应外,在逻辑对象模型中我们没有设计多重继承的泛化关系,所以这样得到的数据库结构基本上是由父表类和子表类构成的树型层次结构,表类间很少有继承以外的复杂关系,是一个符合局部化原则的结构,从而使数据库表数据破坏的影响控制在局部范围且便于修复,给系统开通后的数据库日常维护工作带来便利。3、 需求变更时程序与数据库重用率高,修改少在映射应用对象时,除关系映射规范化后可能出现一对多的表映射外,大多数应用对象与表对象是一一对应的。我们可以把规范化处理后的、由一个应用对象映射出来的多个表看成一个数据库对象。因此当部分应用需求变更时,首先,系统修改可以不涉及需求不变更的部分。其次,变更部分的修改可以基本上只限于追加或删除程序模块或追加新库表,而基本上不必修改原有程序代码或原有库表定义,从而大大减少了工作量,降低了工作难度。六、最简单的就是最好的客观世界是错综复杂的,计算机科学理论的发展也越来越高深、复杂。然而,人类探索理论和技术的最终目的是:让客观世界的复杂变简单,最简单的就是最好的。为此我们遵循以下原则:1、 慎用外键RDBMS支持复杂关系的能力很强,无论用户怎么在逻辑上设定外键,它基本上都能从物理上帮用户实现。但是外键把许多独立的实体牵连在一起,不仅使RDBMS维持数据一致性负担沉重,也使数据库应用复杂化,加重了程序开发负担。这样的数据库很难理解,很难实现信息隐蔽性设计,往往把简单问题复杂化。2、 适当冗余减少数据库冗余的设计思路产生于70年代,它是促使DBMS进步的重要动力之一。然而,犹如为了节省2个字节的存储空间而酿成了如今全球为之头痛的2000年问题一样,它是计算机硬件主导时代的产物。以今天国内计算机市场价格为例,6G服务器硬盘的价格不过2000元,而上海物价局1996年颁发的一个人月软件开发的指导价约8000元,即一个人月的软件价格就可以购买20G左右的硬盘。即使有5万行数据的库表,每个记录压缩40字符的冗余,单纯计算合计也不足2M,即节省0.6元钱的磁盘空间。今天的世界已进入软件主导的计算机时代。因此,最容易理解、应用开发工作量最少、维护最简单的数据库结构才是最好的。只要数据完整性、一致性不受威胁,有些冗余,不足为虑。换言之,最节省软件成本(而不是硬件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年可定制果糖礼盒行业深度调研及发展战略咨询报告
- 2025-2030年可调节高度台球桌行业深度调研及发展战略咨询报告
- 2025-2030年原产地开心果直供行业深度调研及发展战略咨询报告
- 2024秋八年级英语上册 Unit 6 I'm going to study computer science Section A (1a-2d)说课稿(新版)人教新目标版
- 2025-2030年插入式电磁流量计行业深度调研及发展战略咨询报告
- 2025-2030年护色剂高效行业深度调研及发展战略咨询报告
- 2025-2030年地下工程防水技术行业深度调研及发展战略咨询报告
- 二零二五年度汽车租赁与广告合作合同
- 二零二五年度智能家居系统采购战略合同3篇
- 2024-2025学年北京通州区高一(上)期末英语试卷
- 二零二五版洗煤厂与矿业公司合作洗煤业务合同3篇
- 2024年安徽省高校分类考试对口招生语文试卷真题(含答案)
- 新概念英语第2册课文(完整版)
- 旋挖抗滑桩安全专项施工方案(完)
- 二年级上册美术课件-8.摆花样 |人美版(2014秋) (共35张PPT)
- 砂土袋挡墙施工方案
- 住院患者长嘱口服药发药流程 内科
- 员工入职登记表
- 黑龙江普通专升本考试基础英语试卷(补考)
- 中国青年气候意识与行为调研报告2020
- 房产部经纪人岗前培训——税费计算ppt课件
评论
0/150
提交评论