**表(table)**存放同一类事物的全部数据。**记录(record)**是一行:关于单个项目的所有信息。**字段(field)**是一列:一种事实,例如名称或价格。
这些词出现在数据库与查询推理几乎每一道题的开头,所以用词准确能在后面省下分数。
这三部分如何配合?
想象一张纸质的学校点名册。整张纸是表。每个学生那一行是记录。每个标题,例如“班级”或“日期”,是字段。
下面是本单元一直使用的虚构 Plants 表。
| PlantID | Name | Type | Price | Stock | Indoor |
|---|---|---|---|---|---|
| P01 | Fern | Foliage | 12.50 | 8 | TRUE |
| P02 | Cactus | Succulent | 6.00 | 25 | TRUE |
| P03 | Rose | Flowering | 15.00 | 0 | FALSE |
| P04 | Mint | Herb | 4.50 | 40 | FALSE |
| P05 | Orchid | Flowering | 28.00 | 3 | TRUE |
每个字段还有数据类型(data type),决定这一列允许存放什么值。
PlantID、Name 和 Type 是文本。Price 是实数(real,可以有小数)。Stock 是整数(integer)。Indoor 是布尔型(Boolean,TRUE 或 FALSE)。
例题
用上面的五行数据回答下列问题。
步骤 1,数字段。 读标题行:PlantID、Name、Type、Price、Stock、Indoor。共 6 个字段。
步骤 2,数记录。 数数据行,不含标题:P01 到 P05。共 5 条记录。
步骤 3,说出一条完整记录。 Orchid 的记录是 P05、Orchid、Flowering、28.00、3、TRUE。
步骤 4,说出 Stock 的数据类型。 值 8、25、0、40、3 都是整数,所以 Stock 是 integer。
步骤 5,说出表名。 这张表是 Plants。
最终答案:1 张表,6 个字段,5 条记录。标题行要单独说明,因为它不是记录。
要留意的错误
常见的失误是题目问的是 Price 字段,却说成“Price 记录”。
错误答案:“Price 是一条记录,值为 12.50、6.00、15.00。”
学生描述的是一列,也就是字段,却用了表示行的词。
纠正:字段沿着列向下,记录沿着行横向。快速测试:问自己“这是一个项目(记录),还是一种事实(字段)?”
自我检测
1. 如果在上表加一列 Colour,会有多少个字段、多少条记录?
查看答案
字段:6 + 1 = 7。记录仍是 5 条,因为加列不会增加行。
2. Indoor 字段适合用哪种数据类型?为什么?
查看答案
布尔型(Boolean),因为每个值只有两种状态之一:TRUE 或 FALSE。
3. “Mint, Herb, 4.50”是字段、记录还是表?
查看答案
它是记录(P04 行)的一部分,但不是完整记录,因为缺少其他值。字段是列,例如 Type。
接下来学什么
接下来看如何选择合适的键,让每条记录都能被区分。然后用单元练习题检测自己,想看真实的表格可以试试只读 SQL 练习实验室。
如果题目措辞一复杂,这些术语仍然会混在一起,我们的老师可以通过计算机科学线上一对一补习帮助你。