数据库期末简答题-第二章


1. 关系代数运算有哪些?

  • 按运算符不同可分为传统的集合运算和专门的关系运算。

    传统的集合运算是二目运算,包括并、差、交、笛卡儿积四种运算。
    专门的关系运算包括选择、投影、连接、除运算等。

关系操作的特点是集合操作方式,即操作的对象和结果都是集合。

2. 列出关系的几条性质(3-4条即可)。

  • 列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。
  • 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
  • 列的顺序无所谓,即列的次序可以任意交换。
  • 任意两个元组的候选码不能取相同的值。
  • 行的顺序无所谓,即行的次序可以任意交换。
  • 分量必须取原子值,即每一个分量都必须是不可分的数据项。

3. 码的概念,以及主属性、非主属性。

  • 候选码:若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码。
    • 主属性:候选码的诸属性。
    • 非主属性:不包含任何候选码中的属性。

4. 什么是关系模型的实体完整性约束?举例说明。

  • 实体完整性约束:若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。
    例如,学生(学号,姓名,性别,专业号,年龄)关系中学号为主码,则学号不能取空值。

5. 什么是关系模型的参照完整性约束?举例说明。

  • 参照完整性约束:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中的每个元组在F上的值必须:取空值或者等于S中某个元组的主码值。
    例如,学生关系中每一个元组的“专业号”属性只能取:
    • 空值(表示尚未给该学生分配专业)
    • 或非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能被分配到一个不存在的专业中。即被参照关系“专业”中一定存在一个元组,它的主码值等于该参照关系“空值”中的外码值。

6. 什么是关系模型的用户自定义完整性约束?举例说明。

  • 用户定义的完整性:是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。如某个属性必须取唯一值、某个非主属性不能取空值等。
    例如,学生关系中,若按照应用的要求学生不能没有姓名,则可以定义学生姓名不能取空值;某个属性(如学生的成绩),的取值范围可以定义在0~100之间等。

7. 等值连接与自然连接的区别。

  • 等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有在同名属性才能进行自然连接。
  • 等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。