数据库系统及应用课后练习答案

3.

证明:略 4. 1)

试证明如下结论(引理):

X→A1A2…An的充分必要条件是X→Ak成立(k=1,2, …,n)。

设有关系模式R(U,F),U={A,B,C,D,E},F={AB→E,DE→B,B→C,C→E,E→A} 计算所有函数依赖左部关于函数依赖集F的属性集闭包;

(AB)+={A,B,C,E} (DE)+={A,B,C,D,E} B+={A,B,C,E} C+={A,C,E} E+={A,E} 2) DE 3)

Fm=F-{AB->E} 5.

假设有一个名为参加的关系,该关系有属性:职工(职工名)、工程(工程名)、时数(花费在工程上的小时

数)和工资(职工的工资);一个参加记录描述一个职工花费在一个工程上的总时数和他的工资;另外,一个职工可以参加多个工程,多个职工可以参加同一个工程。请回答如下各问题:

用A、B、C、D分别代表属性职工、工程、时数和工资,则: 1) AB 2)

AB->C , A->D 3)

指出这个关系上的哪些函数依赖会带来操作异常现象;

D对关键字AB的部分函数依赖可能会带来如下问题: 数据冗余:一个职工参加多个工程,则职工的工资值会重复;

更新异常:当改变职工的工资时,可能会只修改了一部分,从而造成数据不一致;

插入异常:当一个职工尚未承担工程,但要插入职工信息(如工资)则不允许(因为没有完整的关键字);

删除异常:当某个工程结束,删除工程信息时,可能会将职工信息(如工资)一同删除(如果职工只参加了一项工程)。 4) 2NF 5) 6)

结果为4NF 6. 1)

BCNF或4NF 2)

A、B、C、D都函数依赖于AB,而D还函数依赖于C。

一个关系有4个字段A、B、C、D,这里A和B构成复合关键字,问满足下列函数依赖的关系是第几范式 A、B、C、D都函数依赖于AB。 计算该关系上函数依赖集的最小覆盖;

将该关系分解成尽可能高的范式,并指明是第几范式

Fm={AB->C, A->D}

分解为R1(A,B,C)和R2(A,D)

这个关系是第几范式关系 找出这个关系中的所有函数依赖; 确定这个关系的关键字; 求F的所有最小覆盖。

确定关系模式R上的所有侯选关键字;

2NF 3) 1NF 4) 3NF 7.

设有关系模式R(A, B, C, D, E),并有函数依赖{AB→D, AC→E, BC→D,D→A,E→B},现将R分解成关系模式S(A, B, C)

和其他一些关系模式,请给出在关系模式S上成立的函数依赖。

AC→B,BC→A 习题十 1.

试叙述概念数据库设计和逻辑数据库设计的区别,并说明各自的主要工作内容。 A、B、C、D都函数依赖于AB,而B还函数依赖于C。 A、B、C、D都函数依赖于AB,而D还函数依赖于B。

概念数据库设计是不依赖于任何数据库管理系统的,它是对用户信息需求的归纳。概念设计的结果得到的是数据库的概念结构,或称概念数据模型,由于它是从现实世界的角度进行的抽象和描述,所以与具体的硬件环境和软件环境均无关。而在逻辑数据库首先要考虑实现数据库的数据库管理系统所支持的数据模型是什么,并将概念数据模型转换为数据库管理系统支持的数据模型。

一般在概念设计阶段主要工作内容有: 2.

物理数据库设计主要包括哪些内容 估算数据库的数据存储量; 设计数据库设备; 安排数据库的存储; 设计索引; 设计备份策略等。

物理数据库设计的内容是设计数据库的存储结构和物理实现方法。一般包括如下内容:

确定实体; 确定实体的属性;

确定实体的标识属性(关键字); 确定实体间的联系和联系类型;

确定实现实体间联系的属性(外部关键字或连接属性); 画出表示概念模型的E-R图; 确定属性间的依赖关系。

确定各个关系模式的主关键字,考虑实体完整性; 确定各个关系模式的外部关键字,考虑参照完整性;

确定各个关系模式中属性的约束、规则和默认值,考虑域完整性; 根据用户需求设计视图; 考虑安全方案和用户使用权限等。

除此之外,为了以后对模式进行规范化,还需要: 而在逻辑设计阶段一般主要工作内容有:

3. 程。

略 习题十一 1.

到Sybase公司的网站()下载PowerDesigner的试用版,实践利用PowerDesigner进行数据库建模的方法和过

面向对象数据库是在什么背景下产生的为什么需要面向对象数据库

在信息管理领域之外还有很多新的应用领域迫切需要使用数据库,如计算机辅助设计(CAD)、多媒体技术(音频、视频文件的存储和处理)等,这些应用往往需要存储大量的复杂类型的数据,同时面向对象的概念和技术也强烈地引发了数据库对复杂数据类型的支持,从而推动了面向对象数据库的发展。

由于关系数据库不直接支持复杂数据类型,致使一些必须使用复杂数据类型的应用实现起来不是很方便、并且效率较低。另外关系模型也不支持构造类型和继承,这都使得人们希望发展面向对象的数据库。

2.

什么是对象的封装性、继承性和多态性

封装性是指将类的数据和操作封装在类定义中,对用户来讲类的“功能”是可见的,而实现部分是封装在类定义中的,用户是看不见的。这种封闭性保证了每个对象的实现都独立于其他对象的细节,从而有利于保证软件的质量。

继承性是指可以利用已有的类去定义新的类。如果根据类A定义类B,则说类B继承了类A,同时把类A称作基类,把类B称作子类。子类不仅可以继承基类的所有性质,还可以在子类中定义新的性质。继承性使得基类中的代码可以共享和重用,所以继承性有助于软件可重用性的实现。

多态性是指同一个函数可以有多种作用,即:

同一个函数根据不同的引用对象可以完成不同的功能;

同一个函数即便引用同一个对象,但由于传递的参数不同也可以完成不同的功能。

多态性可以为整个应用和所有对象内部提供一个一致的接口,没有必要为相同的动作命名和编写不同的函数,它完全可以根据引用的对象不同、传递的消息不同来完成不同的功能。这样做也与现实世界中管理和运作方法相吻合。

3. 4.

面向对象数据库的研究方法主要有哪些

扩充关系数据模型。将成熟的关系数据库与面向对象数据库方法结合起来,可减少研制工作量、缩短研制周在面向对象语言中嵌入数据库功能而形成面向对象数据库。该方法的关键是如何在面向对象语言中增加持久开发全新的数据模型,从底层实现面向对象数据库系统。这是最彻底的方法,缺点是难度大,一方面缺乏统面向对象数据库应该具备哪些基本特征

在数据模型方面支持对象、复合对象、封装、类、继承、重载、滞后联编、多态性等基本概念。其中复合对数据库管理系统除了具有传统的数据库管理系统所具有的功能(如并发控制、故障和恢复)外,还支持永久数据库访问界面要支持消息传递,提供计算能力完备的数据库程序设计语言,能解决数据库语言与宿主语言

面向对象数据库的研究方法目前主要有以下三种: 期。这种方法的弱点是不能全面支持面向对象的特征。

性对象的存储管理。使用此方法受到面向对象语言的一些限制。

一的数据模式及形式化理论,另一方面在查询优化、视图及数据库工具方面仍为空白。

一个面向对象数据库系统应该具备如下的基本内容和特征:

象的概念包括支持生成复合对象的构造器(元组、集合、包、列表、数组等)。

对象、长事务处理和嵌套事务,具有版本管理和模式演化的能力,能维护数据完整性,适合在分布式环境下工作。 的某些不匹配问题,提供类似SQL的非过程化查询功能。

5. 6. 说明原因。

略 习题十二 1. 2.

SQL99支持ORDBMS、还是OODBMS

比较RDBMS、ORDBMS和OODBMS,然后分别描述一个适合使用RDBMS、ORDBMS和OODBMS的应用,并

SQL99支持的是ORDBMS。

解释ODBC的概念。

ODBC(Open DataBase Connectivity)的全称是开放数据库互连,它是一种访问数据库的统一界面标准。

应用程序是如何通过ODBC访问数据库的

应用程序通过调用ODBC函数可以完成对数据库的访问操作,它所执行的任务或完成的工作包括:请求对数据源的连接,获取连接句柄;指定事务控制方式;定义接收结果的数据区;向数据源发送SQL语句;接收SQL的查询结果;处理出错信息,并将出错信息返回给应用程序;终止对数据源的连接。

3. 的如下语句:

1) 2) 3) 4)

=SQLEXEC(gn) 5) 4. 5. 6. 7. 略 8.

试述基于组件的数据库开发的基本思想。

克服传统C/S结构的明显缺点(缺乏中心控制、缺乏安全性和沉重的客户端负载等),以面向对象技术为基础,将业务处理逻辑和规则按完整的逻辑单元进行封装,即将相关的类封装成组件,并使它们部署在应用服务器上,客户端应用程序不再直接

从sales表中删除stor_id为6380的记录。 PowerBuilder是个什么类型的软件产品 PowerBuilder都可以通过哪些方式访问数据库 试述PowerBuilder中事务对象的概念。

使用PowerBuilder完成节中的例子,初步掌握使用PowerBuilder进行开发的方法。

=SQLEXEC(gn,\ PowerBuilder是一个面向对象的数据库应用系统开发工具。

PowerBuilder都可以通过各种接口访问数据库,如ODBC、JDBC、OLE DB和各种数据库专用接口等。 PowerBuilder的事务对象是PowerScript与数据库的通讯区,只有通过事务对象才能完成对数据库的操作。

连接到pubs数据库;

查询employee表的全部信息;

为publishers表准备一个带参数的查询,可以指定pub_name(出版社名)进行查询; 以前一小题为基础,查询“Five Lakes Publishing”出版社的信息;

gn=SQLCONNECT(\

=SQLEXEC(gn,\

=SQLPREPARE(gn,\ m_p_name=\

设有基于SQL Server的pubs数据源,它对应于pubs数据库,写出利用Visual FoxPro访问或操作SQL Server

联系客服:779662525#qq.com(#替换为@)