数据库第三章作业

第三章 关系数据库系统RDBS

作业

一. 简答题

1. 表间数据完整性的实现方式? 答:外键约束。

2. 对于表中几个特殊的列,如主键、候选键和外键,分别用什么限制来保证它们的完整性?对

表中其它一般性的列,用什么限制来保证它们的完整性? 答:主键:主键约束。 候选键:唯一约束。 外键:外键约束。

一般性列:检查约束和断言。

3. SQL-92标准支持的完整性限制是否一定会在SQL SERVER中实现,举例说明?

答:不一定。 SQL-92标准推荐断言,SQL Server不支持断言。 SQL Server支持触发器,SQL-92标准没有定义触发器。

4. SQL SERVER中缺省和规则的目的? 答:指定列的取值范围。 5. 外键限制定义的条件?

答:定义外键约束的列必须是另一个表中的主键或候选键。

6. 请说明在维护表间数据完整时外键限制与触发器的3点不同之处。 答:

1.○错误信息的管理上:约束与触发器在遇到问题时都可以返回给用户一定的错误信息。但 是,

触发器可以返回数据库管理员自定义的错误信息,而且还可以实现较为复杂的逻辑控制, 而约束只能够通过标准化的系统错误信息来传递错误消息;

2.性能上的差异分析:从性能上来说,约束的执行性能都要高一点。虽然约束的执行性能 比○

较高,但是其向用户提供的错误信息确实非常有限的。

3.管理维护的工作量:由于约束基本上都是数据库现成的解决方案。无论是索引约束还是 外○

键约束,又或者是check约束。往往在数据库系统中已经有了现成的解决方案。数据库管理员通过直接引用这些解决方案即可以实现特定的功能,而不用再费力的编写触发器来实现。而触发器中系统没有现成的可以引用,而都需要数据库管理员通过实际清理来进行编写 7. 关系代数的基本操作符?笛卡尔乘积最大的好处是什么?最大的缺点又是什么?

1基本操作符:SELECTION (选择)、PROJECTION(投影)、UNION(并,或称联答:○

合)、INTERSECTION(交)、DIFFERENCE(差)、CROSS PRODUCT(积,或称笛卡尔乘积)。

2最大的作用:可将两张或多张有关联(即有相同的列)或无关联的表的数据组合起来。 ○

3最大缺点:组合后可能有许多无意义的数据组合。 ○

8. 为什么说在实际查询中自然连接是用得比较多的? 答:当两个关系通过外键联系时,自然联结将用得非常频繁。 9. 关系代数中对结果有重复元组时,如何处理?SQL中呢?

1关系代数中:去掉重复元组。 ○2SQL中:保留重复元组。 答:○

10. 连接的分类?为何有3种外连接?

1条件联结、等联结、自然联结、外联结。 答:○

2因为R|╳|S有三种情况即可能S中没有匹配R的行则为左联结,或R中没有匹配S的行则○

为右联结,若R、S中均无匹配的行,则为全外联结。

二. 单项选择题

1. ( ③ )不是关系代数的基本操作。

①Selection ②Projection ③Join ④Intersection 2. ( ③ )用唯一限制来约束。

①主键 ②外键 ③候选键 ④简单键 3. ( ② )与?列?不同义。

①字段 ②元组 ③成员 ④属性

三. 改错题(将划线部分改正填入各题后的括号中)

1. 关系代数中笛卡尔乘积操作的好处是可进行选择和投影。( 可将两张或多张有关联(即

有相同的列)或无关联的表的数据组合起来 )

2. 外连接是条件连接的特例。( 外连接是自然连接的特列 ) 3. 关系代数是与ER模型有关的查询语言。( 关系模型 )

六. 设有如下图所示三个关系实例X、Y和Z,请分别求出下列各表达式的值。

(1)σA = a1(Y×Z)

(2)Y Z (3)X Y Z

X A B Y B C Z A C a1 b1 b1 c2 a1 c1 a1 b2 b2 c1 a1 c2 a2 b1 b1 c1 a2 c3 a3 b1 b1 c3 a3 c4 答:○1

B (C) A (C) b1 c2 a1 c1

b2 c1 a1 c1 b1 c1 a1 c1 b1 c3 a1 c1 b1 c2 a1 c2 b2 c1 a1 c2 b1 c1 a1 c2 b1 c3 a1 c2 ○2 A B C a1 b2 c1 a1 b1 c1 a1 b1 c2 a2 b1 c3 a3 null c4 ○3 A B C a1 b1 c1 a1 b1 c2 a1 b2 c1 a2 b1 c3

1. 一个电影资料库有四个实体“电影”,“演员”,“导演”,“电影公司”。“电影”的属

性有电影编号,电影名,电影类型,对白语言;“演员”的属性有演员工作证号,姓名,出生年,性别;“导演”的属性有导演工作证号,姓名,出生年,性别;“电影公司”的属性有公司名称,所在国家。

这些实体间的联系及它们的属性有:演员出演电影,为多对多联系,该联系含角色属性;导演执导电影,每部电影只由一个导演执导;演员属于电影公司;导演属于电影公司;电影公司出品电影,有出品年份属性。

1) 请画出ER图,要求标出实体的主键、联系的约束类型和键约束。

2) 将此ER图转换为关系模型,要求标出各关系的主键,如果存在的话还应指明其候选键和外键。

3) 假定“电影公司”为主表,“导演”为从表,请利用触发器方式,定义从表到主表方向的完整性。

4) 请用关系代数表达式和SQL分别表达下列查询

① 查询1957年之前出生的男演员的姓名。

② 查询2000年环球公司出品的电影的名字和导演姓名。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4