面向对象数据库设计
A. 什么叫做“面向对象”数据库
什么是数据库对象
数据库对象是数据库的组成部分,常见的有以下几种:
1 表(Table )
数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row) 和列(Column)组成的。列由同类的信息组成,每列又称为一个字段,每列的标题称为字段名。行包括了若干列信息项。一行数据称为一个或一条记录,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。每个表中通常都有一个主关键字,用于惟一地确定一条记录。
2 索引(Index)
索引是根据指定的数据库表列建立起来的顺序。它提供了快速访问数据的途径,并且可监督表的数据,使其索引所指向的列中的数据不重复。
3 视图(View)
视图看上去同表似乎一模一样,具有一组命名的字段和数据项,但它其实是一个虚拟的表,在数据库中并不实际存。在视图是由查询数据库表产生的,它限制了用户能看到和修改的数据。由此可见,视图可以用来控制用户对数据的访问,并能简化数据的显示,即通过视图只显示那些需要的数据信息。
4 图表(Diagram)
图表其实就是数据库表之间的关系示意图。利用它可以编辑表与表之间的关系。
5 缺省值(Default)
缺省值是当在表中创建列或插入数据时,对没有指定其具体值的列或列数据项赋予事先设定好的值。
6 规则(Rule)
规则是对数据库表中数据信息的限制。它限定的是表的列。
7 触发器(Trigger)
触发器是一个用户定义的SQL事务命令的集合。当对一个表进行插入、更改、删除时,这组命令就会自动执行。
8 存储过程(Stored Procere)
存储过程是为完成特定的功能而汇集在一起的一组SQL 程序语句,经编译后存储在数据库中的SQL 程序。
9 用户(User)
所谓用户就是有权限访问数据库的人。
B. 毕设题目是“基于面向对象软件研究方法的数据库接口设计”请高手们指点一下吧
类似ado.net之类吧。
比方说从数据库读取数据,一般操作顺序是这样一个过程:连接数据库,选择数据库,输入查询命令,得到查询数据集,提取数据,关闭数据库连接。
经过ado.net的抽象之后,就分为若干对象:
连接对象,命令对象,数据集对象等等。这些对象提供了一些方法,用来实现操作数据库的过程。就是这样。
比如:
连接对象.connectstring = "abc.db"
连接对象.open()就相当于完成了数据库的选择与连接。
C. 面向对象数据库系统的重要技术
.数据库转换技术 由于关系数据库在当今数据库应用领域处于主导地位,而面向对象数据库如果要满足更高一级数据库要求,实现异构数据库之间数据库模式和操作的转换是一个关键研究课题。数据库转换技术包括数据模式技术和数据操作转换技术,转换时要保证一致性(对象语义和动作信息在转换过程中不丢失)。 模式演进技术 OODB的类为适应需求变化而随时间变化称为模式演进,包括创建新类、删除旧类、修改类属性和操作等模式演进必须保持模式一致性(模式自身内部不能有矛盾),这由模式一致性约束描述。模式一致性约束分为唯一性约束、存在性约束和子类型约束等,满足所有这些一致性约束的模式称为一致模式。模式演化是面向对象数据库研究重点与难点,实现途径一般有两种:模式改变考虑现有应用程序使二者相互集成和适应;开发新的高级数据库编程语言。 视图类实现技术 面向对象数据库中很多操作(如统计、连接查询和视图操作)都能自由访问数据库数据,这些操作益于实现视图操作及降低复杂度并提高效率,但易破坏对象封装性。为了不破坏对象封装性,必须对面向对象数据库的核心模型进行扩充,在对象中设计一组接口,系统通过这组接口完成视图操作,这样会增加对象复杂性和面向对象数据库系统设计难度,因此需要对这些接口实行标准化。基于上述条件,设计相应类数据结构和操作则可实现OODBS视图操作。
OODBS事务管理技术 OODBS事务管理子系统包括死锁管理器、锁管理器、恢复管理器和日志管理器几个部分。相比传统RDBS,OODBS加锁具如下特点:①加锁单位是对象而不是类;②给类对象加锁比给关系对象加锁需更多信息;③当类实例被加锁时,其父类也被加锁。OODBS采用粗粒度加锁具有很高的并行性,加锁的一般是对象,若某一事务要访问同一类多数实例,则对整个类加锁,保证可靠性又降低系统开锁代价。另外,OODBS还具有恢复机制,其中包括多媒体日志恢复和索引页日志恢复两种。多媒体日志恢复是指OODBS把多媒体数据和其描述部分分开,后者通过对象标识符引用前者。若创建多媒体数据事务失败,则置空描述部分引用并复位。索引页日志恢复的方法有两种:一是分裂索引页的插入操作,系统把当前索引页一半表项分给新页,除拷贝的表项外其余都记录在日志中,发生故障时则去掉整个新页;二是合并索引页的删除操作,系统把当前索引页表项拷贝到新页,除了从当前页删除的表项外其余都记录在日志中,发生故障时则重新使用当前页。
D. 面向对象数据库设计体现在哪些方面
采用那种方法来设计并没有什么规定,公司做的时间也不一定一直使用某种设计方法,之所以画图例就是为了:1,分析业务逻辑及流程。2,就是设计数据库。做的时间不必死扣某种设计模式,以前我们做项目的时间也是各种图都画,但现在画的用例图是减之又减,主要考虑到开发周期和成本,每个模块一张用例图,但是一张用例图基本上涵盖了业务逻辑分析,流程分析,数据库分析以及用例分析,做起来比较快,想试试的话,贴上邮箱
E. 请教关系数据库和面向对象数据库的区别
我在找那个传统数据库与面向对象数据的区别,从四点着手区别,都提问好多天了,还是没有人来回答我的问题,哎,看来,你也得等好久了……
呵呵……
F. 什么是面向对象数据库管理系统
面向对象是一种认识方法学,也是一种新的程序设计方法学。把面向对象的方法和数据库技术结合起来可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一致。面向对象数据库系统是为了满足新的数据库应用需要而产生的新一代数据库系统。
概述
面向对象是一种认识方法学,也是一种新的程序设计方法学。把面向对象的方法和数据库技术结合起来可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一致。面向对象数据库系统是为了满足新的数据库应用需要而产生的新一代数据库系统。
技术
在数据库中提供面向对象的技术是为了满足特定应用的需要。随着许多基本设计应用(如MACD和ECAD)中的数据库向面向对象数据库的过渡,面向对象思想也逐渐延伸到其它涉及复杂数据的应用中, 其中包括辅助软件工程(CASE)、计算机辅助印刷(CAP)和材料需求计划(MRP)。 这些应用如同设计应用一样在程序设计方面和数据类型方面都是数据密集型的,它们需要识别于类型关系的存储技术,并能对相近数据备份进行调整。
其他应用
还有许多应用要求多媒体数据库。它们要求以集成方式和文本或图形信息一起处理关系数据,这些应用包括高级办公室系统的其它文档管理系统。
人工智能(AI)应用的需要,如专家系统,也推动了面向对象数据库的发展。专家系统常需要处理各种(通常是复杂的)数据类型。与关系数据库不同,面向对象数据库不因数据类型的增加而降低处理效率。
由于这些应用需求,80年代已开始出现一些面向对象数据库的商品和许多正在研究的面向对象数据库。多数这样的面向对象数据库被用于基本设计的学科和工程应用领域。
G. 用面向对象的方法对多媒体数据库进行建模对多媒体数据库在操作上会带来什么好
摘要 研究开发多媒体数据库要解决的关键技术问题:
H. 要做面向对象数据库,从哪里入手
面向对象是一种认识方法学,也是一种新的程序设计方法学。
目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。
面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有ORACLE、SYBASE、INFORMIX和INGRES。这些产品都支持多平台,如UNIX、VMS、WINDOWS,但支持的程度不一样。在下面的分析中会比较他们的平台支持能力。IBM 的DB2也是成熟的关系型数据库。
但是,DB2是内嵌于IBM的 AS/400系列机中,只支持OS/400操作系统。
I. 什么叫面向对象的数据模型
面向对象数据模型的5个基本概念:对象、类、继承性、对象标识和对象包含。
对象
在面向对象数据库的设计中,我们将客观世界中的实体抽象成为对象。面向对象的方法中一个基本的信条是"任何东西都是对象"。对象可以定义为对一组信息及其操作的描述。对象之间的相互操作都得通过发送消息和执行消息完成,消息是对象之间的接口。严格地讲,在面向对象模型中,实体的任何属性都必须表示为相应对象中的一个变量和一对消息。变量用来保存属性值,一个消息用来读取属性值,另一个消息则用来更新这个值。
类
数据库中通常有很多相似的对象。"相似"是指它们响应相同的消息使用相同的方法,并有相同名称和类型的变量。对每个这样的对象单独进行定义是很浪费的,因此我们将相似的对象分组形成了一个"类"。类是相似对象的集合。类中的每个对象也称为类的实例。一个类中的所有对象共享一个公共的定义,尽管它们对变量所赋予的值不同。面向对象数据模型中类的概念相当于E-R模型中实体集的概念。
继承性
继承性允许不同类的对象共享它们公共部分的结构和特性。继承性可以用超类和子类的层次联系实现。一个子类可以继承某一个超类的结构和特性,这称为"单继承性";一个子类也可以继承多个超类的结构和特性,这称为"多继承性"。继承性是数据间的泛化/细化联系,是一种"is a"联系。
对象标识
面向对象系统提供一种"对象标识符"(OID)的概念来标识对象。OID与对象的物理存储位置无关,也与数据的描述方式和值无关。OID是惟一的。在对象创建的瞬间,由系统赋给对象,它在系统内是惟一的,在对象的生存期间,标识是不能改变的。如果要将数据转移到另外一个不同的数据库系统中,则标识符必须进行转化。
对象包含
不同类的对象之间可能存在着包含关系)。包含其它对象的对象称为复合对象。包含关系可以有多层,形成类包含层次图。包含是一种"是一部分"(is part of)联系,因此包含与继承是两种不同的数据联系。
目前,一种结合关系数据库和面向对象特点的数据库为那些希望使用具有面向对象特征的关系数据库用户提供了一条捷径。这种数据库系统称为"对象关系数据库",它是在传统关系数据模型基础上,提供元组、数组、集合一类丰富的数据类型以及处理新的数据类型操作能力,并且有继承性和对象标识等面向对象特点。
J. 请教大神,做面向对象的系统设计时,数据库的设计也必须是面向对象的模型吗
一般情况下,数据库的字段对应于java的实体类,在使用框架时可以一步获取数据