《数据库原理与应用技术-MySQL》MySQL数据库完整性(1)(举一反三考点练)-课后自测(卷1)

2025-10-10
| 2份
| 6页
| 117人阅读
| 0人下载

内容正文:

举一反三考点练 《数据库原理与应用技术-MySQL》MySQL数据库完整性-课后自测 知识点一 实体完整性的概念与实现 1.(单项选择题)删除表 t 的主键约束,正确的 SQL 是( ) A. ALTER TABLE t DROP PRIMARY KEY B. ALTER TABLE t DROP INDEX PRIMARY C. DROP PRIMARY KEY FROM t D. ALTER TABLE t DELETE PRIMARY KEY 【答案】A 【解析】MySQL 中主键唯一,无需名字,直接 DROP PRIMARY KEY。 2.(单项选择题)若列允许 NULL 且值必须互异,应为其建立的约束是( ) A. 主键 B. 唯一约束 C. 外键 D. 检查约束 【答案】B 【解析】唯一约束允许一个 NULL 并保证其余值不重复;主键禁止 NULL。 3.(多项选择题)在 Navicat 设计视图中实现实体完整性可使用的操作有( ) A. 勾选“主键”复选框 B. 在“索引”页签添加唯一索引 C. 设置字段“不是 null” D. 设置字段默认值 【答案】ABC 【解析】默认值与实体完整性无直接关系;主键、唯一索引、非空均可保证行唯一。 4.(多项选择题)关于复合主键的说法正确的有( ) A. 一张表只能有一个复合主键 B. 复合主键的每一列都不能为 NULL C. 复合主键能保证多列组合后唯一 D. 复合主键最多两列 【答案】ABC 【解析】复合主键列数不限;单列可重复,组合必须唯一;所有列非空。 5.(填空题)建立表时给唯一约束显式命名,应写 CONSTRAINT uk_phone ______ KEY(phone); 【答案】UNIQUE 【解析】CONSTRAINT 名 UNIQUE KEY(列) 为唯一约束命名。 6.(判断题)唯一约束列中 NULL 出现的次数只能为 1( ) 【答案】√ 【解析】MySQL 允许唯一约束列存在一个 NULL,第二个 NULL 即被视为重复。 7.(判断题)主键约束与唯一约束都不能用于确保实体完整性( ) 【答案】× 【解析】二者均是实体完整性的实现手段。 知识点二 参照完整性的概念与外键实现 1.(单项选择题)下列哪种情况会违反参照完整性( ) A. 子表外键列值为 NULL B. 子表外键值在父表主键中存在 C. 子表外键值在父表主键中不存在且非 NULL D. 父表主键列值为 NULL 【答案】C 【解析】外键非空时必须在父主键中存在;NULL 不违反规则。 2.(单项选择题)在 Navicat 中可视化添加外键,应打开表设计器后选择( ) A. 索引 页签 B. 外键 页签 C. 触发器 页签 D. 选项 页签 【答案】B 【解析】“外键”页签可直观设置父表、列及级联规则。 3.(多项选择题)关于级联删除(ON DELETE CASCADE),下列说法正确的有( ) A. 父表记录被删除时,子表对应记录自动删除 B. 子表数据丢失不可回滚 C. 适用于所有业务场景 D. 可多层级联(A→B→C) 【答案】ABD 【解析】级联删除自动同步清理子表,操作不可回滚,且可链式多级;高并发场景需谨慎评估风险。 4.(多项选择题)创建外键失败的可能原因有( ) A. 父表被引用列不是主键也没有唯一索引 B. 子表已存在不符合规则的数据 C. 两列数据类型不一致 D. 存储引擎为 MyISAM 【答案】ABCD 【解析】MySQL 要求被引用列有索引、数据合规、类型一致,且仅 InnoDB 支持外键。 5.(填空题)若要在 ALTER TABLE 语句中删除已知外键 fk_sc,完整命令是 ______。 【答案】`ALTER TABLE score DROP FOREIGN KEY fk_sc;` 【解析】删除外键必须指定 CONSTRAINT 名称,语法固定。 6.(判断题)定义外键时若省略 ON DELETE/UPDATE 子句,则默认策略为 CASCADE。( ) 【答案】× 【解析】默认策略为 RESTRICT(NO ACTION),即存在子记录时拒绝父表更新或删除。 7.(判断题)自引用外键是指同一表的外键列引用本表的主键列,可用于实现树形结构。( ) 【答案】√ 【解析】如员工表的 manager_id 引用 emp_id,即为自引用外键,支持树形查询。 知识点三 用户定义完整性 1.(单项选择题)取消列默认值约束,可用下列哪种方式( ) A. DROP DEFAULT B. MODIFY 不带 DEFAULT C. ALTER 列名 DROP INDEX D. CHANGE 改列名 【答案】B 【解析】重新 MODIFY 不带 DEFAULT 即可移除默认值;DROP DEFAULT 语法错误。 2.(单项选择题)下列场景适合使用 CHECK 约束的是( ) A. 保证学号唯一 B. 性别只能填“男”或“女” C. 自动编号 D. 外键关联 【答案】B 【解析】CHECK 适合取值范围/集合约束;唯一、自动编号、外键各有专门约束。 3.(多项选择题)关于“命名约束”描述正确的有( ) A. 方便后续维护与删除 B. 使用 CONSTRAINT 关键字 C. 名字必须在全库唯一 D. 可用 DROP INDEX 删除唯一约束 【答案】ABD 【解析】命名约束只需在表内唯一;DROP INDEX 可删唯一约束;CONSTRAINT 用于命名。 4.(多项选择题)以下可在 Navicat 图形界面完成的有( ) A. 勾选/取消 NOT NULL B. 设置 DEFAULT 值 C. 新增 CHECK 规则 D. 直接写入触发器代码 【答案】ABC 【解析】Navicat 设计表支持前三项;触发器需另开触发器编辑器。 5.(填空题)设置自增初始值为 1000 的表级子句:ALTER TABLE t __________ = 1000 【答案】AUTO_INCREMENT 【解析】ALTER TABLE 表名 AUTO_INCREMENT = n 可修改自增起始值。 6.(判断题)MySQL 中,DEFAULT 值可以是函数结果,如 NOW()( ) 【答案】√ 【解析】MySQL 允许使用函数作为默认值(需 8.0.13+),如 DEFAULT NOW()。 7.(判断题)CHECK 约束只能作用于单列,不能写涉及多列的表达式( ) 【答案】× 【解析】CHECK 可写多列表达式,如 CHECK(end_time > start_time)。 原创精品资源学科网独家享有版权,侵权必究!2 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 举一反三考点练 《数据库原理与应用技术-MySQL》MySQL数据库完整性-课后自测 知识点一 实体完整性的概念与实现 1.(单项选择题)删除表 t 的主键约束,正确的 SQL 是( ) A. ALTER TABLE t DROP PRIMARY KEY B. ALTER TABLE t DROP INDEX PRIMARY C. DROP PRIMARY KEY FROM t D. ALTER TABLE t DELETE PRIMARY KEY 2.(单项选择题)若列允许 NULL 且值必须互异,应为其建立的约束是( ) A. 主键 B. 唯一约束 C. 外键 D. 检查约束 3.(多项选择题)在 Navicat 设计视图中实现实体完整性可使用的操作有( ) A. 勾选“主键”复选框 B. 在“索引”页签添加唯一索引 C. 设置字段“不是 null” D. 设置字段默认值 4.(多项选择题)关于复合主键的说法正确的有( ) A. 一张表只能有一个复合主键 B. 复合主键的每一列都不能为 NULL C. 复合主键能保证多列组合后唯一 D. 复合主键最多两列 5.(填空题)建立表时给唯一约束显式命名,应写 CONSTRAINT uk_phone ______ KEY(phone); 6.(判断题)唯一约束列中 NULL 出现的次数只能为 1( ) 7.(判断题)主键约束与唯一约束都不能用于确保实体完整性( ) 知识点二 参照完整性的概念与外键实现 1.(单项选择题)下列哪种情况会违反参照完整性( ) A. 子表外键列值为 NULL B. 子表外键值在父表主键中存在 C. 子表外键值在父表主键中不存在且非 NULL D. 父表主键列值为 NULL 2.(单项选择题)在 Navicat 中可视化添加外键,应打开表设计器后选择( ) A. 索引 页签 B. 外键 页签 C. 触发器 页签 D. 选项 页签 3.(多项选择题)关于级联删除(ON DELETE CASCADE),下列说法正确的有( ) A. 父表记录被删除时,子表对应记录自动删除 B. 子表数据丢失不可回滚 C. 适用于所有业务场景 D. 可多层级联(A→B→C) 4.(多项选择题)创建外键失败的可能原因有( ) A. 父表被引用列不是主键也没有唯一索引 B. 子表已存在不符合规则的数据 C. 两列数据类型不一致 D. 存储引擎为 MyISAM 5.(填空题)若要在 ALTER TABLE 语句中删除已知外键 fk_sc,完整命令是 ______。 6.(判断题)定义外键时若省略 ON DELETE/UPDATE 子句,则默认策略为 CASCADE。( ) 7.(判断题)自引用外键是指同一表的外键列引用本表的主键列,可用于实现树形结构。( ) 知识点三 用户定义完整性 1.(单项选择题)取消列默认值约束,可用下列哪种方式( ) A. DROP DEFAULT B. MODIFY 不带 DEFAULT C. ALTER 列名 DROP INDEX D. CHANGE 改列名 2.(单项选择题)下列场景适合使用 CHECK 约束的是( ) A. 保证学号唯一 B. 性别只能填“男”或“女” C. 自动编号 D. 外键关联 3.(多项选择题)关于“命名约束”描述正确的有( ) A. 方便后续维护与删除 B. 使用 CONSTRAINT 关键字 C. 名字必须在全库唯一 D. 可用 DROP INDEX 删除唯一约束 4.(多项选择题)以下可在 Navicat 图形界面完成的有( ) A. 勾选/取消 NOT NULL B. 设置 DEFAULT 值 C. 新增 CHECK 规则 D. 直接写入触发器代码 5.(填空题)设置自增初始值为 1000 的表级子句:ALTER TABLE t __________ = 1000 6.(判断题)MySQL 中,DEFAULT 值可以是函数结果,如 NOW()( ) 7.(判断题)CHECK 约束只能作用于单列,不能写涉及多列的表达式( ) 原创精品资源学科网独家享有版权,侵权必究!2 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

《数据库原理与应用技术-MySQL》MySQL数据库完整性(1)(举一反三考点练)-课后自测(卷1)
1
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。