共通テスト 情報Ⅰ・5-12

データベースの操作の一問一答

共通テスト「情報Ⅰ」の「ネットワークとデータの活用」から、データベースの操作に関する4択問題を10問。「答えと解説を見る」を開くと、正解とその理由がその場で読めます。会員登録は不要です。

この分野の演習

全10問/解説付き・基本無料

アプリ形式で解く(全800問) ネットワークとデータの活用の要点解説を読む
問題

上から順に解いてみてください。答えは各問の下で確認できます。

問15-12・基礎

図は、関係データベースの生徒表である。この表の「氏名」(色を付けた列)や「クラス番号」のような列(項目)のことを何というか。

生徒番号氏名クラス番号S01青木C1S02石田C2S03上野C1
自作の図(架空の生徒)
  • ①レコード
  • ②テーブル
  • ③フィールド
  • ④インデックス
答えと解説を見る
正解 ③フィールド
解説
正解は「フィールド」。表の列、つまりデータの項目のことです。

なぜ
図の生徒表では、色を付けた「氏名」の列が1つのフィールドです。関係データベースでは、データを表(テーブル)で管理します。表の1行が1件分のデータ(レコード)、1列が1つの項目(フィールド)です。なお、表の形には、1件分のデータを1行にまとめて項目を列として横に並べるワイド形式(横持ち)と、「どの件の・どの項目が・どんな値か」を1行ずつ書き、項目の数だけ行が縦に伸びるロング形式(縦持ち)があります。

ひっかけ注意

・「レコード」…表の1行で、1件分のデータのまとまり。生徒表なら、生徒1人分の生徒番号・氏名・クラス番号の組が1つのレコードです。
・「テーブル」…行と列からなる表そのもの。関係データベースでは、生徒表とクラス表のように目的ごとに2つ以上の表を作り、結合して使います。
・「インデックス」…検索を速くするために、特定のフィールドに作っておく索引。本の巻末の索引と同じ役目をします。
問25-12・基礎

関係データベースの操作のうち、表から条件に合う行(レコード)だけを取り出す操作はどれか。

  • ①射影
  • ②結合
  • ③正規化
  • ④選択
答えと解説を見る
正解 ④選択
解説
正解は「選択」。クラス番号がC1の人、のように条件で行を絞り込む操作です。

なぜ
関係データベースの基本の操作(関係演算)には、選択(条件に合う行を取り出す)、射影(一部の列を取り出す)、結合(2つ以上の表を1つにする)があります。選択では列の数は変わらず、行の数が減ります。

ひっかけ注意

・「射影」…必要な列(フィールド)だけを取り出す操作。行の数は変わらず、列の数が減ります。
・「結合」…共通のフィールドの値が等しい行どうしをつなぎ、2つの表を1つにする操作。ふつうは外部キーと主キーを手がかりにします。
・「正規化」…同じ情報の繰り返しをなくすように表を分けて設計する工夫。変更が1か所で済むため直し忘れを防げますが、行を取り出す操作ではありません。
問35-12・標準
次の生徒表から、クラス番号がC1のレコードを選択し、その結果から「氏名」の列を射影した。得られる表の大きさはどれか。
生徒表
生徒番号氏名クラス番号
S01青木C1
S02石田C2
S03上野C1
S04江藤C3
S05小川C2
  • ①2行・1列
  • ②5行・1列
  • ③2行・3列
  • ④1行・2列
答えと解説を見る
正解 ①2行・1列
解説
正解は「2行・1列」。選択で行が減り、射影で列が減ります。

手順
①元の生徒表は5行(5件)・3列(3項目)です。
②選択:クラス番号がC1なのはS01(青木)とS03(上野)なので、2行・3列になります。
③射影:その結果から氏名の列だけを取り出すので、2行・1列になります。

ひっかけ注意

・「5行・1列」…射影だけをした場合の大きさ。選択で行をC1の2行に絞る手順が抜けています。
・「2行・3列」…選択だけをした場合の大きさ。射影で氏名の1列にする手順が抜けています。
・「1行・2列」…行と列を取り違えた大きさ。正しくは2行・1列で、行はレコード(件数)、列はフィールド(項目)の数です。
問45-12・基礎
次の2つの表がある。生徒表から「クラス番号がC2」のレコードを選択すると、何件のレコードが得られるか。
生徒表
生徒番号氏名クラス番号
S01青木C1
S02石田C2
S03上野C1
S04江藤C3
S05小川C2

クラス表
クラス番号担任
C1田村
C2中西
C3野口
  • ①1件
  • ②2件
  • ③3件
  • ④5件
答えと解説を見る
正解 ②2件
解説
正解は「2件」。クラス番号がC2なのは、石田(S02)と小川(S05)の2人です。

手順
①生徒表のクラス番号の列を上から見ます。
②C2になっているのはS02とS05です。
③よって2件です。選択では、条件に合う行が列をそのまま保って残ります。

ひっかけ注意

・「1件」…クラス表の中でC2の行を数えた件数。選択の対象は生徒表で、C2の生徒は2人います。
・「3件」…クラス番号がC2以外(C1の2件とC3の1件)のレコードの件数。条件を逆に読んでいます。
・「5件」…生徒表のすべての件数。選択は条件に合う行だけを残すので、件数は元の5件以下になります。
問55-12・標準

次のデータは、1行ごとに「キー」と「値」の組になっている。
user1001 → 青木
user1002 → 石田
user1003 → 上野
このようなキー・バリュー形式のデータなど、関係データベースの表とは異なる形式のデータを蓄積・管理するデータベースを、まとめて何と呼ぶか。

  • ①SQL
  • ②JSON
  • ③NoSQL
  • ④CSV
答えと解説を見る
正解 ③NoSQL
解説
正解は「NoSQL」。キー・バリュー形式などに対応したデータベースをまとめた呼び名です。

なぜ
項目(キー)と値(バリュー)の組でデータを表す形式を、キー・バリュー形式といいます。関係データベースのほかに、こうした形式のデータを扱うデータベースがあり、まとめてNoSQLと呼ばれます。多様で大量のデータ(ビッグデータ)の活用とかかわって注目されています。

ひっかけ注意

・「SQL」…関係データベースを操作するための言語。SELECTで条件に合うレコードを取り出すなど、表の形のデータを扱うために使います。
・「JSON」…{ } の中に、キーと値の組をコロン(:)でつないで並べるテキストのデータ形式。1組を "user1001": "青木" のように書き、キー・バリュー形式のデータを表せますが、データベースの呼び名ではなく書き方の名前です。
・「CSV」…値をコンマで区切り、1行を1件として記録するテキスト形式。データの受け渡しに使うファイルの形式の名前です。
問65-12・標準
次の2つの表について、生徒表とクラス表を「クラス番号」で結合し、担任が「田村」のレコードを選択して、「氏名」の列を射影した。得られる氏名はどれか。
生徒表
生徒番号氏名クラス番号
S01青木C1
S02石田C2
S03上野C1
S04江藤C3
S05小川C2

クラス表
クラス番号担任
C1田村
C2中西
C3野口
  • ①石田と小川
  • ②田村
  • ③青木と上野と江藤
  • ④青木と上野
答えと解説を見る
正解 ④青木と上野
解説
正解は「青木と上野」。結合→選択→射影の順に、表を少しずつ絞り込みます。

手順
①結合:生徒表の各行に、クラス番号が等しいクラス表の行(担任)をつなげます。
②選択:担任が田村(C1)の行だけを残すと、青木と上野の2行になります。
③射影:氏名の列だけを取り出すと、青木と上野です。

ひっかけ注意

・「石田と小川」…クラス番号C2の生徒で、担任は中西。選択の条件(担任が田村)に合わないので残りません。
・「田村」…担任のフィールドの値。射影で取り出すのは氏名のフィールドだけなので、答えは生徒の名前になります。
・「青木と上野と江藤」…江藤はクラス番号C3で、担任は野口。選択の段階で外れます。
問75-12・標準
次の生徒表で、レコードを1件に特定するための主キーとして最も適切なフィールドはどれか。なお、今後、同じ氏名の生徒が入学する場合もある。
生徒表
生徒番号氏名クラス番号
S01青木C1
S02石田C2
S03上野C1
S04江藤C3
S05小川C2
  • ①生徒番号
  • ②氏名
  • ③クラス番号
  • ④氏名とクラス番号の組
答えと解説を見る
正解 ①生徒番号
解説
正解は「生徒番号」。生徒一人一人に重ならないように割り当てた番号なので、どの行かを必ず1つに決められます。

なぜ
主キーは、表の中でレコードを1件に決められる(値が重複しない)フィールドを選びます。今のデータで重なっていなくても、将来重なるおそれがあるものは主キーに向きません。

ひっかけ注意

・「氏名」…今は重なっていなくても、同じ氏名の生徒が入学した場合に重複します。主キーは将来も重複しない値にします。
・「クラス番号」…C1が2件、C2が2件と、既に重複しています。1つのクラスに何人もいるので、1件に決められません。
・「氏名とクラス番号の組」…同じクラスに同じ氏名の生徒が入った場合に重複します。組にしても、1件に決められるとは限りません。
問85-12・標準
次の2つの表で、クラス表の主キーは「クラス番号」である。2つの表を関連づける外部キーにあたるものはどれか。
生徒表
生徒番号氏名クラス番号
S01青木C1
S02石田C2
S03上野C1
S04江藤C3
S05小川C2

クラス表
クラス番号担任
C1田村
C2中西
C3野口
  • ①クラス表のクラス番号
  • ②生徒表のクラス番号
  • ③生徒表の生徒番号
  • ④クラス表の担任
答えと解説を見る
正解 ②生徒表のクラス番号
解説
正解は「生徒表のクラス番号」。別の表(クラス表)の主キーを参照しているフィールドが外部キーです。

なぜ
生徒表のクラス番号を手がかりにクラス表を見ると、その生徒の担任が分かります。このように、他の表の主キーの値を持つことで表どうしをつなぐのが外部キーで、結合の手がかりになります。

ひっかけ注意

・「クラス表のクラス番号」…クラス表の主キーで、参照される側。一方、外部キーは参照する側(生徒表)にあるフィールドです。
・「生徒表の生徒番号」…生徒表の主キー。生徒1人を1件に決める番号で、他の表を参照していません。
・「クラス表の担任」…他の表の主キーを参照していない、ふつうのフィールド。C1なら田村のように、クラスごとの情報です。
問95-12・標準
次の生徒表のクラス番号が、クラス表のクラス番号(主キー)を参照するように設定したデータベースがある。
生徒表
生徒番号氏名クラス番号
S01青木C1
S02石田C2
S03上野C1
クラス表
クラス番号担任
C1田村
C2中川
ここに、クラス表に存在しない「C9」をクラス番号とする生徒を登録しようとしたところ、登録が拒否された。データベース管理システム(DBMS)のどの働きによるものか。
  • ①一意性制約
  • ②排他制御
  • ③参照制約
  • ④障害回復
答えと解説を見る
正解 ③参照制約
解説
正解は「参照制約」。外部キーの値が、参照先の表の主キーに実際にあることを求めるきまりです。

なぜ
クラス表にはC1とC2しかありません。C9を登録すると、その生徒の担任をクラス表から探せなくなり、表どうしのつながりが矛盾します。DBMSは参照制約によって参照先にない値の登録を拒み、データの整合性(矛盾のなさ)を保ちます。

ひっかけ注意

・「一意性制約」…同じ値が2件以上入らないようにするきまり。主キーの生徒番号に、既にある番号を登録しようとしたときに働きます。
・「排他制御」…複数の利用者が同時に同じデータを更新して食い違うのを防ぐ働き。一方の処理が終わるまで、他方を待たせます(ロック)。
・「障害回復」…故障などでデータが壊れたとき、バックアップや更新の記録を使って正しい状態に戻す働き(リカバリ)です。
問105-12・標準
ある商品の在庫数「10」を、店員Aと店員Bがほぼ同時に読み出し、それぞれが商品を1個売った。排他制御を行っていないデータベースで、処理は次の表の順に進んだ。
順番店員A店員B
1在庫数を読み出す
2在庫数を読み出す
3読んだ値から1を引いて書き込む
4読んだ値から1を引いて書き込む
最終的に記録される在庫数はどれか。
  • ①8個
  • ②10個
  • ③7個
  • ④9個
答えと解説を見る
正解 ④9個
解説
正解は「9個」。本当は2個売れて8個になるはずなのに、後から書き込んだ値で先の更新が上書きされ、1個分が消えてしまいます。

手順
①表の順番1・2で、AもBも、同じ10を読み出します。
②Aが10−1=9を書き込みます。
③BもAの更新を知らないまま、10−1=9を書き込みます。
④記録は9個になり、実際(8個)と食い違います。排他制御でAの処理中はBを待たせれば、Bは9を読んで8を書き込めます。

ひっかけ注意

・「8個」…排他制御をしたときの正しい結果。Aの処理が終わるまでBを待たせれば、Bは9を読んで8を書き込みます。
・「10個」…どちらの書き込みも反映されなかった場合の値。実際にはAもBも9を書き込んでいます。
・「7個」…売れたのは2個なので、どの順で処理しても10から3を引く場合はありません。

当サイトは、独立行政法人 大学入試センターとは一切関係のない、非公式の学習サイトです。試験に関する最新情報は、大学入試センターの公式サイトでご確認ください。

共通テスト 情報Ⅰ 基礎完全対策(全800問)に戻る

※本ページでは、アクセス解析(Googleアナリティクス)と、広告の配信・成果の計測(A8.net)のためにCookie等を利用し、閲覧に関する情報をGoogle LLC・株式会社ファンコミュニケーションズへ送信しています。詳しくはプライバシーポリシーをご覧ください。

※本ページの問題・解説は、生成AI(人工知能)を活用して作成しています。

【PR】