软件水平考试

解析:阅读下列说明,回答问题1至问题4,将解答填入对应栏内。 【说明】

来源:网考网软件水平 所有评论

【分析解答题】
阅读下列说明,回答问题1至问题4,将解答填入对应栏内。

【说明】
某论坛的部分关系模式如下:
用户(用户编号,账号,密码,积分,级别)
栏目(栏目编号,父栏目编号,名称,版主,描述)
主题(主题编号,标题,类型,点击率,内容,发布时间,栏目编号,用户编号,附件)
回复主题(回复主题编号,标题,主题编号,内容,发布时间,用户编号,附件)
其中:
(1)用户编号唯一标识一个用户。用户的积分根据其发布的主题信息按积分规则计算。级别的值来自集合{‘高级用户’,‘普通用户’,‘初级用户’},当用户开始注册时,积分为100,级别为初级用户;当用户积分到达1000时,级别为普通用户;当用户积分到达 5000时,级别为高级用户。
(2)栏目编号唯一标识一个栏目。栏目分两级,包括父栏目和子栏目。每个栏目必须有且仅有一个版主,版主是一个用户。
(3)主题编号唯一标识一个主题。类型的值来自集合{‘精华’,‘置顶’,‘普通’}。
(4)回复主题编号唯一识别一个回复主题。一个回复主题对应一个主题,而一个主题可以有多个回复主题。
【问题3】
假设所有关系模式已创建,回复主题关系模式的“主题编号”是外键,参照主题关系模式的“主题编号”。现在要删除编号为“T005”的主题及其相关的回复主题,下面是对应的删除语句,这些语句组成一个事务。
DELETE、主题 WHERE主题编号=‘T005’;
DELETE、回复主题 WHERE主题编号=‘T005’;
(1)请问这些删除语句能否完成功能 若不能,请说明为什么 (100字以内)
{{U}} (i) {{/U}}
(2)假设现在希望仅通过“DELETE主题WHERE主题编号=‘T005’;”这一条语句就能完成此删除功能,应如何实现 (100字以内)
{{U}}(j){{/U}}
网考网解析:
试题答案: 答案解析:(1)(i)不能完成此功能。删除了主题编号为“T005”的主题后,可能会存在该主题的回复主题,违反参照完整性约束。 (2)(j)在创建回复主题关系时指定级联删除,定义主题编号属性的外键约束后加上ON DELETE CASCADE。 或者是在主题关系上定义触发器,当删除主题时,删除其对应的回复主题。 document.getElementById("warp").style.display="none"; document.getElementById("content").style.display="block"; 查看试题解析出处>>

相关推荐

发布评论 查看全部评论