跳到正文

令和8年度 ITパスポート試験 問72

这道题的解析和你的作答记录。

問72
頻出度★★★

関係データベースで管理している“口座”表,“顧客”表及び“取引明細”表がある。新たな顧客が口座の開設と同時に1万円を入金するとき,表にデータを追加する順序として,適切なものはどれか。ここで,下線のうち実線は主キーを,破線は外部キーを表す。 口座

口座番号(主キー)口座種別残高顧客番号(外部キー)

顧客

顧客番号(主キー)顧客名

取引明細

取引番号(主キー)取引日時取引種別取引金額口座番号(外部キー)
出典 令和8年度 ITパスポート試験 問72
解説

問 72外键只能指向被参照的主键存在的行(参照完整性)

  • 错误ア

    这是 账户 → 客户 的顺序,但「账户」表通过外键「客户编号」参照「客户」表,因此在客户尚不存在时添加账户会违反参照完整性。必须先登记客户。

  • イ

    正解 外键只能指向「被参照的主键已经存在的行」(参照完整性)。由图可知,「账户」表通过外键「客户编号」参照「客户」表,「交易明细」表通过外键「账户编号」参照「账户」表。因此必须先登记被参照的一方,添加顺序为 客户 → 账户 → 交易明细。这也与新客户登记 → 为该客户开设账户 → 存款(交易)的业务流程相一致。所以正确答案是イ。

  • 错误ウ

    这是 客户 → 交易明细 → 账户 的顺序,但「交易明细」表通过外键「账户编号」参照「账户」表。在尚未登记账户的阶段无法添加交易明细,因此错误。

  • 错误エ

    这是 交易明细 → 账户 → 客户,将参照关系完全颠倒的顺序。最先添加的交易明细会参照不存在的账户,接着的账户又会参照不存在的客户,二者都违反参照完整性。

ここがポイント
  • 外键只能指向被参照的主键存在的行(参照完整性)。添加数据的原则是「先添加被参照的一方(父)表,后添加参照方(子)表」。
  • 从图中主键、外键的实线/虚线判读各表之间的参照方向,按父→子的顺序排列。
用語
解答問72イ
练这一题

作答记录