关系数据库小测练习笔记(1)
第二题
关系 R (A, B) 有 m 个元组,关系 S (B, C) 有 n 个元组,关系 R 和 S 的自然连接最多可能有多少个元组?单选题 (1 分) 1 分 A.max (m, n) B.n C.mn D.m E.m+n
问题分析
给定两个关系:
- R(A, B) 有 m 个元组
- S(B, C) 有 n 个元组
自然连接 R ⋈ S 的结果基于公共属性 B 进行连接。需要计算自然连接后可能的最大元组数量。
最大元组数的条件
自然连接的最大元组数出现在以下情况:
- R 和 S 中所有元组的 B 值完全相同,即 R 和 S 在 B 上的取值完全一致。
- 此时,R 的每个元组与 S 的每个元组都能匹配,形成笛卡尔积。
计算最大元组数
在这种最理想情况下:
- R 的每个元组(共 m 个)与 S 的每个元组(共 n 个)都能匹配。
- 因此,最大元组数为 m × n。
第三题
假设关系 R (A) 有 r 个各不相同的元组,关系 S (A) 有 s 个各不相同的元组,R - S 有 t 个元组。
下列关于 (r, s, t) 组合可能的是哪个?单选题 (1 分) 0 分
A.(8, 2, 2) B.(5, 3, 4) C.(5, 10, 15) D.(10, 5, 15)
问题分析
关系 R 和 S 都是基于属性 A 的关系,R - S 表示在 R 中但不在 S 中的元组。根据集合差运算的定义,R - S 的结果必须满足以下条件:
- R - S 的元组数 t 不可能超过 R 的元组数 r,即 t ≤ r。
- R - S 的元组数 t 的最小值为 r - s(当 S 的所有元组都包含在 R 中时),最大值为 r(当 R 和 S 没有共同元组时)。因此,t 的取值范围是 max(0, r - s) ≤ t ≤ r。
选项验证
对每个选项进行验证,判断是否满足 t 的取值范围。
选项 A: (8, 2, 2)
- r = 8, s = 2, t = 2
- t 的取值范围:max(0, 8 - 2) = 6 ≤ t ≤ 8
- 实际 t = 2 不满足 t ≥ 6
- 不可能。
选项 B: (5, 3, 4)
- r = 5, s = 3, t = 4
- t 的取值范围:max(0, 5 - 3) = 2 ≤ t ≤ 5
- 实际 t = 4 满足 2 ≤ 4 ≤ 5
- 可能。
唯一满足条件的组合是 B.(5, 3, 4)。
第四题
下列关于数据物理独立性正确的说法有哪些?单选题 (1 分) 1 分 A.Physical data independence means that the logical representation of the data is independent of its physical representation in memory and on disk. B.Physical data independence means that the data is compressed. C.Physical data independence means that the relations in database are physically independent of each other.
关于数据物理独立性的正确说法
数据物理独立性(Physical Data Independence)是指数据库的逻辑结构与物理存储结构相互独立,修改物理存储结构不会影响逻辑结构或应用程序。以下是题目中各选项的分析:
选项A
正确。数据物理独立性意味着数据的逻辑表示与其在内存和磁盘上的物理表示是独立的。这允许在不改变应用程序或逻辑模式的情况下修改物理存储结构(如索引、文件组织等)。
选项B
错误。数据压缩是一种存储优化技术,与数据独立性无关。
选项C
错误。关系数据库中表的物理独立性并非指表之间物理存储的隔离性,而是指逻辑模式与物理存储的分离。
正确答案 A
第五题
关于关系 T (A, B) 的 SQL 查询语句:Select ____ From T Group by A,空格中可以填入的表达式有哪些?多选题 (1 分) 0 分 A.sum (B) B.B C.sum (A) D.A
可填入的表达式分析
在SQL的GROUP BY子句中,SELECT列表中的表达式必须满足以下条件之一:
- 出现在
GROUP BY子句中(如列A) - 是聚合函数(如
SUM()、COUNT()等)
选项解析:
A. SUM(B)
合法。B未出现在GROUP BY中,但通过SUM()聚合函数处理,符合语法规则。
B. B
不合法。B未出现在GROUP BY中且未使用聚合函数,会导致语法错误。
C. SUM(A)
语法合法但逻辑矛盾。A已在GROUP BY中分组,对其求和通常无实际意义(除非重复值需合并)。
D. A
合法。A是GROUP BY的分组列,可直接出现在SELECT中。
正确答案
A(SUM(B))和 D(A)是可填入的正确选项。
B和C不符合要求(B语法错误,C逻辑冗余)。
