当前位置:文档之家› 对象关系模型数据库解析

对象关系模型数据库解析

对象关系模型数据库解析
对象关系模型数据库解析

面向对象数据库系统(Object Oriented Data Base System,简称OODBS)是数据库技术与面向对象程序设计方法相结合的产物。

对于OO数据模型和面向对象数据库系统的研究主要体现在:研究以关系数据库和SQL为基础的扩展关系模型;以面向对象的程序设计语言为基础,研究持久的程序设计语言,支持OO模型;建立新的面向对象数据库系统,支持OO数据模型。

面向对象程序设计方法是一种支持模块化设计和软件重用的实际可行的编程方法。它把程序设计的主要活动集中在建立对象和对象之间的联系(或通信)上,从而完成所需要的计算。一个面向对象的程序就是相互联系(或通信)的对象集合。面向对象程序设计的基本思想是封装和可扩展性。

面向对象数据库系统支持面向对象数据模型(以下简称OO模型)。即面向对象数据库系统是一个持久的、可共享的对象库的存储和管理者;而一个对象库是由一个OO模型所定义的对象的集合体。

一个OO模型是用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。一系列面向对象核心概念构成了OO模型的基础。概括起来,OO模型的核心概念有如下一些:

(1)对象(Object)与对象标识OID(Object IDentifier)

现实世界的任一实体都被统一地模型化为一个对象,每个对象有一个唯一的标识,称为对象标识(OID)。

(2)封装(Encapsulation)

每一个对象是其状态与行为的封装,其中状态是该对象一系列属性(Attribute)值的集合,而行为是在对象状态上操作的集合,操作也称为方法(Method)。

(3)类(C1ass)

共享同样属性和方法集的所有对象构成了一个对象类(简称类),一个对象是某一类的一个实例(instance)。

(4)类层次(结构)

在一个面向对象数据库模式中,可以定义一个类(如C1)的子类(如C2),类Cl 称为类C2的超类(或父类)。子类(如C2)还可以再定义子类(如C3)。这样,面向对象数据库模式的一组类形成一个有限的层次结构,称为类层次。

(5)消息(Message)

由于对象是封装的,对象与外部的通信一般只能通过显式的消息传递,即消息从外部传送给对象,存取和调用对象中的属性和方法,在内部执行所要求的操作,操作的结果仍以消息的形式返回。

OODB语言用于描述面向对象数据库模式,说明并操纵类定义与对象实例。OODB语言主要包括对象定义语言(ODL)和对象操纵语言(OML),对象操纵语言中一个重要子集是对象查询语言(OQL)。OODB语言一般应具备下述功能:

(1)类的定义与操纵

面向对象数据库语言可以操纵类,包括定义、生成、存取、修改与撤销类。其中类的定义包括定义类的属性、操作特征、继承性与约束等。

(2)操作/方法的定义

面向对象数据库语言可用于对象操作/方法的定义与实现。在操作实现中,语言的命令

可用于操作对象的局部数据结构。对象模型中的封装性允许操作/方法由不同程序设计语言来实现,并且隐藏不同程序设计语言实现的事实。

(3)对象的操纵

面向对象数据库语言可以用于操纵(即生成、存取。修改与删除)实例对象。

目前,还没有像SQL那样的关于面向对象数据库语言的标准,因此不同的OODBMS 其具体的数据库语言各不相同。

对象-关系数据库系统就是将关系数据库系统与面向对象数据库系统两方面的特征相结合。对象-关系数据库系统除了具有原来关系数据库的各种特点外,还应该提供以下特点:

(1)扩充数据类型,例如可以定义数组、向量、矩阵、集合等数据类型以及这些数据类型上的操作。

(2)支持复杂对象,即由多种基本数据类型或用户自定义的数据类型构成的对象。

(3)支持继承的概念

(4)提供通用的规则系统,大大增强对象-关系数据库的功能,使之具有主动数据库和知识库的特性。

对象数据库VS 关系数据库

我们将对象数据库管理系统(ODBMS)定义为一个集成了数据库能力与面向对象编程语言能力的数据库管理系统(DBMS),ODBMS使数据库对象看起来像是已有的一个或多个程序设计语言中的程序设计语言以象。——Rick Cattell,OMG-93委员会主席。

ODBMS在多用户客户机/服务器环境中提供了持久性存储器。ODBMS可以处理对象的并行访问,提供锁定和事务保护,保护对象存储器免遭各种类型的威胁,照管像备份和恢复之类传统任务。ODBMS这所以与关系数据库不同,是因为ODBMS存储的是对象,而不是表格。对象的引用通过持久性标识(PID)进行,PID可以独一无二地识别各个对象,可以用来在对象之间建立标记和容器关系。ODBMS还加强了封装,支持继承。ODBMS结合了对象属性和传统的DBMS功能,如锁定、保护、事务处理、查询、版式本、并发和持久性。

ODBMS不是利用分离的语言(如SQL)定义、检索和处理数据,而是利用类定义和传统的面向对象的程序语言(通常是C++、SmallTalk和Java语言)构造来定义和访问数据。ODBMS只来过是存储器内语言数据结构的多用户、持久性扩展。换句话说,客户就是C++或是Java程序,服务器就是ODBMS-——没有像SQL和RPC这样的可视中间对象。ODBMS将数据库能力直接集成进语言。

ODBMS的价值。很显然,最好是以自然的形式存储那些对象,而不是将数据修饰得光光滑滑或撕得七零八落之后放进关系表格中。

对于那些数据复杂难以在表格里简单排列的用户来说,ODBMS特别适合。ODBMS 曾经长期是学者和OO研究人员极为感兴趣的领域。最早的商品化ODBMS出现在1986年,是Servio公司(现在的GemStone公司)和Ontos公司推出的。后来(九十年代)Object Design(ODI)、Versant、Objectivity、O2 Technology、Poet、Ibex、UniSQL 和ADB MATISSE等公司也加入了这个开拓行列。这些ODBMS厂商首先瞄准了那些复

杂数据结构和长命期事务处理的应用程序——包括计算机辅助设计、CASE和智能办公室等。随着多媒体、群件、公布式对象和万维网技术的出现,ODBMS与那些深奥难懂的特性现在变成了客户机/服务器系统的主流要求。ODBMS技术填补关系数据库最弱的那些空隙——复杂数据、版式本和长生命期事务、持久性对象存储、继承和用户定义的数据类型等等。

以下是ODBMS厂商开拓的各个特性:

n 自由创建新的信息类型

n 快速存取

n 组合结构的灵活视图

n 与面向对象的程序语言紧密集成

n 利用多继承支持可定制的信息结构

n 支持版本事务、嵌套事务和长生命期事务

n 分布式对象储库

n 支持复合对象的生命期管理

对象狂已经掌握了整个行业。面向对象技术支持者正在宣告,对象关系数据库和ODBMS将成为医治关系技术的所谓弱点的良药。这纯属胡说……在数据库上直接地和不加区分地就应用面向对象技术,将再次引入关系数据库花了二十年才克服的那些问题。

在用户中间,很少有人会怀疑ODBMS最终将成为RDBMS的后继技术。在诗人William Blake的比喻中,年轻的革命上帝Orc已经开始衰老,变成冷冰冰的暴君Urizen——戒律和标准的守护人。

我们可以两者兼得。要点是将这两项技术结合起来,而不是相互扔泥块。对二十多处踏踏实实的关系数据库研究的开发熟视无睹,不加以利用,就不太应该了。

Date和Pascal都承认目前的SQL数据库实现有缺点;但他们两人都有觉得关系模型本身能够处理ODBMS将解决的那些问题,ODBMS有能力,可以利用嵌套关系、域(或用户定义的数据封装类型)以及一种比SQL更强大的面向集合语言在关系技术世界里近似。这些特性完成这项工作,无需追逐对象指针或操纵低级的专用语言记录结构。没有必要减轻关系理论的联合能力。开发者没有必要退回到用手工方法去最佳化或重新优化应用程序的性能——将时钟倒拔回去了。Date认为域和对象是同一回事,解决办法是由关系技术厂商扩展其系统,以包括“适当的域支持”。

StoneBraker注意到纯粹的ODBMS还缺乏复杂搜索、查询优化器和服务器可扩展性等领域的功能。而且,许多ODBMS在用户编程的同一个地址空间里运行其产品。这意味着在客户应用程序和ODBMS之间没有任何屏蔽。此外,与关系DBMS相比,ODBMS 的市场突破还极小。最后,对象/关系和SQL数据类型扩展器正在RDBMS语言政治协商环境内满足某些对象要求。

支持ODBMS的人们觉得,除了仅仅扩展关系模型之外,还有更多的方法。事实上,他们已经拒绝了SQL3,理由是不足(正在达成休战协定)。ODBMS顽固分子认为他们正在为一个新创世界创造更好的管道系统,在这个世界里信息系统完全建产在对象基础

之上。在一个由ORB、对象服务、面向对象的程序设计语言和Object Web组成的管道里,关系数据库成了阻碍。所需要的正是一个纯粹的ODBMS。为什么要坚持用BLOB、存储过程和用户定义类型来扩展一个像SQL这样的旧基础呢?他们宁愿自始至终坚持用对象技术,有时从SQL借来某些东西(比如查询)。他们还在创建一个多用户、坚实的基础、包括锁定、事物处理、恢复和各种工具。

当然我们这里谈论的是David和Goliath。SQL数据库是目前的山中之王,它们拥

有巨额的开发经费,在从MIS商店到客户机/服务器低端市场里有着极好的市场接受度。是不是因为ODBMS能与更好地处理对象,这个山中之王就会被黜?这还有待进一步地

观察。不过,正如Esther Dyson表达的,“利用表格存储对象,就象是将汽车开回家,然后拆成零碎件放进车库里,早晨可以再把汽车装配起来。但是人们不禁要问:这是不是

泊车的最有效的方法呢

对象--关系数据库模型

对象关系数据库模型,一个很有意思的领域。今天了解一下。呵呵。重要的是一种思想,个人认为。

嵌套关系模型---是其中的一种,它的意思是我们的属性可以不是原子的。也就是说这个数据库还不能满足我们的第一范式。它是关系模型的一个扩展,它的域可以为原子的也可以赋值为关系。这样元组在一个属性上的取值可以是关系,于是这样关系可以存在于关系中。这样一个复杂的对象就可以用嵌套关系的一个元组来表示。下面来一个例子说明一下嵌套关系的存在的可能性。

假设每一本书存储下面这些信息:书名,作者,出版商,关键字集合。

对于上面的关系,可以存在非元子的有:作者(一本书可能有多个作者,我们通常只是对域元素“作者”的一部分感兴趣),关键字(一本书存储了多个关键字,我们希望能找到在关键字集合中包含某个关键字的所有的书。)。当然我们可以用1NF对它进行表达,但可能会有很大程度上的重复。当然可以通过分解来达到消除这些弊端。主要是其中存在的多值依赖。这时我们可以设计一个无嵌套的复杂的关系视图来免除用户在它们的查询中编写麻烦的连接操作的需要。不过我们可以设计一个复杂的对象作为多值集合的存储对象,这样就可以免除关系数据库的一系列的问题。

复杂类型----嵌套关系只是对基本关系模型的扩展。面向对象数据库模型已经导致了对于诸如对象的继承和引用之类特征的需求。有了复杂的对象系统和面向对象,我们能够直接表达E-R模型的一些概念,如多值属性,实体标识,一般化,特殊化等,而不需要麻烦的转化。

集合体和大对象类型----属性可以是集合,这样可以直接表达多值属性。集合是集合体类型的一个实例,其它的集合体类型还有数组和多重集合。不过数组是SQL:1999中唯一支持的集合体类型,它还不支持如无序集合和多重集合。对于一些大型的数据类型如一张照片等,当要被存在数据库中时,应该使用新的数据类型:CLOB(新字符型数据大对象数据类型),BLOB(二进制数据大对象数据类型)。其中的LOB代表的是“Large object”。大对象一般用于外部的应用,通过SQL对他们进行检索是没有意义的。一般程序是通过定位器定位到大对象,然后对其进行操作。

结构类型----在SQL:1999中可以使用结构申明,如:

create type Publisher as

(name varchar(20),

branch varchar(20)) -------声明了一个类型为Publisher,它包括两个部分,名字和分支机构。

create type Book as

(titile varchar(20),

author-array varchar(20) array[10],

pub-date date,

publisher Publisher,

keyword-set

setof(varchar(20)))------定义了一个结构体,包含有一个标题,作者数组,出版时间,出版商,一个关键字的集合。这儿演示的类型为SQL:1999中的结构类型。

create table books of Book

复杂类型的值的创建----可以通过构造器函数来创建结构类型的值。与结构类型同名的函数就是这个结构类型的构造器函数。

继承----继承可以在类型级别上进行,也可以在表级别上进行

第2章 数据库系统的数据模型

第2章数据库系统的数据模型 第二章数据库系统的数据模型 本章主要内容 数据库是个具有一定数据结构的数据集合,这个结构是根据现实世界中事物之间的联系来确定的。在数据库系统中不仅要存储和管理数据本身,还要保存和处理数据之间的联系,这种数据之间联系与就是实体之间的联系。研究如何表示和处理这种联系是数据库系统的一个核心问题,用以表示实体以及实体之间联系的数据库的数据结构称为数据模型。本章将着重介绍一下概念模型、层次模型、网状模型、关系模型、面向对象模型等数据库系统的数据模型的基本概念和设计方法,为后面的数据库设计打下基础。 2.1 数据模型概述 数据模型(Data Model)是对现实世界数据特征的抽象,是用来描述数据的一组概念和定义。 为了把现实世界的具体事物抽象、组织为某一DBMS现实世界支持的数据模型,通常首先把现实世界中的客观对象抽象 认识抽象为概念模型,然后把概念模型转换为某一DBMS支持的数 据模型,这一过程如图2,1所示。概念数据模型:信息世界 数据模型按不同的应用层次可划分为两类: 转换 (1)概念数据模型(又称概念模型) 是一种面向客观世界、面向用户的模型,独立于计算逻辑数据模型:DBMS支持的数据模型机系统的数据模型,完全不涉及信息在计算机中的表示,

只是用来描述某个特定组织所关心的信息结构。概念模型是按用户的观点对数据建模,是用户和数据设计人员之间进行交流的工具,主要是用于数据库设计。例如E,R模型、扩充E,R模型属于这一类模型。 (2)逻辑数据模型(又称数据模型) 是一种直接面向数据库系统的模型,主要用于DBMS的实现。例如层次模型、网状模型、关系模型均属于这一类模型。这类模型有严格的形式化定义,以便于在计算机系统中实现。 2.1.1 数据模型的基本组成 数据模型是现实世界中的事物及其间联系的一种抽象表示,是一种形式化描述数据、数据间联系以及有关语义约束规则的方法。通常一个数据库的数据模型由数据结构、数据操作和数据的约束条件三个部分组成。 (1)数据结构 是指对实体类型和实现间联系的表达实现。它是数据模型最基本的组织部分,规定了数据模型的静态特性。在数据库系统中通常按照数据结构的类型来命名数据模型,例如,采用层次型数据结构、网状型数据结构、关系型数据结构的数据模型分别称为层次模型、网状模型和关系模型。 (2)数据操作 是指对数据库进行的检索和更新(包括插入、删除和修改)两类操作。它规定了数据模型的动态操作。 (3)数据的约束条件 数据的约束条件是一组完整性规则的集合,它定义了给定数据模型中数据及其联系应具 1 有的制约和依赖规则。以确保数据库中数据的正确性、有效性和相容性。

数据库关系模式 练习题

已知关系模式R(city, street, zip)其中city为城市编号,street为街道编号,zip为邮政编码,一个城市的一条街道只有一个邮政编码,一个邮政编码只属于一个城市。请写出R上成立的所有函数依赖及所有候选键,并说明R最高是第几范式。 现有某个应用,涉及到两个实体集,相关的属性为: 实体集R(A1,A2,A3,A4),其中,A1为码 实体集S(B1,B2,B3),其中B1为码 从实体集R到S存在一对一的联系,联系属性是C1和C2。 1.设计相应的关系数据模型; 2.如果将上述应用的数据库设计为一个关系模式,如下: RS(A1,A2,A3,A4,B1,B2,B3,C1,C2) 这种设计是否合适并说明理由。 3.上述第2题的关系模式RS满足第二范式吗为什么 4.如果将上述应用的数据库设计为两个关系模式,如下: R1 (A1,A2,A3,A4,B1,C1,C2) R2 (B1,B2,B3) 假设存在函数依赖A2→A3,B2→B3 指出关系模式R1、R2最高满足第几范式(在1NF~BCNF之内)。 设基商业集团数据库中有商店、商品、职工三类实体。其中商店的属性有:商店编号、商店名称、地址;商品的属性有:商品号、商品名、规格、单价;职工的属性有:职工号、姓名、性别。 每个商店可销售多种商品,每种商品也可放在多个商店销售。 每个商店聘用多名职工,每名职工只能在一个商店工作。 根据上面叙述,解答以下问题: (1)设计E—R模型,要求标注连通词,可省略属性。 (2)将E—R模型转换成关系模型,标出每一个关系的主码和外码(如果存在)。 (3)写出定义参照完整性的SQL子句,要求满足“当参照表中数据更新时,外码也自动更新”。 关系模式中R(B,C,M,T,A,G),根据语义有如下函数依赖集: F={ B-C, (M,T)-- B,(M,C)-T, (M,A)-àT ,(A,B)- G } 关系模式R的码是( D ) A. (M,T) B. (M,C) C. (M,A) D.(A,B) R的规范化程度最高达到(B ) A. 1NF B. 2NF C. 3NF D. 4NF 描述学生的关系模式r(sno,sd,mn,cno,g),其中sno表示学号,sd表示系名,mn表示系主任姓名,cno

对象关系模型数据库解析

面向对象数据库系统(Object Oriented Data Base System,简称OODBS)是数据库技术与面向对象程序设计方法相结合的产物。 对于OO数据模型和面向对象数据库系统的研究主要体现在:研究以关系数据库和SQL为基础的扩展关系模型;以面向对象的程序设计语言为基础,研究持久的程序设计语言,支持OO模型;建立新的面向对象数据库系统,支持OO数据模型。 面向对象程序设计方法是一种支持模块化设计和软件重用的实际可行的编程方法。它把程序设计的主要活动集中在建立对象和对象之间的联系(或通信)上,从而完成所需要的计算。一个面向对象的程序就是相互联系(或通信)的对象集合。面向对象程序设计的基本思想是封装和可扩展性。 面向对象数据库系统支持面向对象数据模型(以下简称OO模型)。即面向对象数据库系统是一个持久的、可共享的对象库的存储和管理者;而一个对象库是由一个OO模型所定义的对象的集合体。 一个OO模型是用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。一系列面向对象核心概念构成了OO模型的基础。概括起来,OO模型的核心概念有如下一些: (1)对象(Object)与对象标识OID(Object IDentifier) 现实世界的任一实体都被统一地模型化为一个对象,每个对象有一个唯一的标识,称为对象标识(OID)。 (2)封装(Encapsulation) 每一个对象是其状态与行为的封装,其中状态是该对象一系列属性(Attribute)值的集合,而行为是在对象状态上操作的集合,操作也称为方法(Method)。 (3)类(C1ass) 共享同样属性和方法集的所有对象构成了一个对象类(简称类),一个对象是某一类的一个实例(instance)。 (4)类层次(结构) 在一个面向对象数据库模式中,可以定义一个类(如C1)的子类(如C2),类Cl 称为类C2的超类(或父类)。子类(如C2)还可以再定义子类(如C3)。这样,面向对象数据库模式的一组类形成一个有限的层次结构,称为类层次。 (5)消息(Message) 由于对象是封装的,对象与外部的通信一般只能通过显式的消息传递,即消息从外部传送给对象,存取和调用对象中的属性和方法,在内部执行所要求的操作,操作的结果仍以消息的形式返回。 OODB语言用于描述面向对象数据库模式,说明并操纵类定义与对象实例。OODB语言主要包括对象定义语言(ODL)和对象操纵语言(OML),对象操纵语言中一个重要子集是对象查询语言(OQL)。OODB语言一般应具备下述功能: (1)类的定义与操纵 面向对象数据库语言可以操纵类,包括定义、生成、存取、修改与撤销类。其中类的定义包括定义类的属性、操作特征、继承性与约束等。 (2)操作/方法的定义 面向对象数据库语言可用于对象操作/方法的定义与实现。在操作实现中,语言的命令

翻译 大型共享数据库的数据关系模型(精选.)

大型共享数据库的数据关系模型 E.F.Codd IBM Research Laboratory,SanJose,California 未来的数据库使用者一定是和数据在机器中的存储(即数据库的内部模式)相隔离的。而通过提示服务来提供信息是一个不太令人满意的解决方法。当数据的内部模式表示发生改变,甚至数据内部表示的多个方面发生改变时,终端用户和大多数应用程序的活动都不会受到影响。因此,查询、更新和报告存储信息类型的自然增长和变动都需要在数据表示中表现出来。 现存的不可推断的、格式化的数据系统给用户提供了树结构的文件或者更一般的网格模式的数据。本文在第一部分讨论这些模式的不足之处。并且会介绍一种基于n元组关系的模式,一种数据库关系的正式形式和通用数据子句的概念。第二部分将讨论一些关系的操作(不是逻辑层面的),并且把这些操作应用于用户模式上解决冗余和一致性问题。 1关系模式和一般模式 1.1简介 这篇文章是关于系统的基本关系原理的应用,这个原理提供了共享大型格式化数据库的方法。除了Childs[1]的文章有介绍外,用于数据库系统的关系的主要应用 还表现在演绎推理型的问-答系统中。Levein和Maron[2]提供了大量关于这个领域的参考资料。 相比之下,这里要解决的问题是一些数据独立性的问题——应用程序和终端活动之于数据类型增长和数据表示变动的独立性,而数据一致性问题即使在非演绎推 理型系统中也是很棘手的。 在目前流行的非推论性系统中,第一部分要介绍的数据的关系视图(或叫做模式)在一些方面似乎优于图模式和网格模式[3,4]。这种模式提供了一种根据数据的自然结构来描述描述数据的方式——也就是说,不用为了数据的机器表示而添加其 他的将结构。因此,这种模式为高水准的数据语言提供了基础,而这种数据语言机 制一方面可以达到最大化程序之间的独立性,另一方面也可以最大化数据的机器表 示和组织之间的独立性。 关系模式更高一级的优势在于它构成了关系处理可导性、冗余性和一致性的坚固基础——这些将在第二部分讨论。另一方面,网络模型产生了一些混淆,尤其是 把连接的源误作为关系的源(见第二部分“连接陷阱”) 最后,关系视图允许对目前格式化数据系统的范围和逻辑限制的更清晰的估算,并且有在单独的系统内竞争数据表示方式的优点(从逻辑的观点)。更清楚的这个观点的示例会在本文中的不同部分中被阐释。但是支持关系模式的系统实现不会讨论。 1.2目前系统的数据相关性 最近发展的信息系统中数据描述表的提供是向数据独立性目标[5,6,7]靠近的重要提高。这些表可以使改变数据库中数据表示的某些特征变得更容易些。但是,许 多数据表示特征可以在不逻辑地削弱一些应用程序的情况下被改变的功能仍受到相 当的限制。更进一步,与用户交互的数据模式仍然有一些散乱的代表性特征,特别

数据库系统原理课后答案 第九章

9.1 名词解释 (1)OODBS:是指面向对象数据库系统,它既具数据库管理的基本功能,又能支持面向对象的数据模型。 (2)ORDBS:基于对象关系数据模型的DBS称为对象关系数据库系统(ORDBS)。 (3)平面关系模型:传统的关系模型称为“平面关系模型”,它要求关系模式具有第一范式(1NF)性质,关系具有规范化的结构。也就是规定属性值是不可分解的,即不允许属性值具有复合结构(元组或关系)。 (4)嵌套关系模型:是从平面关系模型发展而成的。它允许关系的属性值又可以是一个关系,而且可以出现多次嵌套。嵌套关系突破了1NF的定义框架,是“非1NF关系”。 (5)复合对象模型:在嵌套关系模型上进一步放宽要求。在关系定义上,集合与元组不再有交替出现的严格限制,此时的关系中,属性类型可以是基本数据类型、结构类型(元组类型)或集体类型(即关系类型)。 (6)数据的泛化/细化:是对概念之间联系进行抽象的一种方法。当在较低层上的抽象表达了 与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的"泛化",而较低层上抽象是较高层上抽象的"细化"。 (7)对象关系模型:在传统关系数据基础上,提供元组、数组、集合等更为丰富的数据类型及处理新数据类型操作的能力而形成的数据模型。(注:传统关系模型只支持字符、数值、字串,布尔值等等基本数据类型及其处理功能) (8)类型级继承性:当继承性发生在类型级时,子类型继承了超类型的属性。也就是说,超类型所具有的属性,在子类上也具有。 (9)表级继承性:继承性也可发生在表级,(就是元组集合上发生继承),子表继承超表全部属性,超表中每个元组最多可以与子表中一个元组对应,而子表中的每个元组在超表中恰有一个元组对应,并在继承的属性值上具有相同的值。 (10)引用类型:数据类型可以嵌套定义,在嵌套引用时,不是引用对象本身,而是个用对象标识符(即指针),这种指针被称为引用类型。 (11)对象:客观世界中的实体经过抽象称为问题空间中的对象,它是对一组信息及其操作的描述。 (12)类:是具有相同的变量名和类型、相同的消息和使用方法的对象的集合。 (13)单重继承性:一个子类继承某一个超类的结构和特性,称为单重继承性。 (14)多重继承性:一个子类继承多个超类的结构和特性,称为多重继承性。 (15)对象标识:在面向对象语言中,对象标识是一个指针一级的概念,在对象创建的瞬间,由系统赋给每个对象一个“标识”,即系统内的一个唯一的指针,在对象生存期内,这个标识不可改变。 (16)对象包含:不同类的对象之间存在的包含关系称为对象包含。包含是一种“一部分”(is part of)的联系。 (17)类继承层次图:表示类继承关系的图,由超类名、子类名和一组线条自上而下有序的表示。(18)类包含层次图:表示对象包含关系的图,由一些具有包含关系的对象和线条自上而下表示(下方的对象为其连线所指上方对象的一部分)。 (19)持久数据:是指创建这些数据的程序运行终止后数据依然存在于系统之中。数据库中的关系就是持久数据。 (20)持久对象:程序运行结束后,被保留下来的对象称为持久对象。 (21)持久指针:持久指针可看作是数据库中指向对象的指针。持久化指针不像内存中的指针,它在程序执行后及数据重组后仍保持有效。 (22)持久化C++系统: 基于C++的持久化扩充的OODBS。

数据库概论第章习题参考答案

第1章绪论习题参考答案 1、试述数据、数据库、数据库管理系统、数据库系统的概念。(参见P3、4、5页) 参考答案: 描述事物的符号记录称为数据;数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库管理系统是位于用户与操作系统之间的一层数据管理软件; 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。 2.使用数据库系统有什么好处?(参见P12页) 参考答案: 数据库系统使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的阶段,这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。 3.试述文件系统与数据库系统的区别和联系。(8、9、10页) 参考答案: 1)数据结构化是数据库与文件系统的根本区别。 在文件系统中,相互独立的文件的记录内部是有结构的,管其记录内部已有了某些结构,但记录之间没有联系。数据库系统实现整体数据的结构化,是数据库的主要特征之一。 2)在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。而在数据库系统中,存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项一个记录或或一组记录。 3)文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。而在数据库系统中数据不再针对某一应用,而是面向全组织,具有整体的结构化。 5.试述数据库系统的特点。(9、10、11页) 参考答案: 数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由DBMS统一管理和控制。 6.数据库管理系统的主要功能有哪些? (4页) 参考答案:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。7.试述数据模型的概念(13页)、数据模型的作用、数据模型的三个要素。(14、15页) 参考答案:

面向对象数据模型

第三节面向对象数据模型 1、传统数据模型存在的主要问题 已于前述,目前非空间数据最主要的数据模型是层次模型、网状模型和关系模型。这里,我们分别介绍它们用于GIS地理数据库的局限性 (1)层次模型用于GIS地理数据库的局限性 层次模型反映了地理世界中实体之间的层次关系,在描述地理世界中自然的层次结构关系时简单、直观,易于理解,并在一定程度上支持数据的重构。它用于GIS地理数据库存在的主要问题是: 1)、很难描述复杂的地理实体之间的联系,描述多对多的关系时导致物理存储上的冗余; 2)、对任何对象的查询都必须从层次结构的根结点开始,低层次对象的查询效率很低,很难进行反向查询; 3)、数据独立性较差,数据更新涉及许多指针,插入和删除操作比较复杂,父结点的删除意味着其下层所有子结点均被删除; 4)、层次命令具有过程式性质,要求用户了解数据的物理结构,并在数据操纵命令中显式地给出数据的存取路径; 5)、基本不具备演绎功能和操作代数基础。 (2)网状模型用于GIS地理数据库的局限性 网状模型是层次模型的一般形式,反映了地理世界中常见的多对多关系,在一定程度上支持数据的重构,具有一定的数据独立和数据共享特性,且运行效率较高。用于GIS地理数据库的主要问题如下: 1)、由于网状结构的复杂性,增加了用户查询的定位困难,要求用户熟悉数据的逻辑结构,知道自己所处的位置; 2)、网状数据操作命令具有过程式性质,存在与层次模型相同的问题; 3)、不直接支持对于层次结构的表达; 4)、基本不具备演绎功能和操作代数基础。 (3)关系模型用于GIS地理数据库的局限性

关系模型表示各种地理实体及其间的关系,方式简单、灵活,支持数据重构;具有严格的数学基础,并与一阶逻辑理论密切相关,具有一定的演绎功能;关系操作和关系演算具有非过程式特点。尽管如此,关系模型用于GIS地理数据库也还存在一些不足。主要问题是: 1)、无法用递归和嵌套的方式来描述复杂关系的层次和网状结构,模拟和操作复杂地理对象的能力较弱; 2)、用关系模型描述本身具有复杂结构和涵义的地理对象时,需对地理实体进行不自然的分解,导致存储模式、查询途径及操作等方面均显得语义不甚合理; 3)、由于概念模式和存储模式的相互独立性,及实现关系之间的联系需要执行系统开销较大的联接操作,运行效率不够高。 不难看出,关系模型的根本问题是不能有效地管理复杂地理对象。 2、面向对象的概念 面向对象的基本概念是在本世纪70年代萌发出来的,它的基本做法是把系统工程中的某个模块和构件视为问题空间的一个或一类对象。到了80年代,面向对象的方法得到很快发展,在系统工程、计算机、人工智能等领域获得了广泛应用。但是,在更高级的层次上和更广泛的领域内对面向对象的方法进行研究还是90年代的事。 (1)基本思想和基本概念 面向对象的基本思想是通过对问题领域进行自然的分割,用更接近人类通常思维的方式建立问题领域的模型,并进行结构模拟和行为模拟,从而使设计出的软件能尽可能地直接表现出问题的求解过程。因此,面向对象的方法就是以接近人类通常思维方式的思想,将客观世界的一切实体模型化为对象。每一种对象都有各自的内部状态和运动规律,不同对象之间的相互联系和相互作用就构成了各种不同的系统。 在面向对象的方法中,对象、类、方法和消息是基本的概念。 对象——含有数据和操作方法的独立模块,可以认为是数据和行为的统一体。如一个城市、一棵树均可作为地理对象。对于一个对象,应具有如下特征: ·具有一个唯一的标识,以表明其存在的独立性; ·具有一组描述特征的属性,以表明其在某一时刻的状态; ·具有一组表示行为的操作方法,用以改变对象的状态。

数据库系统与数据模型简介

数据库系统与数据模型简介 胡经国 本文作者的话 本文是根据有关文献和资料编写的《漫话云计算》系列文稿之一。以此作为云计算学习笔录,供云计算业外读者进一步学习和研究参考。希望能够得到大家的指教和喜欢! 下面是正文 一、数据库系统及其组成 1、数据库系统的概念 数据库系统(Database System)是用于组织和存取大量数据的管理系统,方便多用户使用计算机软硬件资源组成的系统。它与文件系统的重要区别是数据的充分共享、交叉访问以及应用(程序)的高度独立性。 2、数据库系统的组成 数据库系统由计算机系统、数据库、数据库管理系统、应用程序和用户组成。 ⑴、计算机系统 计算机系统是指用于数据库管理的计算机硬件资源和基本软件资源。其中,硬件资源包括CPU、大容量内存(用于存放操作系统、数据库、数据库管理系统、应用程序等)、直接存取的外部存储设备(硬盘);软件资源包括操作系统、应用程序。 ⑵、数据库 什么是数据库?数据库是提供数据的基地。它能保存数据,并让用户从它那里访问有用的数据。数据库是数据处理的新技术,也是一项先进的软件工程。 数据库中的业务数据,是以一定的组织方式存储在一起的、相互有关的数据整体。数据库中保存的数据是相关数据,是一种相对稳定的中间数据。为了便于管理和处理这些数据,将这些数据存入数据库时,必须具有一定的数据结构和文件组织形式(顺序文件、索引文件)。 “相关数据”、“一定的组织形式”和“共享”是关系型数据库的三个基本要素。 ⑶、数据库管理系统

数据库管理系统(Database Management System,DBMS)包括面向用户的接口功能和面向系统的维护功能两大方面。前者为用户存取数据提供必要的手段,包括处理能力。后者为数据库管理者提供数据库的维护工具,具体包括数据库定义、数据装入、数据库操作、控制、监督、维护、恢复、通信等。 数据库管理系统通常由以下三部分组成:数据库描述语言(DLL)、数据库操作(DML)或查询程序、数据库管理例行程序。 总之,信息的集合是数据库,而数据库管理系统的软件则可用于完成信息的存储和检索。 ⑷、应用程序和用户 数据库管理员(DBA)是系统工作人员,负责对整个数据库系统进行维护。 应用程序员是后台专业用户,对数据库进行检索、插入、删除或更新。 非程序员是终端用户,通过联机终端设备,由基本命令组成的询问语言对数据库进行检索、插入、删除或更新等操作。例如,话务员、管理员、质检员。 二、数据模型 1、数据模型基本概念 数据模型是数据库系统的核心,是对客观事物及其联系的数据的描述,即实体模型的数据化。数据模型是表示实体与实体之间联系的模型。 2、数据模型类型 当前,流行的数据模型有:关系、层次、网状三种数据模型。 ⑴、关系数据模型 关系数据模型是新的DBMS,将数据简单地表示为一个或多个表格的内容。它是由表格形式体现的,这种“表”在数学上称为关系。表中的每一行称为记录,每个记录由若干字段组成:一个记录描述一个事物,它的各个字段是该事物各种性质的描述。在关系数据库中,这些字段称为属性。 ⑵、层次数据模型 层次数据模型,也称为树状模型,是一个以记录类型为结点的有根的定向树。 层次数据模型的特点为:有而且仅有一个实体,向上不与任何实体联系,称为根;有若干实体,向下不与任何实体联系,称为叶;其余的实体,向下可以与任何实体联系,但向上只与唯一的一个实体联系(一对多联系),称为中间节点。根节点在最高层,即第一层。同一层上的节点之间没有联系。具有这些特点的数据结构,称为层次结构。例如大学行政组织结构。典型例子是IBM的IMS。

数据库系统 包括题目和答案

数据库系统原理复习题 第1章 一、选择题 1.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A )。 A. DBS包括DB和DBMS B. DBMS包括DB和DBS C. DB包括DBS和DBMS D. DBS就是DB,也就是DBMS 2.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是(D )。 A.层次模型 B. 关系模型 C. 网状模型 D. 实体-联系模型 3.目前,数据库管理系统最常用的逻辑数据模型是(C)。 A.网状模型B.层次模型 C.关系模型D.面向对象模型 4.下列四项中,不属于数据库系统特点的是(C)。 A.数据共享 B. 数据完整性 C. 数据冗余度高 D. 数据独立性高 5.数据模型的三个要素分别是(B )。 A.实体完整性、参照完整性、用户自定义完整性 B.数据结构、数据操作、数据完整性约束条件 C.插入数据、修改数据、删除数据 D.外模式、模式、内模式 6.数据库三级结构从内到外的3个层次依次为(B)。 A.外模式、模式、内模式 B. 内模式、模式、外模式 C. 模式、外模式、内模式 D. 内模式、外模式、模式 7.下列关于数据库系统的正确叙述是(A): A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型的一致 D.数据库系统比文件系统能管理更多的数据 8.数据的逻辑独立性是指(B)。 A.外模式改变时保持应用程序不变B.模式改变时保持外模式不变 C.内模式改变时保持模式不变D.数据改变时保持应用程序不变

9.数据的物理独立性是指(C)。 A.外模式改变时保持应用程序不变B.模式改变时保持外模式不变 C.内模式改变时保持模式不变D.数据改变时保持应用程序不变 10.公司有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职 员,从部门到职员的联系类型是(D)。 A.多对多 B. 一对一 C. 多对一 D. 一对多 11.储蓄所有多个储户,储户在多个储蓄所之间存款,储户与储蓄所之间是(C)。 A.一对一联系 B. 一对多联系 C. 多对多联系 D. 不确定联系 12.描述数据库全体数据的全局逻辑结构和特性的是(A)。 A.模式 B. 内模式 C. 外模式 D. 以上三级模式 二、填空 1. 数据库系统一般由(数据库)、(数据库管理系统)、(应用程序)和(数据库管理员) 组成。 2. 数据库是长期存储在计算机中、有(组织)的、可(共享)的数据集合。 3. DBMS表示(DataBase Management System),它是位于(用户)和(操作系统)之 间的一层数据管理软件。 4. 实体之间的联系可抽象为三类,它们是(一对一)、(一对多)和(多对多)。 5. 数据模型的三要素包括(数据结构)、(数据操作)和(数据完整性约束条件)三部 分。 6. 根据数据模型的应用目的不同,数据模型分为(概念模型)、(逻辑模型)和(物理 模型)等。 7. 按照数据结构的类型命名,逻辑模型分为(关系模型)、(层次模型)和(网状模型) 等。 8. E-R图中,(矩形)表示实体,(椭圆)表示属性,(菱形)表示实体之间的联系。 三、简述题 1. 数据库是长期存贮在计算机内的、有组织的、可共享的大量数据的集合。 2. 数据库管理系统的主要功能包括: (1)数据定义功能, (2)数据的组织、存储和管理,

数据模型与数据库系统结构

数据模型与数据库系统结构 1.数据 为了了解世界,研究世界和交流信息,我们需要描述各种事物,用自然语言来描述虽然很直接,但是过于烦琐,不便于形式化,更不利于计算机去表达,为此,我们常常只抽取那些感兴趣的事物特征或属性来描述它。 例如:XX今天下课回到寝室,跟室友说,啊,兄弟们,我单身了!!~~~~准备请大家吃顿饭庆祝一下~~~~ 大家好奇的问 他叫小雪,21岁,是医护系的,护理专业和我是老乡,遵义人。 我们可以从胡锋的描述中获取到以下一条记录,小雪今年21岁遵义人是医护系护理专业的学生,那这种描述事物的符号记录我们称为数据。 数据有一定的格式,例如姓名在中国而言一般是4个汉字的字符(某些少数民族),性别呢是一个汉字字符,等等,那这些我们称为数据的语法,而数据的含义是数据的语义。我们通过解释、推论,归纳,分析和综合等等方法,从数据中获得有意义的内容称为信息。因此,数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息。 一般来说,数据库中的数据具有以下两个特征 1)数据的静态特征 包括数据的基本结构,数据间的联系和对数据取值范围的约束 学生管理的例子

在学生基本信息中包括:学号,姓名,性别,出生日期,专业,家庭地址。 这些都是学生所具有的基本特征,是学生数据的基本结构。 学生选课信息中包括:学号,课程号,考试成绩等信息,其中选课信息和学生基本信息中的学号是有一定关联的,即选课信息中的学号所能选取的值必须在学生基本信息中的学号取值范围之内,只有这样,学生选课信息中所描述的学生选课情况才是有意义的。 说白一点,也就是这个学生要存在,他才会有选课信息。这个就是数据之间的联系。 最后,我们再来看看什么是数据取值范围的约束 例如,人的性别一项取值只能是男或女,课程的学分一般是大于0的整数值,而我们的考试成绩一般在0~100分范围内等,这些都是对某个列的数据取值范围进行的限制,目的是在数据库中存储正确的,有意义的数据,这就是对数据取值范围的约束 2)数据的动态特征 数据的动态特征是指对数据可以进行的操作以及操作规则。 对数据库数据的操作主要是有查询数据和更改数据,更改数据一般又包括对数据的插入,删除和修改 通常我们将数据的静态特征和动态特征的描述称为数据模型三要素。即描述数据时要包括数据的基本结构,数据的约束条件和定义在数据

2015数据库复习题答案

(说明:仅仅代表个人观点,答案正确率为98%,可能会有错的地方,有问题请问度娘) 复习参考资料 选择题:30分(15题) 名词解释:20分(4题) 综合题:50分 一、选择题: 1. 数据库系统是采用了数据库技术的计算机系统,数据库系统由数据库、数据库管理系统、应用系统和(C)。 A. 系统分析员 B. 程序员 C. 数据库管理员 D. 操作员 2. 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。 A. DBS包括DB和DBMS B. DBMS包括DB和DBS C. DB包括DBS和DBMS D. DBS就是DB,也就是DBMS 3. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D)。I.人工管理阶段II.文件系统阶段III.数据库阶段 A. I 和II B. 只有II C. II 和III D. 只有I 4. 下列四项中,不属于数据库系统特点的是(C )。 A. 数据共享 B. 数据完整性 C. 数据冗余度高 D. 数据独立性高 5. 数据库系统的数据独立性体现在(B)。 A. 不会因为数据的变化而影响到应用程序 B. 不会因为数据存储结构与数据逻辑结构的变化而影响应用程序

C. 不会因为存储策略的变化而影响存储结构 D. 不会因为某些存储结构的变化而影响其他的存储结构 6. 描述数据库全体数据的全局逻辑结构和特性的是(A )。 A. 模式 B. 内模式 C. 外模式 D. 以上三种 7. 要保证数据库的数据独立性,需要修改的是(C)。 A. 模式与外模式 B. 模式与内模式 C. 三级模式之间的两层映射 D. 三层模式 8. 要保证数据库的逻辑数据独立性,需要修改的是(A)。 A. 模式与外模式之间的映射 B. 模式与内模式之间的映射 C. 模式 D. 三级模式 9. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C)模式。 A. 模式 B. 物理模式 C. 子模式 D. 内模式 10. 下述(D)不是DBA数据库管理员的职责。 A. 完整性约束说明 B. 定义数据库模式 C. 数据库安全 D. 数据库管理系统设计 11. 概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是(D )。 A. 层次模型 B. 关系模型 C. 网状模型 D. 实体-关系模型 12. 区分不同实体的依据是(B )。 A. 名称 B. 属性 C. 对象 D. 概念 13. 关系数据模型是目前最重要的一种数据模型,它的三个要素分别是(B )。 A. 实体完整性、参照完整性、用户自定义完整性 B. 数据结构、关系操作、完整性约束 C. 数据增加、数据修改、数据查询 D. 外模式、模式、内模式 14. 在(A )中一个结点可以有多个双亲,结点之间可以有多种联系。 A. 网状模型

第二章--关系数据库习题

第二章关系数据库 一、选择题: 1、对于关系模型叙述错误的是。 A.建立在严格的数学理论、集合论和谓词演算公式基础之一 B.微机DBMS绝大部分采取关系数据模型 C.用二维表表示关系模型是其一大特点 D.不具有连接操作的DBMS也可以是关系数据库管理系统 2、关系模式的任何属性。 A.不可再分B.可再分 C.命名在该关系模式中可以不唯一D.以上都不是 3、在通常情况下,下面的表达中不可以作为关系数据库的关系的是。 A.R1(学号,姓名,性别) B.R2(学号,姓名,班级号) C.R3(学号,姓名,宿舍号) D.R4(学号,姓名,简历) 4、关系数据库中的码是指。 A.能唯一关系的字段B.不能改动的专用保留字 C.关键的很重要的字段D.能惟一表示元组的属性或属性集合 5、根据关系模式的完整性规则,一个关系中的“主码”。 A.不能有两个B.不能成为另外一个关系的外码 C.不允许为空D.可以取值 6、关系数据库中能唯一识别元组的那个属性称为。 A.唯一性的属性B.不能改动的保留字段 C.关系元组的唯一性D.关键字段 7、在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主码是R#,S的主码是S#,则S#在R中称为。A.外码B.候选码 C.主码D.超码 8、关系模型中,一个码是。 A.可由多个任意属性组成 B.至多由一个属性组成 C.可由一个或多个其值能唯一标识该关系模式中任意元组的属性组成 D.以上都不是 9、一个关系数据库文件中的各条记录。 A.前后顺序不能任意颠倒,一定要按照输入的顺序排列 B.前后顺序可以任意颠倒,不影响库中的数据关系 C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果可能不同 D.前后顺序不能任意颠倒,一定要按照码段的顺序排列 10、关系数据库管理系统应能实现的专门关系运算包括。 A.排序、索引、统计B.选择、投影、连接 C.关联、更新、排序D.显示、打印、制表 11、同一个关系模型的任意两个元组值。 A.不能全同B.可全同 C.必须全同D.以上都不是 12、自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的。 A.元组B.行 C.记录D.属性 13、设关系R(A,B,C)和S(B,C,D),下列各关系代数表达式不成立的是。 A. ) ( ) (S R D A π π>< B.R S ? C. ) ( ) (S R B B π π? D.R>

关系数据库理论练习题

一、选择题 1.为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是()。 A.关系规范化理论 B.关系代数理论 C.数理逻辑 D.关系运算理论 2.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是()。 A.长度不变的 B.不可分解的 C.互相关联的 D.互不相关的 3.已知关系模式R(A,B,C,D,E)及其上的函数相关性集合F={A→D,B→C,E→A},该关系模式的候选关键字是()。 A.A B B.B E C.C D D.D E 4.设学生关系S(S N O,S N A M E,S S E X,S A G E,S D P A R T)的主键为S N O,学生选课关系S C(S N O,C N O,S C O R E)的主键为S N O和C N O, 则关系R(S N O,C N O,S S E X,S A G E,S D P A R T,S C O R E)的主键为S N O和C N O,其满足()。 A.1N F B.2N F C.3N F D.B C N F 5.设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D={C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R},关系模式W的一个关键字是()。 A.(S,C) B.(T,R) C.(T,P) D.(T,S) 6.关系模式中,满足2N F的模式()。 A.可能是1N F B.必定是1N F C.必定是3N F D.必定是B C N F 7.关系模式R中的属性全是主属性,则R的最高范式必定是()。 A.1N F B.2N F C.3N F D.B C N F 8.消除了部分函数依赖的1N F的关系模式,必定是()。 A.1N F B.2N F C.3N F D.B C N F 9.如果A->B,那么属性A和属性B的联系是()。 A.一对多 B.多对一 C.多对多 D.以上都不是 10.关系模式的候选关键字可以有1个或多个,而主关键字有()。 A.多个 B.0个 C.1个 D.1个或多个 11.候选关键字的属性可以有()。 A.多个 B.0个 C.1个 D.1个或多个 12.关系模式的任何属性()。 A.不可再分 B.可以再分 C.命名在关系模式上可以不唯一 D.以上都不是 13.设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D={C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R},若将关系模式W分解为三个关系模式W1(C,P),W2(S,C,G),W2(S,T,R,C),则W1的规范化程序最高达到()。 A.1N F B.2N F C.3N F D.B C N F 14.在关系数据库中,任何二元关系模式的最高范式必定是()。 A.1N F B.2N F C.3N F D.B C N F 15.在关系规范式中,分解关系的基本原则是()。 I.实现无损连接 I I.分解后的关系相互独立 I I I.保持原有的依赖关系 A.Ⅰ和Ⅱ B.Ⅰ和Ⅲ C.Ⅰ D.Ⅱ 16.不能使一个关系从第一范式转化为第二范式的条件是()。 A.每一个非属性都完全函数依赖主属性

自考数据库系统原理 第九章 数据库技术的发展 课后习题答案

自考数据库系统原理第九章数据库技术的发展课后习题答案 2009-09-15 10:51 9.1 名词解释 (1)OODBS:是指面向对象数据库系统,它既具数据库管理的基本功能,又能支持面向对象的数据模型。 (2)ORDBS:基于对象关系数据模型的DBS称为对象关系数据库系统(ORDBS)。 (3)平面关系模型:传统的关系模型称为“平面关系模型”,它要求关系模式具有第一范式(1NF)性质,关系具有规范化的结构。也就是规定属性值是不可分解的,即不允许属性值具有复合结构(元组或关系)。 (4)嵌套关系模型:是从平面关系模型发展而成的。它允许关系的属性值又可以是一个关系,而且可以出现多次嵌套。嵌套关系突破了1NF的定义框架,是“非1NF关系”。 (5)复合对象模型:在嵌套关系模型上进一步放宽要求。在关系定义上,集合与元组不再有交替出现的严格限制,此时的关系中,属性类型可以是基本数据类型、结构类型(元组类型)或集体类型(即关系类型)。 (6)数据的泛化/细化:是对概念之间联系进行抽象的一种方法。当在较低层上的抽象表达了与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的"泛化",而较低层上抽象是较高层上抽象的"细化"。 (7)对象关系模型:在传统关系数据基础上,提供元组、数组、集合等更为丰富的数据类型及处理新数据类型操作的能力而形成的数据模型。(注:传统关系模型只支持字符、数值、字串,布尔值等等基本数据类型及其处理功能) (8)类型级继承性:当继承性发生在类型级时,子类型继承了超类型的属性。也就是说,超类型所具有的属性,在子类上也具有。 (9)表级继承性:继承性也可发生在表级,(就是元组集合上发生继承),子表继承超表全部属性,超表中每个元组最多可以与子表中一个元组对应,而子表中的每个元组在超表中恰有一个元组对应,并在继承的属性值上具有相同的值。 (10)引用类型:数据类型可以嵌套定义,在嵌套引用时,不是引用对象本身,而是个用对象标识符(即指针),这种指针被称为引用类型。 (11)对象:客观世界中的实体经过抽象称为问题空间中的对象,它是对一组信息及其操作的描述。 (12)类:是具有相同的变量名和类型、相同的消息和使用方法的对象的集合。 (13)单重继承性:一个子类继承某一个超类的结构和特性,称为单重继承性。 (14)多重继承性:一个子类继承多个超类的结构和特性,称为多重继承性。 (15)对象标识:在面向对象语言中,对象标识是一个指针一级的概念,在对象创建的瞬间,由系统赋给每个对象一个“标识”,即系统内的一个唯一的指针,在对象生存期内,这个标识不可改变。 (16)对象包含:不同类的对象之间存在的包含关系称为对象包含。包含是一种“一部分”(is part of)的联系。 (17)类继承层次图:表示类继承关系的图,由超类名、子类名和一组线条自上而下有序的表示。(18)类包含层次图:表示对象包含关系的图,由一些具有包含关系的对象和线条自上而下表示(下方的对象为其连线所指上方对象的一部分)。 (19)持久数据:是指创建这些数据的程序运行终止后数据依然存在于系统之中。数据库中的关系就是持久数据。 (20)持久对象:程序运行结束后,被保留下来的对象称为持久对象。 (21)持久指针:持久指针可看作是数据库中指向对象的指针。持久化指针不像内存中的指针,

数据库数据模型的发展及方向

[XXXX大学XXX学院XXX班] 数据库数据模型的 发展及方向 [ ] [学号: ] [摘要:近年来,随着计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助软件工程 (CASE)、全球信息系统(GIS)、图像处理、超文本应用等领域的飞速发展及其在传统领域中应用的深化,要求数据库管理系统(database management system,DBMS)能够有效地管理复杂对象。比如在工程应用领域,一个客观复杂实体往往由数十个,甚至成百上千个简单实体组成,为了减小数据库应用系统的设计复杂度、提高其执行效率,要求DBMS不但能根据实体丰富的语义进行建模、提供有效的存储与操纵手段,以及模拟复杂实体的复杂行为,而且在逻辑上还要将一个复杂实体的表示和操纵作为一个整体看待,在操纵数据的同时考虑实体间的复合语义,即各简单实体的存在方式(独立或依赖)以及实体间的引用方式(共享或排他)。然而,传统RDBMS由于采用满足第一范式(first normal form,1NF)的平关系模型,在面对各种新的应用领域时存在以下不足。]

关键词:数据库,数据模型,扩展关系数据库,语义数据模型,面向对象的数据模型,XML数据模型 正文: 数据模型概述 数据(data)是描述事物的符号记录。模型(Model)是现实世界的抽象。数据模型(Data Model)是数据特征的抽象,是数据库管理的教学形式框架。数据库系统中用以提供信息表示和操作手段的形式构架。数据模型包括数据库数据的结构部分、数据库数据的操作部分和数据库数据的约束条件。 数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。 1. 概念数据模型(Conceptual Model):这是面向数据库用户的实现世界的数据模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的DBMS无关。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。 2. 逻辑数据模型(Logical Data Model):这是用户从数据库看到的数据模型,是具体的DBMS所支持的数据模型,如网状数据模型、层次数据模型等等。此模型既要面向用户,又要面向系统。 3. 物理数据模型(Physical Data Model):这是描述数据在存储介质上的组织结构的数据模型它不但与具体的DBMS有关,而且还和操作系统以及硬件有关。每一种逻辑数据模型在实现时都有其对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作由系统自动完成,而设计者只设计索引、聚集等特殊结构。 数据模型的三要素: 一般而言,数据模型是一组严格定义的概念的集合。这些概念精确地描述了系统的静态特征(数据结构)、动态特征(数据操作)和完整性约束条件,这就是数据模型的三要素。 1. 数据结构 数据结构是所研究的对象类型的集合。这些对象是数据库的组成部分,数据结构指对象和对象间联系的表达和实现,是系统静态特征的描述,包括两个方面:(1)数据本身:类型、内容、性质。例如关系模型中的域、属性、关系等。 (2)数据之间的联系:数据之间是如何相互联系的,例如关系模型中的主码、外码等联系。 2. 数据操作 对数据库中对象的实例允许执行的操作集合,主要指检索和更新(插入、删除、修改)两类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则

相关主题
文本预览