数据库第三章作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章关系数据库系统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年环球公司出品的电影的名字和导演姓名。