某数据库中有员工关系E(员工号,姓名,部门,职称,月薪);产品关系P(产品号,产品名称,型号,尺寸,颜色);仓库关系W(仓库号,仓库名称,地址,负责人);库存关系I(仓库号,产品号,产品数量)。
a. 若数据库设计中要求:
① 仓库关系W中的"负责人"引用员工关系的员工号
② 库存关系I中的"仓库号,产品号"惟一标识I中的每一个记录
③ 员工关系E中的职称为"工程师"的月薪不能低于3500元
则①②③依次要满足的完整性约束是(请作答此空)。
b. 若需得到每种产品的名称和该产品的总库存量,则对应的查询语句为:

SELELCT 产品名称, SUM(产品数量FROM P, IWHERE P.产品号 = I.产品号( );

2023-09-01

A. 实体完整性、参照完整性、用户定义完整性
B. 参照完整性、实体完整性、用户定义完整性
C. 用户定义完整性、实体完整性、参照完整性
D. 实体完整性、用户定义完整性、参照完整性

参考答案:B

关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。实体完整性规定基本关系的主属性不能取空值。由于①仓库关系W中的"负责人"引用员工关系的员工号,所以应满足参照完整性约束;② 库存关系I中的"仓库号,产品号"惟一标识I中的每一个记录,所以应满足实体完整性约束;③ 职称为"工程师"的月薪不能低于3500元,是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求,所以应满足用户定义完整性约束。因此,试题(1)的正确答案为B。
SQL查询是数据库中非常重要的内容。该SQL查询要求对查询结果进行分组,即具有相同名称的产品的元组为一组,然后计算每组的库存数量。由此可排除A、B和D,所以试题(2)正确答案为C。