冬期講習 2026-2027、募集中。総復習は売りません。90分×完全1対1で、穴だけを塞ぎます 詳しく →
電話 0422-27-7828チャットで質問無料相談を予約

武蔵野個別指導塾の特徴

高校情報I データベースの検索と結合—条件に合う行と対応する表の組を取り出す|武蔵野個別指導塾

学習のイメージ写真 武蔵野個別指導塾
X LINE Facebook

選択と射影の違いを整理し、複数一致や一致なしを含む行の組から件数を数えて、定期テストの検索と結合に備えます。

よくあるのは、貸出の表と品物の表をつないだとき、同じ品物を借りた記録が複数あるのに、最初の1行だけを答えに残す場面です。品物が1つでも、それに対応する貸出の記録は1つとは限りません。表を目で眺めて似た名前を拾うのではなく、指定された列の値が一致する行の組を順に探すと、残す行と残さない行を区別できます。

テストの範囲表に検索や結合があれば、授業ノートで使った列名や記号も確認してください。ここでは表を加工する基本操作と、内部結合の結果を数える手順を扱います。集計や分析のためのデータ整理には広げず、どの行と列が結果に現れるかに集中します。表と記録は学習用に作ったものです。

問題文から作業を分ける

出題の型は大きく3つあります。1つ目は、ある条件を満たす行を選ぶ問題です。例えば「場所が教室である行」とあれば、各行の場所を上から確かめます。指定した条件に合わない行は結果に入れません。条件が2つあるときは、両方を満たすのか、どちらかを満たせばよいのかを読み分けます。

2つ目は、必要な列を取り出す問題です。「名前と場所を示す」とあれば、その2列を残します。行を絞る条件に使った列でも、結果に表示する指定がなければ最後に取り除けます。行の選択と列の射影を同じ作業として扱うと、条件を調べる前に必要な列を消してしまうことがあります。

3つ目は、2つの表の指定列を照らし合わせる問題です。内部結合では、値が一致する行どうしを組にします。1つの行が相手の2行に一致すれば、結果には2つの組ができます。反対に相手がない行は、内部結合の結果に現れません。件数を問われたら、元の表の行数ではなく、できた組を数えます。

解答欄が表なら、列名、行の内容、必要なら行順まで確かめます。問題に行順の指定がない場合、同じ行の組を違う順に並べても内容は同じです。一方、同じ表示が2回現れるときは、重複を取り除く指示がない限り、元の組が2つあることを失わないようにします。ここでは、射影後も重複行を残すという問題の約束を使います。授業や設問で別の約束が示されれば、そちらに従います。

行を選び、列を残し、表をつなぐ

表の横1行は1件の記録、縦1列は記録の項目です。例えば品物の表なら、品物番号と品物名が列です。番号は品物を見分けるための値で、貸出の表にも同じ番号を記録しておけば、どの品物が借りられたかを対応させられます。

選択は条件に合う行を残す操作です。射影は指定された列を取り出す操作です。名前が似ていても、対象が行か列かは異なります。図1のように、選択では表の横方向の記録をふるい、射影では必要な縦方向の項目を取り出します。結合では2つの表の対応する行を1つの組として並べます。

図1 選択と射影と結合の対象を区別する図

図1の「行の組」は、片方の表の行をもう片方の表に移すという意味ではありません。一致する2行を横につないだ結果を表しています。結合する列は名前が同じとは限らず、問題文で指定された列を使います。値の見た目が似た別の列で照合すると、元の関係と違う組ができるので注意します。

一致する行が複数あるときは、すべての組を作ります。左の1行に右の2行が対応すれば2組です。さらに左に同じ照合値を持つ別の1行があり、右に同じ2行が対応する場合、合計は4組です。内部結合という指定は、一致しない行を落とすことも含みます。相手がない行を空欄付きで残す操作は、この例の内部結合とは区別します。

条件が「以上」の場合は境界の値を含み、「より大きい」の場合は含みません。文字の一致も、問題が与えた値に従います。空欄の扱いが指定されていない問題で、空欄を0や特定の名前と勝手に同一視することはできません。まず問題の前提を確認し、判定できない場合はその不足を示すことが必要です。

基本例題:貸出の記録をつなぐ

次の品物表と貸出表があります。品物番号が同じ行を内部結合し、場所が教室の貸出について、貸出番号と品物名を表示してください。結果は貸出番号の小さい順に並べ、重複行があれば残します。各表の行は以下に示したものだけです。

品物表

品物番号 品物名
A 地図
B コンパス
C 模型

貸出表

貸出番号 品物番号 場所
1 A 教室
2 A 図書室
3 B 教室
4 A 教室
5 D 教室

まず品物番号で行の組を作ります。貸出番号1は品物Aの地図に対応します。貸出番号2もAなので、同じ品物表の行と別の組になります。貸出番号3はBのコンパスに対応し、4はAの地図に対応します。5のDに一致する品物表の行はないので、内部結合では組ができません。品物Cも貸出表に対応する行がないため結果に現れません。

次に場所を確認します。貸出番号2の場所は図書室なので除きます。1、3、4は教室なので残ります。最後に、指定された貸出番号と品物名の2列を取り出します。図2のようにAは複数の貸出に対応し、Dは対応先がない点を押さえます。

図2 貸出番号と品物番号の一致から組を作る図

手順を1行ずつ書くと次のようになります。

  1. 照合する列は、両表の品物番号です。
  2. 一致する組は、貸出1とA、貸出2とA、貸出3とB、貸出4とAです。
  3. 貸出5と品物Cには相手がないため、組に入りません。
  4. 場所が教室という条件で、貸出1、3、4の組を残します。
  5. 貸出番号と品物名を表示し、番号の小さい順に並べます。
貸出番号 品物名
1 地図
3 コンパス
4 地図

答えは3行です。表に戻して確かめると、1と4はいずれもAで教室、3はBで教室です。5も教室ですが、Dに対応する品物がないため、教室という条件だけでは結果に入れられません。条件を満たすことと、結合相手があることの両方が必要です。

逆に、先に貸出表から教室の行を選び、その結果を品物表と内部結合しても、この条件では同じ3組になります。ただし、先に品物番号を射影で消すと、後で対応を調べられません。作業順を変える際は、その時点で次の判定に必要な列が残っているか確認します。

少し難しい例題:両方に同じ値が複数ある場合

次の班表と活動表を、区分が等しい行どうしで内部結合します。班表の番号と活動表の活動名を表示し、班番号の小さい順、同じ班番号内では活動名を表の掲載順に並べてください。重複は除きません。区分は照合のための値で、両表の各行はそれぞれ別の記録です。

班表

班番号 区分
11 赤
12 赤
13 青
14 白

活動表

区分 活動名
赤 展示
赤 案内
青 整理
黄 記録

班11の赤は、展示と案内の2行に一致します。班12の赤も同じ2行に一致します。班13の青は整理の1行に一致し、班14の白は相手がありません。活動表の黄も対応する班がないので組になりません。照合値ごとに対応を列挙すると、赤は2行と2行の組合せで4組、青は1組、白と黄は0組です。

班番号 活動名
11 展示
11 案内
12 展示
12 案内
13 整理

結果は5行です。班が4つだから4行、活動が4つだから4行と決めてはいけません。元に戻して、各行の区分が一致するか、班11と班12のそれぞれに展示と案内があるかを調べます。結果の1行は「班と活動の組」であり、班そのものの数ではありません。

例えば活動名だけを取り出すよう問題が変わった場合、展示、案内、展示、案内、整理の5行です。この問題の約束では、同じ表示になった行も別の組に由来するため残します。重複除去の指示がある問題なら、表示の異なる活動名を数えることになり、件数の意味が変わります。どちらの数を求められたかを答案の列名とともに確認します。

間違いを行の組に戻して直す

基本例題に対して「教室は貸出1、3、4、5なので4行」と答えたとします。場所を調べるところまでは合っていますが、貸出5のDには品物表で一致する行がありません。内部結合では、相手がない行をそのまま残さないため、5を外して3行に直します。図3のように、条件に合うことと対応先があることを別々に確かめます。

図3 教室の貸出と対応する品物の有無を確かめる図

もう1つの誤答は「地図は品物表に1行しかないから、貸出1だけを残す」です。品物表の1行は貸出表の複数行と組になれます。貸出4もAで教室なので、1と4の両方が必要です。照合するたびに品物表の行を使い切ると考えず、各貸出行に対する相手を独立に探します。

射影に関する誤りとして、結果の列を品物名だけにした後、2つの地図を1つに減らす場合もあります。表示が同じでも元の貸出は異なります。この問題では重複を残す約束なので2行です。設問が重複を取り除くよう指定した場合との違いを、元の貸出番号を添えて説明できるようにします。

一致が0件だったときは、計算の失敗とは限りません。照合した列と値を再確認したうえで、一致する組がないなら結果は0行です。列名だけを示すか、0件と文章で答えるかは解答形式の指定に合わせます。異なる値を無理に対応させたり、内部結合なのに相手のない行を残したりしないことが重要です。

練習:先に問題を解いてから照合する

各問題は独立した自作の表です。行順は表に書いた順とし、特に指定がなければ射影後の重複を残します。答えは問題をすべて読んだ後にまとめています。

問1 条件に合う行

苗の表は、番号21が種類「豆」で高さ8、22が「花」で高さ5、23が「豆」で高さ5、24が「豆」で高さ3です。種類が豆で、かつ高さが5以上の行を選び、番号を小さい順に答えてください。高さ5は条件に含めます。

問2 列を取り出す

道具の表は、番号31が名前「筆」で色「青」、番号32が名前「紙」で色「白」、番号33が名前「筆」で色「赤」です。番号の順に名前の列だけを射影した結果を、上から順に答えてください。重複を取り除く指示はありません。

問3 複数一致と相手なし

部屋表は、番号41が区分「西」、42が「西」、43が「東」です。利用表は、区分「西」の活動が「読書」、区分「西」の活動が「工作」、区分「北」の活動が「音楽」です。区分が等しい行を内部結合し、部屋番号と活動の組を、部屋番号順、同じ番号なら利用表の順で答えてください。件数も答えてください。

問4 一致がないとき

カード表は、番号51の分類が「丸」、番号52の分類が「四角」です。印表には、分類「三角」の印「緑」の1行だけがあります。分類で内部結合した結果の行数を答え、理由を1文で書いてください。

練習の答えと確かめ方

問1の答えは21、23です。21は豆で高さ8、23は豆で高さ5なので、両方の条件に合います。22は高さ5ですが種類が花なので除きます。24は豆ですが高さ3なので除きます。境界の5を含めることと、両方を満たすことを別々に確かめると、21と23の2行に戻れます。

問2の答えは、上から筆、紙、筆です。名前の列を残して番号と色の列を取り除きます。31と33は表示がどちらも筆ですが、異なる元の行から来ています。重複を除く指示がないので3行のままです。元の表に戻し、各番号の名前を順に読めば結果を照合できます。

問3の答えは、41と読書、41と工作、42と読書、42と工作の4組です。41と42はそれぞれ西で、利用表の西の2行に対応します。43の東に一致する利用はなく、北の音楽にも一致する部屋はありません。各部屋から利用表を順に見直すと、41で2組、42で2組、43で0組となり、合計4組です。

問4の答えは0行です。理由は、カード表の丸と四角のどちらも、印表の三角と一致しないからです。2つのカード行について相手を調べ、いずれも組ができないことを確認します。0行という答えは、表の読み落としと区別するため、どの値を照合したかまで示すと明確です。

覚えておくこと

選択は条件に合う行を残します。
射影は必要な列を取り出します。
内部結合は指定した値が一致する行の組を作ります。
複数一致は組をそれぞれ残し、一致なしは組に入りません。
件数は結果の組を列挙してから数えます。

手が止まった場所の見つけ方

答案の行数が合わないときは、いきなり用語を覚え直す前に、元の各行に対応先を書き込んだかを見ます。複数一致を1つにしていれば、1行から相手の表を最後まで見る練習が必要です。相手のない行を残していれば、内部結合の条件を言葉で説明し直します。

個別指導で確かめるなら、まず本人に「この結果の1行は元のどの2行か」と尋ねます。次に、条件列と表示列をそれぞれ指さしてもらい、選択と射影を取り違えていないかを見ます。境界値や一致なしの例も含めて、表に戻して説明できれば、未知の表でも同じ手順を使えます。結合の件数は、対応する行の組を見落とさずに数えると決まります。

読んで終わりにするか、ここから変えるか。

武蔵境駅徒歩30秒、講師1人に生徒1人の完全1対1。授業のあいだ、先生は隣を離れません。いまの詰まりを、無料相談でそのまま話してください。

まず15分だけ電話で話したい方は、無料電話相談(15分)から。塾からお電話を差し上げます。

本気になった日が、入塾の日。

お子様の教育、迷ったら「丸投げ」してください。必ず、期待以上の結果で返します。武蔵野で育む、武蔵境で学ぶ。

電話は年中無休。365日、24時間、お電話可能。

チャットで質問チャット
無料相談を予約する 電話 0422-27-7828電話 LINE チャット
で質問