跳到正文

数据操作的基础(插入・更新与抽取的关系运算)

標準约 25 分钟5 个术语过去问 14 题

本单元目标

  • 能区分改变表内容的写入操作(插入、更新)和由表生成结果表的关系运算。
  • 能根据结果表中被缩减的是行还是列,分辨选择和投影。
  • 能说明以共有的列为线索连接表,并结合条件取出所需数据的流程。
术语总表(5 个)
术语一句话操作类型结果表的变化
挿入向表中添加新行的操作写入行数增加
更新改写已有行中值的操作写入行数不变,值发生变化
選択取出符合条件的行的关系运算检索(关系运算)列不变,只留下符合条件的行
射影只保留所需列的关系运算检索(关系运算)只留下指定的列
結合用共有列的值把表与表连接起来的关系运算检索(关系运算)多个表的列排进一个表中

术语

插入挿入是向表中写入新行的操作。

图书编号书名库存数状态
B01数据库入门3原有的行
B02电子表格基础1原有的行
B03网络入门5通过插入添加的行

关系数据库的表由表示数据项(属性)的列(字段)和表示一条数据的行(记录)构成。在 SQL 中使用 INSERT 语句,按列指定要添加的行的值。在用来唯一确定一行的主键主キー列中,要填入与其他行不重复的值。

类比就像在到店顾客名册上,为第一次来的客人补写一行。

记法日语「挿入」的「挿」就是汉语的「插」,可以联想成把一行插进表里的样子。

考点

  • 易混插入挿入是改变表内容本身的写入操作,与由原表生成结果表的关系运算関係演算作用不同。

更新更新是把表中已有行的列值改写为新值的操作。

图书编号书名库存数状态
B01数据库入门3无变化
B02电子表格基础从 1 改为 4通过更新改写的行
B03网络入门5无变化

在 SQL 中用 UPDATE 语句指定要改写的列和新值,并用 WHERE 子句的条件限定对象行。如果不加条件就执行,表中所有行的指定列都会被改写。

类比就像在联系人列表里,只把换了电话号码的人的号码栏擦掉重写。

记法英语 update 由 up 和 date 组成,可以联想成把值调整到「最新日期的状态」。

考点

  • 易混插入挿入会使表的行增加,而更新更新不改变行数,只改变已有行的值。

「插入」与「更新」的区别

比较点插入更新
关键行数增加不变
操作对象表中还没有的新行表中已有的行
SQL 语句INSERT 语句UPDATE 语句

选择選択是从表中取出符合条件的行、生成新表的运算。

图书编号书名库存数条件:库存数在 4 以上
B01数据库入门3不符合 → 去掉
B02电子表格基础4符合 → 保留
B03网络入门5符合 → 保留

关系运算関係演算是以表为输入、结果也以表的形式返回的检索运算。选择的结果表与原表拥有相同的列,只留下符合条件的行(若没有任何行符合,就是 0 行)。在 SQL 中,写在 WHERE 子句里的条件就相当于选择。

类比就像从点名册中只抄出今天缺席的人那几行。

记法关系代数中用 σ(西格玛)表示,可以联想为与 selection 首字母 s 对应的希腊字母。

考点

  • 常考用 and 连接条件时,留下满足全部条件的行;用 or 连接时,只要满足其中任意一个就会留下。and 和 or 混用时,用括号决定先求值的组。
  • 常考在字符串条件中,% 代表任意个数(包括 0 个)的字符序列,_ 恰好代表 1 个字符。例如「%山」匹配以“山”结尾的值,「山%」匹配以“山”开头的值。

该术语的过去问 3 题 選択

投影射影是只保留表中所需的列、生成新表的关系运算。

图书编号(去掉的列)书名(保留的列)库存数(保留的列)
B01数据库入门3
B02电子表格基础4
B03网络入门5

投影不对行设条件,而是从所有行中取出指定列的值。在 SQL 中,紧跟在 SELECT 后面列出的列名就相当于投影。

类比就像从成绩单上只把姓名和总分这两列竖着剪下来保留。

记法关系代数中用 π(派)表示,可以联想为与 projection 首字母 p 对应的希腊字母。

考点

  • 常考关系运算関係演算可以连续使用。对按条件筛选过行的表再做投影射影,就能得到只列出所需项目的结果。
  • 常考把表连接起来之后再做投影射影,就能去掉用于对照的共有列等结果中不需要的列。
  • 易混选择選択以条件为依据减少行数,投影射影以列名为依据减少列数。

该术语的过去问 3 题 射影

「选择」与「投影」的区别

比较点选择投影
关键缩减的方向行(横向排列)列(纵向排列)
指定的内容行需满足的条件要保留的列名
SQL 中的写法WHERE 子句的条件紧跟 SELECT 的列名

连接結合是把两个以上的表中共有列共通の列的值相等的行相互连接,汇总成一个表的关系运算。

  1. 借阅表和图书表(两者都有图书编号列)
  2. 把图书编号相同的行相互对照
  3. 包含两个表各列的借阅一览表

两个表的列排在同一行里,得到每笔借阅都能看到书名的表。

3 / 3

连接的线索多使用一方表的主键主キー和另一方表中持有该值的外键外部キー这一组。结果表中排列着两个表的列,因此可以把只存在于某一方表中的项目放在一起处理。

类比就像把订单上的商品编号与商品目录里相同的编号对照,再补写上商品名称。

记法关系代数中用 ⋈(领结形)表示,可以联想成左右两个表在中间系在一起的样子。

考点

  • 常考要通过连接結合引入另一个表的项目,本表中也需要有能与该表对照值的共有列共通の列(多为对应对方主键主キー的外键外部キー)。
  • 常考在连接結合后的表中,可以利用原本分属不同表的列的值来选择選択行。
  • 易混交集运算積是收集列结构相同的两个表中都存在的行的运算,与以列值为线索把不同的表横向连接起来的连接結合作用不同。

该术语的过去问 3 题 結合

要点

  • 选择選択的条件可以用 and、or 和括号组合,字符串还可以用含 % 和 _ 的模式来指定。
  • 连接結合以主键主キー和外键外部キー这类值相互对应的列为线索,把行与行连接起来。
  • 关系运算関係演算可以连续使用,既可以对连接后的表加条件,也可以在最后只保留所需的列。
  • 关系数据库的操作用 SQL 编写,INSERT 语句和 UPDATE 语句负责写入,WHERE 子句对应行的条件。

确认题

从本单元的过去问中选 5 题

开始做确认题

查看这个领域的全部过去问