情報・AIの特集を読む →

情報・AI · 仕事のデータ・データベース

仕事のデータ:行の識別・関連・更新を設計する

顧客の表と注文の表をつなぐとき、氏名が同じ人や、まだ注文していない人をどう扱うでしょうか。データベースの用語は、こうした実務の条件を明確にする道具です。行を識別すること、関連する行を探すこと、変更をまとめることを順に考えます。

この特集は関係データベースと標準SQLの考え方を入口にします。NULLの扱いなど、具体的な製品や設定で差がある項目もあるため、例題の前提を確認してください。表が表示されたことと、意図した顧客や取引を正しく表せたことは別です。

このテーマのクイズへ

科目とテーマを選んだ開始画面へ進みます。出題方式・問数を確認してから始められます。

同じ名前でも別の行を識別する

顧客テーブルの一行は一顧客についての情報をまとめ、各列は住所など同じ種類の項目を持ちます。標準SQLの主キーは行を一意に識別し、NULLでない値を使います。同姓同名や改名を考えると、氏名だけを識別の基準にする危うさが分かります。

安定した顧客IDを関連する注文から参照すれば、表示名の変更と顧客の同一性を分けられます。一つの事実を多数の行へ重複して手入力すると、部分的な更新で矛盾が生じます。どの対象の事実をどのテーブルが持つかを整理することが、関連付けの土台です。

結合の後に何を残すかを決める

INNER JOINは条件が合う行の組を返します。顧客一覧に注文テーブルを結合すると、注文のない顧客はその結果に残りません。LEFT JOINは左の顧客行を残し、対応する注文がなければ右側の列へNULLを補うという違いがあります。

NULLを売上ゼロや空文字と同じだと決めつけないでください。対応する行がなかったという情報をどう見せるかは、問い合わせの目的に関わります。結合すると行が増える場合もあるため、元の顧客数と結果の行数がいつも一致するとは限りません。

複数の変更を一つの成立単位にする

取引の記録には、片方の残高を減らし、もう片方を増やすような複数の操作があります。トランザクションの原子性は、まとめた変更が全部成立するか、全部不成立になる性質です。途中の一部だけが反映される状態を避けるために使います。

COMMITは変更を確定し、ROLLBACKは未確定の変更を取り消します。確定したこと、他の処理からどう見えるか、媒体を失ったときの復旧はそれぞれ別の確認です。更新の正しさを考えるときは、一つの成功表示だけですべての保証がそろったとは判断しないようにしましょう。

TRY & READ

まずは例題で確かめる

選択肢を比べてから「答えと解説を読む」を開いてください。ここで読んだ例題は、テストの解答や成績として保存されません。

例題 1 · 仕事のデータ・データベース

標準SQLのtableにおけるprimary key(主キー)の基本条件はどれか。

  1. 全行で必ず同じ値
  2. 必ず顧客の氏名だけ
  3. 必ず数値の合計だけ
  4. 各行を一意に識別し、NULLではない
答えと解説を読む

正解:各行を一意に識別し、NULLではない

primary keyは一意性とNOT NULLの条件を持つ。氏名のように重複や変更がある値を安易に選ばない。

この例題の出典

  • PostgreSQL constraints

    Check, not-null, unique, primary-key, foreign-key and deletion actions

    出典確認日:2026-10-05

例題 2 · 仕事のデータ・データベース

LEFT JOINで左tableの行に右tableの対応行がなかったとき、基本的な結果はどれか。

  1. 右のcolumnを必ず0にする
  2. 必ずquery全体を失敗させる
  3. 左の行を残し、右のcolumnをNULLにする
  4. 左の行を必ず消す
答えと解説を読む

正解:左の行を残し、右のcolumnをNULLにする

left outer joinは左側の行を少なくとも一回残す。対応のない右側はNULLを補う。

この例題の出典

  • PostgreSQL joins

    Inner/left joins, unmatched rows and qualification

    出典確認日:2026-10-05

例題 3 · 仕事のデータ・データベース

database transactionのatomicity(原子性)が表すものはどれか。

  1. 文字が必ず一文字になること
  2. まとめた変更が全部成立するか、全部不成立になる
  3. 必ずCPUがatomでできていること
  4. 全値が必ず正数になること
答えと解説を読む

正解:まとめた変更が全部成立するか、全部不成立になる

transactionは複数の操作をall-or-nothingの単位にまとめる。片方だけ反映される不整合を防ぐための性質。

この例題の出典

  • PostgreSQL transactions

    Atomicity, permanent logging, visibility, COMMIT/ROLLBACK and savepoints

    出典確認日:2026-10-05

この特集の出典

クイズで続けてみる

このテーマの範囲は「仕事のデータ・データベース」。範囲は「身近な知識・知識を広げる・幅広い教養」、難しさは「基礎・標準」を最初に選びます。開始画面で条件を変更できます。

このテーマのクイズへ

テストは提出後に解説を確認できます。連続チャレンジは回答ごとに解説、復習はこの端末で記録された未解消の誤答が対象です。ひまつぶしは学習記録を更新せずに取り組めます。

気に入ったら、リンクをシェア

共有するのはこのページのアドレスだけです。保存データや成績は含みません。

このページのリンク