面向对象数据库管理系统

计算机科学术语

面向对象数据库管理系统(OODBMS,object-oriented database management system)是支持将数据当作对象来模拟和创造的一种数据库管理系统。面向对象数据模型是构成面向对象数据库结构的基础,面向对象的数据库管理系统设计的关健是其新型的数据模型对象即面向对象数据模型,以及数据模型向数据库结构的转化。

简介
面向对象数据库管理系统(OODBMS,object-oriented database management system)是支持将数据当作对象来模拟和创造的一种数据库管理系统。它包括对对象类的支持以及对子类及其对象对类特性和方法的继承的支持。现在,由什么组成OODBMS的标准尚未被广泛认同,并且OODBMS产品被认为尚处于初期。其间,与对象相关的数据库管理系统(ORDBMS),有种观念是面向对象数据库概念可以添加到关系数据库上,这一观念在可利用的产品中更为普遍。面向对象数据库界面标准被产业群体发展,成为对象数据管理组(ODMG)。对象管理组(OMG)已经被定为网络中系统之间的面向对象数据的中间界面。
定义
在《面向对象的数据库声明》中,Malcolm Atkinson和其他作者对OODBMS的定义如下:
面向对象的数据库系统必须满足两项标准:它必须是一个数据库管理系统,并且必须是面向对象的系统,例如在尽可能的范围内它必须与当前的面向对象的程序语言相兼容。第一个标准转换为五个特征:持续性、二级存储管理、同步性、防御性和一个特定询问工具。第二个标准转换为八个特性:复杂的对象、对象一致性、封装、类型、继承性、迟约束、可延长性和计算的完全性。
开发阶段
数据库管理系统的开发须经过需求分析和系统设计两个阶段。在完成了需求分析、进入设计阶段时,通常要进行数据库的设计,数据库设计的好坏直接关系到系统后期的开发。传统需求分析是用数据流图,而数据库的设计是用实体-关系模型方法(E-R方法),需求分析者和数据库设计者对应用理解很难达成一致。如果在需求分析阶段采用面向对象的分析方法,数据库设计也采用面向对象的设计方法,则需求分析阶段的对象模型可以很自然地转为数据库的结构。
一个数据库系统要成为面向对象数据库系统,必须具备面向对象系统的特征及其数据库的特征,支持核心的面向对象数据模型以及扩充 修改传统数据库的语义,使之与核心的面向对象的数据模型取得一致。面向对象数据模型是构成面向对象数据库结构的基础,面向对象的数据库管理系统设计的关健是其新型的数据模型对象即面向对象数据模型,以及数据模型向数据库结构的转化。
面向对象的数据模型
对象、类及继承性构成了面向对象数据模型结构特性的基础,具体有如下的含义:
(1)对象是数据结构和操作的最基本的单位。
(2)每个对象都具有由系统提供的唯一的、可识别的值OID(对象识别符)。
(3)类描述对象共同的类型,用于创建类实例
(4)类与类之间通过继承而互相联系,通过超类与子类关系还可构成类层次结构。
(5)类定义是说明数据库模式的机制,数据库模式包含特定应用所定义的全部类,类定义包含了继承关系和结构关系,其中后者相当于E-R模型
(6)完全的数据库模式可包含一个或多个类层次及一个或多个结构关系,就某个模式描述则涉及到某些类的实例变量。
(7)类定义可包含系统所定义或用户定义的实例变量,其类型可与类相一致。
需要说明的是,对象数据模型的结构具有很强的开放性和可扩充性,理由是其数据库模型可通过定义新类而获得动态扩充,同时可扩充性还指定义或增加新的数据类型的共同的能力,包括在常规的数据库管理系统中所不能管理的类型,并可通过增加包括表示与操纵非传统数据类型的结构与操作的新类来实现对非结构化数据的管理。
事实上,面向对象数据模型是对系统进行数据分析时,将欲抽取的事物、概念分解成一个个独立的、可以区分的事物,再是套上对象之间的关系而构成的,包括领域需求分析和建立模型两个主要过程,其操作的基础是消息的传递。
对象数据模型向数据库结构的转换
基于面向对象技术的数据库系统是由若干个对象和这些对象间的相互作用构成,其中对象由数据和操作两部分组成,对象具有自主性、封装性和动态性。将面向对象技术应用到软件工程的各个阶段,其实质就是寻找对象及各对象间的相互作用关系。在需求分析阶段,面向对象分析是对真实世界对象建模,其根本出发点是站在应用的角度对问题域进行刻画和描述,这样有利于对问题的理解。需求分析阶段的结果是:问题陈述+对象模型+动态模型+功能模型。设计阶段是对原对象模型进一步描述,此阶段可用面向对象方法实现数据库的设计。基于面向对象技术的数据库设计中的对象数据模型与数据库管理系统中的外模式和概念模式相对应,因而可引入外对象模型和概念对象模型。不同权限用户所看到的外对象模型不同,但概念对象模型在全局上是一致的。
对象数据模型与数据库管理系统中的表之间有着直接映射的关系。将对象数据模型转化为表结构时,必须考虑完整性约束和范式约束,以反映表之间的联系。将对象数据模型映射为表,可用以下几个步骤来实施:
(1)将单个对象映射为表;
(2)将对象间的二元关联映射为表;
(3)将对象间的聚集关系映射为表;
(4)将对象间的继承关系映射为表;
(5)将三元关联映射为表。
面向对象数据库管理系统的构造
能够自然地表现复杂数据模型的OOP技术可以提高应用系统的统一性。越来越复杂化的系统期待着高效率、短时间内就可以构造出的环境。比如说,我们需要在短期内构造出某单位的含有图像和语音处理的人事数据库管理系统。毫无疑问,采用传统系统开发方式很难达到这一要求。但是,如果假设有关人事管理的基本数据系统、声音系统、图像系统已经存在,那么可以简单地在一个窗口上定义这个相对复杂的人事数据库管理系统。于是面向对象的数据库管理系统作为不可缺少的系统引起人们的注目。
必须指出,一个OODBMS自身就是一个对象。而它又是由若干个具有完全相对独立功能的对象以及各对象间的协调关系所构成。一个OODBMS的制作过程可以用图1简单地描述。
由图1可以看出,OODBMS的设计与实现其关键就在于对象的制作。而对象的制作除了要配备相应的工具和支持环境外,一个最大的问题仍然是从错综复杂的数据关系中抽象出对象,并且在作为最小知识单元的基础上用面向对象的程序设计语言加以实现。 面向对象的编程技术并不是一个新概念。但是,只是在当数据关系变得相当复杂的多媒体时代,在开发周期要求短、说明书变化多的情况下,在处理大量信息的领域里才充分显示了它的魅力,并且有着主宰DBMS的开发领域的倾向。但是,一个完备的开发环境包括对作成系统的调试问题,还有待于进一步的研究。
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市