数据库原理课后答案 第二章

  1. 试述关系模型的三个组成部分。
    关系数据模型的数据结构、关系数据模型的操作集合和关系数据模型的完整性约束。

  2. 简述关系数据语言的特点和分类。
    特点
    语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用
    分类
    1) 关系代数语言
    2) 关系演算语言:元组关系演算语言和域关系演算语言
    3) SQL:具有关系代数和关系演算双重特点的语言

  3. 定义并理解下列术语,说明它们之间的联系与区别:
    (1) 域,笛卡儿积,关系,元组,属性;
    1) 域:一种具有相同数据类型的值的集合
    2) 笛卡尔积:给定一组域D1,D2,…,Dn,这些域可以是相同的域。这组域的笛卡尔积为D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}其中每一个元素(d1,d2,…,dn)叫做一个n元组(n-tuple)或简称元组(Tuple)。元素中的每一个值di叫做一个分量
    3) 关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)
    4) 元组:关系中的每个元素是关系中的元组
    5) 属性:关系中的一列即为一个对应一个域,给每一列起一个名称即为属性名
    联系和区别:域是集合,由域定义出了笛卡尔积,笛卡尔积子集为关系,关系是一个二维表,表的每行对应一个元组,表的每列对应一个域。
    (2) 主码,候选码,外码;
    1) 主码:若一个关系有多个候选码,则选定其中一个为主码(Primarykey)。
    2) 候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidatekey)。
    3) 外部码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码K相对应,则称F是基本关系R的外部码(Foreignkey),简称外码。
    区别和联系:主码是多个候选码的其中一个,外码和某一关系中的主码对应
    (3) 关系模式,关系,关系数据库。
    1) 关系模式:是对关系的型的描述,说明关系由哪些属性组成,这些属性来自于哪些域,以及属性与域的映象。它可以形式化地表示为R(U,D,DOM,F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合
    2) 关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn) ,简记为: R(U);
    3) 关系数据库:其也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义及在这些域上所定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻所对应的关系的集合,通常称为关系数据库。
    区别和联系:关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的;而关系是动态的、随时间不断变化的,因为关系操作在不断更新着数据库中的数据。

  4. 举例说明关系模式和关系的区别。
    关系模式是静态的,比如一张学生信息的二维表,其有姓名、学号、性别的等属性,这些属性的域和类型和长度都是固定的,而关系是动态的,如一张具体的二维表,除了关系名和属性以外的数据经常被更新,如进行修改,插入,删除操作,所以不同时刻、关系可能不一样。关系就是数学中的集合了,每一行就是集合的一个元素

  5. 试述关系模型的完整性规则。在参照完整性中,什么情况下外码属性的值可以为空值?
    1)关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有3类完整性约束:实体完整性、参照完整性和用户定义的完整性。
    其中,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为关系的两个不变性,应该由关系系统自动支持。
    (1) 实体完整性规则:若属性A 是基本关系R 的主属性,则属性A 不能取空值。
    (2) 参照完整性规则:若属性(或属性组)F 是基本关系R 的外码,它与基本关系S 的主码Ks 相对应(基本关系R 和S 不一定是不同的关系),则对于R 中每个元组在F 上的值必须为以下两者之一:
    a) 或者取空值(F 的每个属性值均为空值);
    b) 或者等于S 中某个元组的主码值。
    (3) 用户定义完整性:是针对某一具体关系数据库的约束条件。它反映某一具体应用涉及的数据所必须满足的主义要求。

  1. 参照完整性中,外部码属性值可以为空,表示该属性的值尚未确定。但前提条件是该外部码属性不是其所在关系的主属性。
    例如:
    (1) 在 “学生”表中,“专业号”是一个外部码,不是“学生”表的主属性,其这可以为空。其语义是,该学生的专业尚未确定。 学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名)
    (2) 而在“选修”表中,“课程号”虽然也是一个外部码属性,但它又是“选修”表的主属性,所以其值不能为空。因为关系模型必须满足实体完整性。 课程(课程号,课程名,学分) 选修(学号,课程号,成绩)
  1. 设有一个SPJ数据库,包括S、P、J及SPJ4个关系模式:
    S(SNO,SNAME,STATUS,CITY);
    P(PNO,PNAME,COLOR, WEIGHT);
    J(JNO,JNAME,CITY);
    SPJ(SNO,PNO,JNO,QTY)。
    供应商表S由供应商代码(SNO)、供应商姓名(SNAME)供应商状态(STATUS)、供应商所在城市(CITY)组成。
    零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。
    工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY) 组成。
    供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(INO)、供应数量(QTY)组成,
    表示某供应商供应某种零件给某工程项目的数量为QIY。
    今有若干数据如下:

试用关系代数、ALPHA 语言完成如下查询:
(1)求供应工程J1零件的供应商号码SNO;
(2)求供应工程JI零件PI的供应商号码SNO;
(3)求供应工程J1零件为红色的供应商号码SNO;
(4)求没有使用天津供应商生产的红色零件的工程号JNO:
(5)求至少用了供应商S1所供应的全部零件的工程号JNO。

(1) ∏SNO(σJNO=’J1’(SPJ))
(2) ∏SNO(σJNO=’J1’∧PNO=’P1’(SPJ))
(3) ∏SNO(σJNO=’J1’∧COLOR=’红’(SPJ∞P))
(4) ∏JNO(J)-πJNO(σCOLOR=’红’(P∞(σCITY=’天津’(SPJ∞S)))) 
(5) ∏JNO,PNO(SPJ)÷πPNO(σSNO=’S1’(SPJ))
7.试述等值连接与自然连接的区别和联系。
从两个关系的广义笛卡儿积中选取给定属性间满足一定条件的元组,称为θ连接;当连接符θ为等号时,称为等值连接。从两个关系的广义笛卡儿积中选取在相同属性列上取值相等的元组,并去掉重复的列,称为自然连接。(连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组,自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。)
区别:自然连接中相等的分量必须是相同的属性组,并且要在结果中去掉重复的属性,而等值连接则不必。
联系:自然连接与等值连接的联系:自然连接是等值连接的特殊处理,当R与S无相同属性时,R∞S = R×S。

8.关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算?
系代数基本运算有:
一元运算:选择、投影、更名
多元运算:笛卡儿积、并、差
关系代数其他运算有:
集合交、自然连接、除、
用基本运算表示其他运算如下:
R∩S = R - (R - S) 
R∞S =σR[A]=SA
R÷S =∏X ®-∏X(∏X®×∏Y(S)-R)

猜你喜欢

转载自blog.csdn.net/Spidy_harker/article/details/104786547