数据库系统原理参考答案(4)

2019-03-27 19:34

例如:在表StudentCourse中,删除所有选课。 DELETE FROM StudentCourse 3.建立视图

CREATE VIEW <视图> AS SELECT 语句

例如:利用数据库StudentDB,创建包含学号、姓名、课程名、成绩、性别和学院等信息的视图StuGrade。

CREATE VIEW StuGrade AS

SELECT Student.SNo, SName, CName, Grade, SSex, Coll FROM Student, Course, StudentCourse

WHERE Student.Sno=StudentCourse.SNo AND Course.CNo=StudentCourse.CNo

13

第三章 习题参考答案

1、试述关系模型的三个组成部分。

答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。 2、试述关系数据语言的特点和分类。 答:关系数据语言可以分为三类:

⑴ 关系代数语言

⑵ 关系演算语言,包括元组关系演算语言和域关系演算语言 ⑶ 具有关系代数和关系演算双重特点的语言

这些关系数据语言的表达能力在安全限制下是相互等价的,其共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强大且能够嵌入高级语言中使用。 3、定义并理解下列术语,说明它们之间的联系与区别:

⑴ 域,笛卡尔积,关系,元组,属性; 答:

域:域是一组具有相同数据类型的值的集合。

笛卡尔积:给定一组域D1,D2,?,Dn,且它们可以相同。这组域的笛卡尔积定义为:

D1?D2???Dn={(d1,d2,?,dn) | di?Di,i=l,2,?,n},其中的每一个元素(d1,d2,?,dn)叫做一个n元组(n-tuple)或简称元组,元素中每个di叫做第i个分量。 关系:在域D1,D2,?,Dn上笛卡尔积D1?D2???Dn的任意一个子集称为关系,表示为 R(D1,D2, ?,Dn)

元组:关系中的每个元素是称为关系中的一个元组。

属性:关系等价于一张二维表,表的每一行对应一个元组,每一列对应一个域,且将这个域称为关系的一个属性。由于域可以相同,为了区分他们,必须给每列起一个名字,称为属性名。

⑵ 候选键,主码,外码,超码; 答:

候选键:若关系中的某一属性组的值能惟一地标识出一个元组,则称该属性组为候选键。 主码:若一个关系有多个候选键,则选定其中的一个作为主吗。

外码:在某个关系R中可能有这样一组属性A,它不是关系R的主码,但它是另一个关系S的主码,则属性组A称为关系R的外码。

超码:在关系中能唯一标识元组的属性集称为关系的超码。 ⑶ 关系模式,关系,关系数据库,属性,域,关系模型。

关系模式:对一类实体特征的结构性描述,即对关系的静态结构性描述,该描述一般包括关系名、属性名、属性域的类型和长度,属性之间固有的依赖联系等。若U={A1, A2, ?, An }为关系R的属性集,则关系模式常简记为R(U)或R(A1, A2, ?, An)。其中R为关系名,U为组成该关系的属性名集合。

关系模式的完整描述可以形式化地表示为 R(U,D,dom,F)

其中D为属性组U中属性所来自的域,dom为属性向域的映像集合,F为属性间数据依赖的集合。

关系数据库:关系的集合。关系数据库的型称为关系数据库模式,是对关系数据库的结构描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一个时刻对应的关系的集合。

关系模型:关系数据结构、关系操作集合和关系完整性约束统称为关系模型。 关系,属性和域:与⑴同。 4.己知零件供应数据库包括:

供应商S(SNo(供应商代码),SName (供应商名),City(城市))

零件P(PNo(零件代码),PName(零件名称),Color(颜色),Weight(重量)) 零件供应关系SP(SNo,PNo,Qty(供应数量)) 试用关系代数和关系演算完成下列操作: (1)找出能提供零件号为P3的供应商。 关系代数: ΠSno(σPno=’P3’(P))

?SNo(?PNo?'P3'(SP))(2)找出能提供供应商S1所提供的所有零件的供应商 关系代数: ΠJno,Pno(SPJ) ÷ΠPno(σSno=’S1’(SPJ)) ?SNo,PNo(SP)??PNo(?SNo?'S1'(SP))

(3)找出不提供零件P1和P2的供应商。 ?SNo,PNo(SP)??PNo(?SNo?'S 1'(SP))

(4)找出同时提供零件P1和P2的供应商。 ?SNo(?PNo?'P1'(SP))?SNo(?PNo?'P2'(SP))

(5) 找出同供应商S1在同一城市的供应商所提供的所有零件。 ?PNo(?T.SNo(?S.City?T.City?S.SNo?'S1'(S?T))SP) ?PNo(?T.SNo(?S.City?T.City?S.SNo?'S1'(S??T(S))SP) ?PNo((?SNo,City(S)??City(?SNo?'S1'(S)))SP) ?T(S)S重命名为T T是S的备份

(6)找出供应红色的P1零件的供应商,且其供应量大于1000。

?SNo(?Color?'红色'?Qty?1000(PSP))5.试述等值连接与自然连接的区别和联系。

答:连接运算中有两种最为重要也最为常用的连接,一种是等值连接,另一种是自然连接。

2

当连接条件中的算术比较符θ为“=”时的连接运算称为等值连接,记作:

R S=?(R×S) AR.A= S.BR.A=S.B 它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。即等值连接为

自然连接是一种特殊的等值连接,它要求两个关系中进行比较的属性列必须是相同的属性组,并且在结果关系中把重复的属性列去掉。即若R和S具有相同的属性组A,令B=U1?U2 则自然连接可记作:

R S=?B(?R.A=S.A(R×

S)) 6.关系代数的基本运算有那些?如何用这些基本运算来表示其他运算?

答:在关系代数的八种运算中,并、差、笛卡儿积、投影和选择五种运算为基本运算。其他三种运算,即交、连接和除,均可以用五种基本运算来表达。

交运算:R∩S=R-(R-S)

?(R×S) 连接运算:R S=AR.Aθ S.B除运算:R(X,Y)÷S(Y,Z)=ΠX(R)- ΠX(ΠX(R)×ΠY(S)-R)

X、Y、Z为属性组,R中的Y和S中的Y可以有不同的属性名,但必须出自相同的域。 7.试述关系模型的完整性规则。在参照完整性中,为什么外键属性的值可以为空,举例说明什么情况下才可以为空。

答:关系模式的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束规则:实体完整性,参照完整性和用户定义的完整性。

其中实体完整性规则和参照完整性规则是关系模型必须满足的完整性条件,被称做是关系的两个不变性,应该由关系系统自动支持。

⑴ 实体完整性规则:对关系中的每一个元组,其主键属性对应的各个分量不能为空值。 ⑵ 参照完整性规则:设属性组A是关系R的外键且A与关系S的主键对应,则对于R中的每一个元组在属性A上的值必须为:或者为空值(A中每个属性值都为空值)或者等于S中某一元组的主键值。

参照完整性规则给出了关系之间建立联系的约束规则。

⑶ 用户定义的完整性规则:这是针对某一具体应用对数据约束条件,由应用环境决定。用户定义的完整性具体应用涉及到数据必须满足的语义要求。系统提供定义和检验这类完整性的统一处理方法,不再由应用程序承担这项工作。现在的商品化RDBMS都提供了定义和检查这类完整性约束的机制。

在参照完整性中,外键属性的值可以为空,它表示该属性的值尚未确定,但前提条件是该外部码属性不是其所在关系的主属性。

例如,下面“学生”表中的“专业号”是一个外键,但它不是学生表的主属性,可以为空,其语义是,该学生的专业尚未确定。

学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名)

而在下面的“选修”表中的“课程号”虽然也是一个外键属性,但它又是“课程”表的主属性,所以不能为空,因为关系模型必须满足实体完整性。

课程(课程号,课程名,学分) 选修(学号,课程号,成绩)

R.AθS.B

3

第四章 习题参考答案

4.1 试述SQL语言的特点。

答:SQL语言集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体,主要特点包括:

⑴ 综合统一:SQL语言将数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能

集于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动。 ⑵ 高度非过程化:用SQL语言进行数据操作只要提出“做什么”,而无需指明“怎么做”。 ⑶ 面向集合操作:SQL语言操作的对象和操作的结果都是集合——关系。 ⑷ 一种语法,两种使用方式:SQL语言既是自含式语言,又是嵌入式语言。 ⑸ 语言简捷,易学易用:完成核心功能只用9个动词,SQL语言接近英语句子。

⑹ 支持三级模式结构:外模式对应于视图(View),模式对应于基本表,内模式对应于存储文

件。

4.2 试述SQL的定义功能。

答:SQL的数据定义功能包括定义表、定义视图和定义索引。 SQL语言使用CREATE TABLE语句建立基本表,ALTER TABLE语句修改基本表定义,DROP TABLE语句删除基本表;使用CREATE INDEX语句建立索引,DROP INDEX语句删除索引;使用CREATE VIEW语句建立视图,DROP VIEW语句删除视图。

4.3 用SQL语句建立习题3.4中的3个表。即:

⑴ 供应商表:S(Sno(供应商代码),Sname (供应商名),Status(供应状态),City(供应商所在城市));

⑵ 零件表:P(Pno(零件代码),Pname(零件名),Color(颜色),Weight(重量)); ⑶ 零件供应情况表:SP(Sno(供应商代码),Pno(零件代码),Qty(供应数量), 答:

⑴ 对于供应商表:S(Sno,Sname,Status,City)建对应的S表,其命令如下: CREATE TABLE S

(Sno CHAR(4),Sname CHAR(10),Status CHAR(4),City CHAR(20))

⑵ 对于零件表:P(Pno,Pname,Color,Weight)建对应的P表,其命令如下: CREATE TABLE P

(Pno CHAR(4),Pname CHAR(20),Color CHAR(4),Weight INT)

⑶对于零件供应情况表:SPJ(Sno,Pno,Jno,QTY) 建对应的SPJ表,其命令如下:。 CREATE TABLE SP

(Sno CHAR(4) References S(SNo), Pno CHAR(4) References P(PNo), Qty INT)

4.4 针对习题4.3中建立的3个表,试用SQL语言完成习题3.4中的查询。


数据库系统原理参考答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新课程高中政治知识结构全图

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: