刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

关于数据库完整性约束与查询的问题。 某数据库中有员工关系E、产品关系P、仓库关系W和库存关系I,各关系中的属性已给出。 a.若要求仓库关系的负责人引用员工关系的员工编号,员工关系E的员工编号、仓库关系W的仓库编号和产品关系P的产品编号不能为空且唯一标识一个记录,并且仓库的地址不能为空,则依次要满足的完整性约束是哪些? b.若需得到每种产品的名称和该产品的总库存量,则对应的查询语句如何写? c.若需得到在所有仓库中都存在的产品的名称,则对应的查询语句应怎样写?

A
实体完整性、参照完整性、用户定义完整性
B
参照完整性、实体完整性、用户定义完整性
C
用户定义完整性、实体完整性、参照完整性
D
实体完整性、用户定义完整性、参照完整性
使用微信搜索喵呜刷题,轻松应对考试!

答案:

B

解析:

a题:题目要求仓库关系的负责人引用员工关系的员工编号,同时要求员工编号、仓库编号和产品编号不能为空且唯一标识一个记录,以及仓库地址不能为空。这些要求分别对应了三种完整性约束:实体完整性(保证员工编号、仓库编号和产品编号为唯一标识符且不为空),参照完整性(仓库关系的负责人引用员工关系的员工编号),和用户定义完整性(仓库地址不能为空)。因此正确答案是B。

b题:查询每种产品的名称和该产品的总库存量,需要对产品关系P和库存关系I进行联接操作,通过产品编号进行匹配。因此WHERE条件应为P.productID=I.productID。查询语句中使用了SUM函数计算总库存量。

c题:要查询在所有仓库中都存在的产品的名称,需要使用存在性谓词(EXISTS)和否定存在性谓词(NOT EXISTS)。子查询部分用于检查是否存在某个产品在某个仓库中没有库存的情况,主查询则选择那些在所有仓库中都存在的产品。为了确保选择的是所有仓库中的产品,需要在子查询部分增加一个条件W.warehouseID IN (SELECT warehouseID FROM W),以选择所有的仓库。

创作类型:
原创

本文链接:关于数据库完整性约束与查询的问题。 某数据库中有员工关系E、产品关系P、仓库关系W和库存关系I,各

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share