2024下半年软件设计师真题解析

四季读书网 1 0
2024下半年软件设计师真题解析

关系型数据库的参考完整性约束可以通过()来实现。

A.主码

B.候选码

C.超码

D.外码

解析:本题主要考查燃数据库基本概念,没有难度。

参考完整性约束

参考完整性(Referential Integrity) 也称为参照完整性,是关系型数据库中三大完整性约束之一。其核心作用是维护两个关系(表)之间的引用关系,确保数据的一致性

  • 实现机制:正是通过外码(Foreign Key) 来实现的

  • 具体规则:一个表的外码值,要么为空(NULL),要么必须等于被引用表中某个元组的主码值

软考中,数据库的完整性约束通常从以下三个层面考查:

2024下半年软件设计师真题解析-第1张图片-四季读书网

码(键)的层级关系(区分高频混淆点)

选项中的超码、候选码、主码、外码,它们之间是包含关系,逻辑层级如下:

  1. 超码(Super Key):一个或多个属性的集合,只要它能唯一标识一条记录即可。(范围最大)

    • 例子:学生表(学号,身份证号,姓名)。其中 学号身份证号学号+姓名 都是超码。

  2. 候选码(Candidate Key)最小的超码。即去掉其中任何一个属性,它就不再能唯一标识记录。

    • 例子学号 是候选码,身份证号 也是候选码。但 学号+姓名 不是候选码(因为去掉姓名,学号依然能标识)。

  3. 主码(Primary Key):从候选码挑选一个出来作为主关键字。(人为选定)

  4. 外码(Foreign Key)本表中的某个属性,它是另一张表主码

外码(参考完整性)的深度细节(软考常挖坑)

关于外码,考试特别喜欢考它的三种实现策略,也就是当主表数据被修改或删除时,子表(含外码的表)该如何反应:

  • 级联(CASCADE):主表删除/修改,子表自动跟着删除/修改。

  • 置空(SET NULL):主表删除/修改,子表对应的外码设为 NULL(前提是允许为空)。

  • 限制(RESTRICT / NO ACTION):如果子表有引用,则拒绝删除或修改主表数据。

在C/C++程序中,函数fun无返回值、无参数,对该函数的正确声明是()。

A.fun(void);

B.void fun(...).

C.void fun(void, ...)

D.void fun(void);

解析:本题主要考查C/C++函数基本概念,没有难度。

在C/C++中,要声明一个“无返回值”且“无参数”的函数:

  • 无返回值:返回类型必须写 void

  • 无参数:在C++中,括号内为空 () 或在括号内写 void 均可。但在严格的C语言标准(以及软考标准考纲)中,fun() 表示参数个数和类型未指定(不确定),而 fun(void) 才明确表示没有任何参数。因此,最标准、最严谨的写法是 void fun(void);

关于参数列表的 void,软考特别喜欢考C语言和C++的细微差别:

写法
C语言中的含义
C++中的含义
void fun();参数个数不确定
(不推荐,属于旧风格)
无参数
(与 (void) 等价)
void fun(void);明确无参数
(最标准、最安全)
无参数
(显式声明)

抱歉,评论功能暂时关闭!