本文へ移動

ITパスポート試験 · 学習ガイド

データベースとネットワーク

データベースとネットワークとは

データベースとネットワークでは、情報を重複なく関連付けて管理する仕組みと、相手を指定して通信する仕組みを学びます。

顧客表と注文表の同じ顧客IDを一本の線で対応させた図。
考え方の例:顧客表の顧客IDと、注文表が参照する顧客IDを対応させると、誰の注文かを調べられます。注文番号と顧客IDは別の項目です。

顧客名だけで注文を管理すると、同姓同名の人を取り違えるかもしれません。データベースは一意に識別できるキーで情報を関連付けます。

基本の仕組み

基本の仕組みの図解。左に注文表、右に顧客表を置き、それぞれの顧客番号「101」を同じ高さに示す。注文表の外部キーから顧客表の主キーへ矢印を引き、名前は顧客表だけに置く。
覚えること:同じ顧客番号で結び名前を調べる

顧客表の顧客番号101と、注文表にある顧客番号101を結べば、名前を何度も入力せずに注文者を調べられます。主キーは行を一意に識別し、外部キーは表の関係を支えます。

SQLでは、SELECT句で取り出す列を指定し、WHERE句で条件に合う行を絞ります。ネットワークではIPアドレスで宛先を扱い、DNSはドメイン名に対応する情報を調べる役割を持ちます。

データベースのキーと通信のアドレスは用途が違います。DNSは名前を調べる仕組みであり、通信内容を暗号化する機能ではありません。

注文表の顧客番号を顧客表の主キーへ対応させる外部キーにすると、存在しない顧客番号を持つ注文を防ぐ参照整合性の制約を考えられます。顧客を削除する場合も、注文側との関係をどう扱うかを決めます。外部キーは注文番号そのものを一意にするための主キーとは役割が違います。

表の設計と名前解決

表の設計と名前解決の図解。左から「ドメイン名」→「DNS」→「IPアドレス」の順に矢印でつなぐ。IPアドレスの右には、矢印ではなく細い対応線で「通信先」を示し、IPアドレスが通信先を特定する関係を表す。
覚えること:DNSはドメイン名をIPアドレスへ引く

関係データベースでは行がレコード、列が項目を表します。主キーは行を一意に識別し、外部キーは別表の行を参照します。参照整合性は存在しない参照先を作らない制約です。検索はSELECT、追加はINSERT、更新はUPDATE、削除はDELETEを使います。

同じデータを複数の表に重複して持たないよう表を分割することを正規化といい、更新時の食い違いを防ぎます。複数の処理が同じデータを同時に更新すると結果が壊れるため、ロックで他の処理を待たせる排他制御を行います。一連の更新(トランザクション)は、全て成功したらコミットで確定し、途中で失敗したらロールバックで開始前の状態へ戻します。

ネットワークではIPアドレスが通信先を特定し、DNSがドメイン名をIPアドレスへ引きます。データベースの主キーとネットワークのアドレスはどちらも識別に関わりますが、識別する対象が異なります。

表の設計と名前解決
分類内容
主キー表の一行
外部キー別表の行
IPアドレスネットワーク上の通信先
DNS名前からIPアドレスへの対応

試験に出る

  • 主キー(行を一意に識別)と外部キー(表の関係)の役割の違い。
  • 外部キーによる参照整合性の考え方。
  • SELECT句(取り出す列)とWHERE句(行の絞り込み)の役割。
  • 正規化(重複の排除)、排他制御(同時更新の防止)、コミットとロールバックの違い。
  • DNSとIPアドレス(名前解決と宛先指定)の役割。
  • DNSは通信を暗号化する仕組みではないこと。

重要な言葉

主キー
表の行を一意に識別するための列や項目。
外部キー
別の表の主キーを参照し、表の関係を表す項目。
参照整合性
外部キーが参照する行が存在するよう保つ規則。
DNS
ドメイン名に対応するIPアドレスなどを調べる仕組み。
排他制御
同じデータへの同時更新で内容が壊れないよう、ロックで他の処理を待たせる制御。

確認問題

確かめよう同じ名前の顧客が二人いるとき、氏名を主キーにできる?

適しません。一意の顧客番号などを使います。

外部キーは、行を一意に識別するための鍵である。

DNSは、通信内容を暗号化する仕組みである。

表の行を一意に識別するキーは?

ドメイン名に対応する情報を調べる仕組みは?

顧客名だけで注文を管理すると、同姓同名の人を取り違えるかもしれません。は一意に識別できるで情報を関連付けます。

顧客表の顧客番号101と、注文表にある顧客番号101を結べば、名前を何度も入力せずに注文者を調べられます。は行を一意に識別し、は表の関係を支えます。

では、SELECT句で取り出す列を指定し、WHERE句で条件に合う行を絞ります。ネットワークではで宛先を扱い、DNSはドメイン名に対応する情報を調べる役割を持ちます。

データベースのキーと通信のアドレスは用途が違います。は名前を調べる仕組みであり、通信内容を暗号化する機能ではありません。

注文表の顧客番号を顧客表の主キーへ対応させるにすると、存在しない顧客番号を持つ注文を防ぐの制約を考えられます。顧客を削除する場合も、注文側との関係をどう扱うかを決めます。外部キーは注文番号そのものを一意にするための主キーとは役割が違います。

出典・参考資料

試験の公式案内と、この記事の参考にした学習資料です。

編集:Pinternet Works · 更新日:

教材の編集方針・訂正について