考虑以下与学生数据库相关的关系模式:
Student (rollno, name, address)
Enroll (rollno, courseno, coursename)
其中主键显示为下划线。 Student 和 Enroll 表中的元组数分别为 120 和 8。 (Student * Enroll) 中可以出现的最大和最小元组数是多少,其中“*”表示自然连接?
(一) 8、8
(二) 120, 8
(三) 960, 8
(四) 960、120答案:(一)
说明:自然连接的结果是 R 和 S 中在其公共属性名称上相等的所有元组组合的集合。
最大可能的元组数是多少?
当没有共同属性时,自然连接的结果等于笛卡尔积。给定的表有一个共同的属性,所以自然连接的结果不能超过更大表中元组的数量。
Student
-------------------------------------
Rollno name Address
-------------------------------------
1 a abc
2 b bcd
3 c cde
Enroll
----------------------------------------------
Rollno Courseno Coursename
----------------------------------------------
1 12 pqr
1 14 qrs
1 15 rst
2 13 uvw
2 14 qrs
Result of natural join
----------------------------------------------
Rollno Name Address Courseno Coursename
----------------------------------------------
1 a abc 12 pqr
1 a abc 14 qrs
1 a abc 15 rst
2 b bcd 13 uvw
2 b bcd 14 qrs
最小可能的元组数是多少?
可能没有rollno common。在这种情况下,元组的数量将为 0。但在问题中 rollno 是 Student 表中的主键,它是 Enroll 表中的主要属性。
因此,在注册表和学生表的 rollno 列中不可能有空值,并且注册中的每个元组都有一个父元组。因此,元组的最小数量可能是 8 个(在 Enroll 表中只有 8 个元组)。
选项(A)是正确的。
这个问题的测验