跳到正文
IGCSE·Tuition
资讯与通信科技(ICT) · 练习

数据库结构与验证:原创综合练习与解析

分别懂得每个概念是一回事,面对混合的表格时选对该用哪一个,又是另一回事。

本页内容
  1. 第 1 至 4 题:类型与主键
  2. 第 5 至 8 题:验证与数字文本
  3. 第 9 至 12 题:导入与重复记录
  4. 如果你做错了

这十二道题综合了数据库结构与验证中的五项技能:选择字段类型、设定主键与验证、导入数据、发现数字与文本的混淆,以及解释重复记录。所有数据都是为本页虚构的。题目由易到难。

先在纸上试做每一题,再打开答案。解释要写成完整的句子,因为考试正是这样给分的。

第 1 至 4 题:类型与主键

第 1 题. 学校食堂的商品表有这些列:ItemCode(如 CN-012)、Price(如 3.50)、StockCount(如 48)和 Vegetarian(Yes 或 No)。为每一列给出字段类型。

查看答案
  • ItemCode:文本,因为含有字母和连字符,也不用来计算。
  • Price:货币或小数,因为有两位小数,要相乘或相加。
  • StockCount:整数,因为是整数的计数。
  • Vegetarian:布尔(是/否),因为只出现两种值。

第 2 题. 解释为什么像 007245 这样的会员编号应该存成文本,而不是数字。

查看答案

它是标签而不是数量,因为没有人会把会员编号相加或求平均。在数字字段里,开头的零会被去掉,变成 7245,与真实编号不符。文本则保留全部六个字符。

第 3 题. 图书馆借阅表有 LoanID、BookTitle、BorrowerName 和 DateBorrowed 四个字段。哪个最适合当主键?为什么其余三个不适合?

查看答案

LoanID。 每笔借阅都不同、必有值、也不会变。BookTitle 在一本书被借多次时会重复,BorrowerName 在同一个人借两次时会重复,DateBorrowed 在同一天有两笔借阅时会重复。

第 4 题. 新表格要求 ID 恰好 6 个字符。这是哪一种检查?说明 ST0045 和 ST045 是否被接受。

查看答案

长度检查(length check)。 ST0045 有 6 个字符,所以接受。ST045 有 5 个字符,所以拒绝。

第 5 至 8 题:验证与数字文本

第 5 题. Mark 字段必须接受 0 到 100(含两端)的整数分数。写出验证条件,并用 100、101、0 和 -1 测试。

查看答案

条件:>=0 AND <=100。

  • 100:100 >= 0 为真,100 <= 100 为真,接受。
  • 101:101 <= 100 为假,拒绝。
  • 0:0 >= 0 为真,0 <= 100 为真,接受。
  • -1:-1 >= 0 为假,拒绝。

题目说含两端,所以边界值 0 和 100 都被接受。

第 6 题. 老师为一位真实分数是 45 的学生输入了 54。Mark 字段设有第 5 题的规则。验证能发现这个错误吗?请解释。

查看答案

不能。 54 在 0 到 100 的范围内,所以通过。验证只测试值是否合理、是否被允许。要发现数字对调的错误,需要核对,例如把输入与原始成绩单对比。

第 7 题. 一个以文本存放的列含有 5、12、120 和 9。写出升序排序后显示的顺序,以及转成整数后的顺序。

查看答案

作为文本:逐个字符比较。第一个字符分别是 5、1、1 和 9,所以 12 和 120 在前(12 较短),然后是 5,再是 9:12、120、5、9。

作为整数:5、9、12、120。

第 8 题. 邮编字段对源值 08000 显示为 8000。哪里出了问题?怎样修正?

查看答案

字段被存成了数字,开头的零被去掉了。把字段改为文本,再从源文件重新导入,使 08000 完整保留。

第 9 至 12 题:导入与重复记录

第 9 题. 一个 CSV 文件有 1 行标题和 8 行数据。导入后表格显示 9 条记录,第一条记录的值就是字段名称。说出可能的原因和修正方法。

查看答案

第一行含字段名称这个选项没有设置,所以标题行被当成记录导入了。正确的数量是 8。删除错误的记录,或开启标题选项重新导入,然后再次检查字段类型。

第 10 题. 一行 CSV 内容是:P014,Lee, Anna,45.50(姓名本应是一个值,Lee, Anna)。表格有 3 个字段:ID、Name 和 Fee。导入时会发生什么?源文件应该怎样写?

查看答案

姓名里的逗号被当作分隔符,所以这一行被拆成 4 个值:P014、Lee、Anna 和 45.50。它们放不进 3 个字段,Fee 可能得到错误的值。姓名应该用文本限定符括起来:P014,“Lee, Anna”,45.50。

第 11 题. 一张有 50 条记录的表,每条费用都是 20.00,其中含有 3 条重复记录。写出显示的费用总额、真实总额以及多算的金额。

查看答案

显示:50 × 20.00 = 1000.00。真实记录数:50 - 3 = 47,所以真实总额是 47 × 20.00 = 940.00。多算了 1000.00 - 940.00 = 60.00,这也等于 3 × 20.00。

第 12 题. 表格以 MemberID 为主键。一位会员以 M021 出现一次,又以 M058 出现一次,其他字段完全相同。为什么主键没能阻止?接下来应该怎么做?

查看答案

主键只阻止相同的键值。M021 和 M058 不同,所以两条都被接受。由于其他字段都吻合,它们几乎可以肯定是同一个人。保留原来的记录(较早的 M021),删除 M058,再检查记录数和总额。

如果你做错了

错误类型题号回到
字段类型选错,或设置时混淆文本与数字第 1、2 题根据样本数据选择字段类型
主键选择、验证规则或边界错误第 3、4、5、6 题定义主键与验证条件
导入设置、标题行或逗号问题第 9、10 题导入一份小型虚构数据集
排序错乱、零丢失、总和不能计算第 7、8 题发现数字与文本的错误解读
重复记录的影响与主键的局限第 11、12 题解释重复记录为什么重要

把每次做错的题记在错题记录与重测队列里,以便日后重测。只读 SQL 练习实验室和 ICT 实操任务与证据检查器提供更多虚构数据可供研究。

ICT 线上一对一补习的老师可以和你一起批改书面解释,并针对你出错的类型出新的表格。

常见问题

应该怎样使用这套练习?

先盖住答案,在纸上写出自己的回答,再打开答案对照。解释类的题目要写完整的句子,这也是考试所期望的。把做错的题目标出来,先复习对应的课,再用新的数据重试。

这些题目来自历年试卷吗?

不是。这里的每一道题和每一份数据都是原创并为练习而虚构的。历年试卷和课程大纲可在 Cambridge ICT 0417 页面查看,你所考年份适用哪些试卷,请向考试中心或老师确认。

练习时需要使用软件吗?

有条件的话,需要。用任何数据库或电子表格程序重建这些小表格,亲自测试每条规则。这里的概念与软件无关,菜单名称可能不同,但推理是一样的。

更新于:

下一步

如果你在这里答对了却很慢,或者答对了但理由不对,一对一的老师可以听你的解释,并修正那些会丢分的说法。

一小时付费试听课,按所安排老师确认的收费,RM80 起。 其他费用、时间安排及后续课程,在试听课后由家长与老师直接确认。

补习由家长或监护人安排。用 WhatsApp 把这页发给他们,他们就可以替你咨询。

是家长或监护人?在这里咨询

已通过我们的服务帮助 9,000+ 名学生