工学

问答题关系数据库的表之间不存在继承关系,为了将面向对象中的继承关系映射关系数据库中,可以使用以下三种继承映射策略:每个继承层次一张表;每个具体类一张表;每个类一张表。试请分析三种策略在实际应用中各自的优缺点?

题目
问答题
关系数据库的表之间不存在继承关系,为了将面向对象中的继承关系映射关系数据库中,可以使用以下三种继承映射策略:每个继承层次一张表;每个具体类一张表;每个类一张表。试请分析三种策略在实际应用中各自的优缺点?
参考答案和解析
正确答案: 方式一:整个的继承体系就用一张表
优缺点:首先表中引入的区分子类的字段,也就是包括了描述其他字段的字段。其次,如果某个子类的某个属性不能为空,那么在数据库一级不能设置该字段not null(非空),维护起来方便,只需要修改一个表,灵活性差,表中冗余字段会随着子类的增多而越来越多,在任何情况下,都只需处理一个表,对于单个对象的持久话操作只需要处理一个表。
方式二:每个子类一张表,存放子类所特有的属性
优缺点:这种设计方式完全符合关系模型的设计原则,且不存在冗余,维护起来比较方便,对每个类的修改只需要修改其所对应的表,灵活性很好,完全是参照对象继承的方式进行配置,对于父类的查询需要使用左外链接,对于子类查询需要使用内链接,对于子类的持久话至少要处理两个表。
方式三:每个具体类一张表(union-subclass),保存是子类完整信息
优缺点:这种设计方式符合关系模型的设计原则,但有表中存在重复字段的问题。如果需要对基类进行修改,则需要对基类以及该类的子类所对应的所有表都进行修改,映射的灵活性很大,子类可以包括基类属性在内的每一个属性进行单独配置,对于子类的查询只需要访问单独的表,对父类查询怎需要检索所有的表,对于单个对象持久话操作只需要处理一个表。
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 60 )下列关于面向对象数据库和关系数据库系统的叙述中,哪一条是不正确的?

A) 面向对象数据库设计与关系数据库设计之间一个最主要的区别是如何处理联系

B) 面向对象数据库设计与关系数据库设计中,处理继承的方法是相同的

C) 在面向对象数据库中,通过使用继承构造来获得映射

D) 在面向对象数据库中,联系是通过使用联系特性或者包括相关对象的对象标识符的参照属性来处理的


正确答案:B

第2题:

在面向对象软件开发方法中,类与类之间主要有以下( )关系。

A、继承和聚集

B、方法调用和一般

C、聚集和消息传递

D、继承和方法调用


正确答案:A

第3题:

● 以下关于面向对象方法中继承的叙述中,错误的是 (22) 。

(22)

A. 继承是父类和子类之间共享数据和方法的机制

B. 继承定义了类与类之间的一种关系

C. 继承关系中的子类将拥有父类的全部属性和方法

D. 继承仅仅允许单重继承,即不允许一个子类有多个父类


正确答案:D
c

第4题:

下列关于面向对象数据库系统的叙述中,哪一个是不正确的?()

  • A、构造复杂对象数据类型的构造器包括集合
  • B、引用也可用于构造复杂对象数据类型
  • C、子类继承超类的关系是IS A关系
  • D、超类继承子类的全部属性

正确答案:D

第5题:

以下关于面向对象方法中继承的叙述中,错误的是______。

A.继承是父类和子类之问共享数据和方法的机制

B.继承定义了一种类与类之间的关系

C.继承关系中的子类将拥有父类的全部属性和方法

D.继承仅仅允许单重继承,即不允许一个子类有多个父类


正确答案:D
解析:本题考查面向对象技术中继承的基本概念。
面向对象中,继承是父类和子类之间共享数据和方法的机制。这是类之间的一种关系,在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。可以存在多重继承的概念,但不同的程序设计语言可以有自己的规定。

第6题:

在数据库设计中,超类实体与子类实体的关系是()

A、前者继承后者的所有属性

B、后者继承前者的所有属性

C、前者只继承后者的主键

D、后者只继承前者的主键


参考答案B

第7题:

下列关于对象—关系数据库中继承特征的叙述中,错误的是( )。

A.继承性是面向对象方法的一个重要特征

B.继承包括对数据的继承和对操作的继承

C.数据继承只适用于组合类型

D.基本类型是封装的,但它的内部类型仍是可见的


正确答案:D
解析:继承性是面向对象方法的一个重要特征,是指子类继承超类的各种特性,包括对数据的继承和对操作的继承。基本类型是封装的,且内部是外部所不能看见的。

第8题:

(60)下列关于面向对象数据库系统的叙述中,哪一个是不正确的?

A)构造复杂对象数据类型的构造器包括集合

B)引用也可用于构造复杂对象数据类型

C)子类继承超类的关系是 IS-A 关系

D)超类继承子类的全部属性


正确答案:D


(60)【答案】D)
【解析】对象-关系数据库系统除了具有原来关系数据库的各种特征外,来具有以下特征:
1, 对基本数据类型扩充的支持。例如可以定义数组、向量、矩阵、集合等数据类型以及支持用户加入这些数据要求的操作。
2, 对复杂对象的支持。即由多种基本类型或用户自定义的数据类型构成的对象。
3, 对继承的支持。
4, 对规则系统的支持。大大增强对象—关系数据库的功能,使之具有主动数据库的知识库的特性。

 

第9题:

下列关于对象一关系数据库中继承特征的叙述中,错误的是( )。


正确答案:D
继承性是面向对象方法的一个重要特征,是指子类继承超类的各种特性,包括对数据的继承和对操作的继承。基本类型是封装的,且内部数据是外部所不能看见的。

第10题:

设计数据库时,可使用纽带表来处理表与表之间的()

  • A、多对多关系
  • B、临时性关系
  • C、永久性关系
  • D、继承关系

正确答案:A

更多相关问题