基本情報技術者試験のデータベース入門|主キー・外部キー・JOIN・正規化・トランザクションを解説

【PR】この記事には広告を含みます。
基本情報技術者試験のデータベース入門を初心者向けに解説

基本情報技術者試験のデータベースでは、表の意味を読む力、表同士の関係を読む力、SQLの結果を考える力が問われます。

ITパスポートでは、「データを表で管理する」「行と列で考える」「SQLでデータを取り出す」といった入口が中心です。

データベースの基礎から確認したい方は、先にITパスポートのデータベース入門を読むと、表・行・列・SQLの基本を整理しやすくなります。

一方、基本情報技術者試験では、そこから一歩進んで、主キー、外部キー、JOIN、正規化、トランザクションなども理解する必要があります。

データベースが科目A・科目Bのどちらで問われやすいかを整理したい方は、基本情報技術者試験の科目Aと科目Bの違いも参考にしてください。

この記事では、データベースをただ暗記するのではなく、問題で読める形にして整理します。

ここだけ読めばOK

基本情報技術者試験のデータベースでは、表の中身だけでなく、表と表のつながりを読むことが大切です。主キーは1件のデータを見分ける項目、外部キーは別の表とつなぐ項目です。SQLでは、どの表を使い、どの列を取り出し、どの条件でしぼるかを順番に考えます。

目次

基本情報技術者試験のデータベースでは何が問われる?

科目Aで用語・SQL・設計の考え方が問われる

基本情報技術者試験のデータベースは、主に科目Aで問われます。

問われやすい内容は、データベースの基本用語、SQL、表の設計、正規化、トランザクションなどです。

たとえば、次のような問題が考えられます。

  • 主キーとして正しいものを選ぶ
  • 外部キーの役割を選ぶ
  • SQLを実行した結果を選ぶ
  • 表を分ける理由を選ぶ
  • 正規化の目的を選ぶ
  • コミットやロールバックの意味を選ぶ

用語の意味だけでなく、「どの場面で使うのか」まで押さえることが大切です。

表の関係を読み取る力が必要

データベースの問題では、1つの表だけを見るとは限りません。

会員表、注文表、商品表のように、複数の表が出てくることがあります。

このとき大事なのは、「どの列とどの列がつながっているか」を読むことです。

たとえば、注文表にある会員番号は、会員表の会員番号とつながります。

これにより、「この注文をした会員は誰か」を調べられます。

SQLや正規化で差がつきやすい

SQLや正規化は、言葉だけを覚えても解きにくい分野です。

SQLでは、表に対して命令を出し、どの行が残るかを考えます。

正規化では、表をどのように分けると重複や矛盾を減らせるかを考えます。

どちらも、丸暗記ではなく、手順で考えることが大切です。

基本情報技術者試験で押さえるデータベースの全体像

基本情報のデータベース全体像を示した図

データを表で管理する

データベースは、データを整理して保存する仕組みです。

データベースの意味を先に確認したい方は、データベースとはも参考になります。

基本情報技術者試験でよく出るのは、表の形でデータを管理するリレーショナルデータベースです。

表計算ソフトの表をイメージすると分かりやすいです。

会員番号氏名都道府県
1001佐藤東京
1002鈴木大阪
1003田中福岡

このように、1人分のデータを1行で持つと、検索や更新がしやすくなります。

表同士をつなげて管理する

すべての情報を1つの表に入れると、同じデータが何度も出てきます。

たとえば、注文のたびに会員名や住所を毎回書くと、同じ会員の情報が何行にも出てきます。

そこで、会員表と注文表を分けます。

会員表の項目役割
会員番号会員を見分ける
氏名会員名を管理する
住所会員の住所を管理する
注文表の項目役割
注文番号注文を見分ける
会員番号どの会員の注文かを示す
注文日注文した日を示す

このように表を分け、必要なときにつなげて使うのがデータベースの基本です。

SQLで必要な情報を取り出す

SQLは、データベースに命令を出すための言葉です。

SQLの基本を先に確認したい方は、SQLとはも参考にしてください。

たとえば、次のようなことができます。

  • 東京の会員だけを取り出す
  • 注文日が新しい順に並べる
  • 商品ごとの売上を集計する
  • 会員表と注文表をつなげる

基本情報技術者試験では、SQL文の意味を読み、実行結果を選ぶ問題が出ます。

正規化で重複や矛盾を減らす

正規化とは、データの重複や矛盾を減らすために、表を整理することです。

たとえば、1つの表に会員情報と注文情報をすべて入れると、同じ会員名が何度も出てくることがあります。

会員名を変更するとき、すべての行を直さなければなりません。

直し忘れると、同じ会員なのに別の名前が残ることがあります。

正規化は、このような問題を防ぐために行います。

トランザクションで安全に更新する

トランザクションとは、複数の処理を1つのまとまりとして扱うことです。

銀行の振込を例にすると、Aさんの口座からお金を引く処理と、Bさんの口座にお金を足す処理は、必ずセットで成功する必要があります。

片方だけ成功すると、お金のつじつまが合わなくなります。

そのため、すべて成功したらコミット、途中で失敗したらロールバックします。

表・行・列・テーブルの基本

テーブルとレコードとフィールドの違いを示した図

テーブルとは

テーブルとは、データを表の形でまとめたものです。

会員を管理する表なら「会員テーブル」、商品を管理する表なら「商品テーブル」と呼びます。

基本情報技術者試験では、「表」と「テーブル」はほぼ同じ意味で考えて問題ありません。

レコードとは

レコードとは、表の1行分のデータです。

会員表なら、1人分の会員情報が1レコードです。

会員番号氏名都道府県
1001佐藤東京

この1行が1レコードです。

フィールドとは

フィールドとは、表の1列分の項目です。

会員表なら、会員番号、氏名、都道府県などがフィールドです。

「列」「項目」「フィールド」は、近い意味で使われます。

列の意味とデータ型

列には、それぞれ意味があります。

会員番号には番号、氏名には文字、注文日には日付が入ります。

このように、どの種類の値を入れるかを決めるものをデータ型といいます。

入る値の例データ型の考え方
会員番号1001数値や文字列
氏名佐藤文字列
注文日2026-05-21日付
金額3000数値

データ型が合っていないと、計算や比較が正しくできないことがあります。

主キーとは?

主キーの役割と条件を示した図

主キーは1件のデータを見分ける項目

主キーとは、表の中で1件のデータを見分けるための項目です。

会員表なら会員番号、商品表なら商品コードのようなものです。

たとえるなら、学校の出席番号や社員番号のようなものです。

主キーには重複がない

主キーは、同じ値が重複してはいけません。

会員番号1001の人が2人いると、どちらの会員を指しているのか分からなくなります。

そのため、主キーは1件をはっきり見分けられる値である必要があります。

主キーには空の値を入れない

主キーには、空の値を入れません。

空の値とは、値が入っていない状態です。

主キーが空だと、そのデータを見分けられません。

基本情報技術者試験では、主キーの条件として「重複しない」「空にしない」を押さえましょう。

会員番号や商品コードの例

主キーの例を見てみましょう。

主キーになりやすい項目理由
会員表会員番号会員を1人ずつ見分けられる
商品表商品コード商品を1つずつ見分けられる
注文表注文番号注文を1件ずつ見分けられる

氏名は主キーに向かないことがあります。

同姓同名の人がいる可能性があるからです。

外部キーとは?

主キーと外部キーの関係を示した図

外部キーは別の表とつなぐための項目

外部キーとは、別の表とつなぐための項目です。

注文表にある会員番号は、会員表の会員番号とつながります。

このとき、注文表の会員番号が外部キーです。

主キーと外部キーの関係

主キーは、自分の表でデータを見分ける項目です。

外部キーは、別の表の主キーを参照する項目です。

項目役割
主キー自分の表で1件を見分ける会員表の会員番号
外部キー別の表とつなぐ注文表の会員番号

主キーは「本人の番号」、外部キーは「その番号を使って別の表から参照するもの」と考えると分かりやすいです。

表を分ける理由

表を分ける理由は、データの重複を減らし、管理しやすくするためです。

注文のたびに会員名や住所を毎回書くと、同じ情報が何度も出ます。

会員情報は会員表に1回だけ持ち、注文表には会員番号だけを持たせると、データがすっきりします。

参照整合性とは

参照整合性とは、表同士のつながりが正しく保たれている状態です。

たとえば、注文表に会員番号9999があるのに、会員表に会員番号9999が存在しないとします。

この場合、「存在しない会員の注文」があることになります。

参照整合性は、このような矛盾を防ぐための考え方です。

リレーションシップの基本

1対1、1対多、多対多の関係を示した図

1対1の関係

1対1の関係とは、片方の1件に対して、もう片方も1件だけ対応する関係です。

たとえば、社員表と社員証表を分ける場合、1人の社員に1つの社員証が対応します。

ただし、実際の設計では、1対1はそれほど多くありません。

1対多の関係

1対多の関係とは、片方の1件に対して、もう片方が複数件対応する関係です。

会員と注文の関係が分かりやすい例です。

1人の会員が、何回も注文することがあります。

関係
11人の会員
複数の注文

基本情報技術者試験では、この1対多の関係がよく出ます。

多対多の関係

多対多の関係とは、両方が複数件で対応する関係です。

学生と授業を例にします。

1人の学生は複数の授業を受けます。

1つの授業にも複数の学生がいます。

このような関係を、そのまま1つの表で持つと管理しにくくなります。

中間テーブルの考え方

多対多の関係では、中間テーブルを使います。

学生と授業なら、「受講テーブル」を作ります。

学生番号授業番号
S001C101
S001C102
S002C101

中間テーブルを使うと、多対多の関係を、1対多の関係に分けて管理できます。

SQLの基本

SELECTでデータを取り出す

SELECTは、表からデータを取り出す命令です。

SELECT 氏名, 都道府県
FROM 会員;

このSQLは、会員表から氏名と都道府県を取り出します。

SELECTの後ろには、取り出したい列を書きます。

WHEREで条件を付ける

WHEREは、取り出す行に条件を付ける命令です。

SELECT 氏名
FROM 会員
WHERE 都道府県 = '東京';

このSQLは、都道府県が東京の会員だけを取り出します。

WHEREを見るときは、「どの行が残るか」を考えます。

ORDER BYで並べ替える

ORDER BYは、結果を並べ替える命令です。

SELECT 商品名, 価格
FROM 商品
ORDER BY 価格 DESC;

DESCは降順です。

価格が高い順に並びます。

ASCは昇順です。

価格が低い順に並びます。

GROUP BYで集計する

GROUP BYは、同じ値ごとにグループにして集計する命令です。

SELECT 商品コード, SUM(数量)
FROM 注文明細
GROUP BY 商品コード;

このSQLは、商品コードごとに数量を合計します。

GROUP BYが出たら、「何ごとにまとめるのか」を確認します。

INSERT・UPDATE・DELETEの役割

SQLには、データを取り出すだけでなく、追加・更新・削除をする命令もあります。

命令役割
INSERT新しい行を追加する新しい会員を登録する
UPDATE既存の行を更新する住所を変更する
DELETE既存の行を削除する退会した会員を削除する

UPDATEやDELETEでは、WHEREを書き忘れると多くの行に影響することがあります。

JOINとは?

JOINで2つの表をつなぐ流れを示した図

JOINは複数の表をつなげる命令

JOINとは、複数の表をつなげて、1つの結果として取り出す命令です。

会員表と注文表をつなげると、「誰が、いつ注文したか」を取り出せます。

内部結合の考え方

内部結合は、両方の表で条件に合うデータだけを取り出します。

たとえば、会員表と注文表を会員番号で結合すると、注文がある会員の情報が取り出されます。

SELECT 会員.氏名, 注文.注文日
FROM 会員
INNER JOIN 注文
ON 会員.会員番号 = 注文.会員番号;

内部結合では、つながる相手がない行は結果に出ません。

外部結合の考え方

外部結合は、片方の表の行を残しながら、もう片方の表をつなげる方法です。

たとえば、会員表を基準に外部結合すると、注文がない会員も結果に出せます。

注文がない部分は、値が空になります。

結合考え方見分け方
内部結合両方にあるものだけ出すつながる相手がない行は出ない
外部結合片方を残し、合うものをつなぐつながる相手がなくても片方の行は残る

主キーと外部キーを使って表をつなぐ

JOINでは、主キーと外部キーを使って表をつなぐことが多いです。

会員表の会員番号は主キーです。

注文表の会員番号は外部キーです。

この2つを結合条件にします。

ON 会員.会員番号 = 注文.会員番号

SQL問題では、ONの条件をよく見ましょう。

試験でよくある表の読み方

JOINの問題では、いきなり結果を考えようとすると混乱します。

次の順番で読みます。

  • どの表を使っているか
  • どの列を取り出しているか
  • どの列で結合しているか
  • WHEREでどの行が残るか
  • ORDER BYでどう並ぶか

特に、結合条件とWHERE条件を分けて読むことが大切です。

正規化とは?

正規化で表を分ける前後を示した図

正規化はデータの重複や矛盾を減らす考え方

正規化とは、表を整理して、データの重複や矛盾を減らす考え方です。

たとえば、注文表の中に会員名や住所を毎回入れると、同じ会員の情報が何度も出ます。

会員名を変更するとき、すべての注文行を直す必要があります。

これを避けるために、会員情報は会員表に分けます。

基本情報技術者試験では、正規化の目的を「重複を減らす」「更新時の矛盾を防ぐ」と押さえましょう。

第1正規形

第1正規形は、1つの欄に複数の値を入れない形です。

悪い例を見てみましょう。

注文番号商品
O001りんご、みかん、バナナ

商品欄に複数の商品が入っています。

これでは、商品ごとの集計がしにくくなります。

第1正規形では、1つの欄には1つの値だけを入れます。

注文番号商品
O001りんご
O001みかん
O001バナナ

このように、1つの欄に1つの値を入れると、検索や集計がしやすくなります。

第2正規形

第2正規形は、複合主キーの一部だけで決まる項目を、別の表に分ける形です。

複合主キーとは、複数の列を組み合わせて主キーにすることです。

基本情報技術者試験では、この考え方を「部分関数従属の排除」と呼ぶことがあります。

少し難しい言葉ですが、かんたんに言うと「主キー全体ではなく、主キーの一部だけで決まる項目を分ける」という意味です。

たとえば、注文番号と商品コードの組み合わせで1行を見分ける表があるとします。

注文番号商品コード商品名数量
O001P01りんご2
O001P02みかん3

この表では、商品名は注文番号ではなく、商品コードだけで決まります。

つまり、商品名は複合主キー全体ではなく、商品コードだけに依存しています。

そのため、商品名は商品表に分けるとよいです。

商品コード商品名
P01りんご
P02みかん

第2正規形では、「複合主キーの一部だけで決まる項目はないか」を確認します。

第3正規形

第3正規形は、主キー以外の項目から決まる項目を、別の表に分ける形です。

基本情報技術者試験では、この考え方を「推移的関数従属の排除」と呼ぶことがあります。

かんたんに言うと、「主キーではない項目から、さらに別の項目が決まっている状態をなくす」という意味です。

たとえば、会員表に郵便番号と都道府県があるとします。

会員番号氏名郵便番号都道府県
1001佐藤100-0001東京

会員番号から会員情報が決まります。

しかし、都道府県は会員番号から直接決まるというより、郵便番号から決まる情報です。

このような場合、郵便番号と住所情報を別の表に分ける考え方があります。

郵便番号都道府県
100-0001東京

第3正規形では、「主キー以外の項目から、さらに別の項目が決まっていないか」を確認します。

正規化しないと起きる問題

正規化しないと、次のような問題が起きやすくなります。

  • 同じデータを何度も入力する
  • 一部だけ修正され、矛盾が起きる
  • 必要なデータだけを消せない
  • 集計や検索がしにくくなる

基本情報技術者試験では、正規化の目的を「データの重複や矛盾を減らすこと」と押さえましょう。

トランザクションとは?

トランザクションとコミットとロールバックの流れを示した図

トランザクションは一連の処理をまとめて扱うこと

トランザクションとは、複数の処理を1つのまとまりとして扱うことです。

銀行の振込を例にします。

  • Aさんの口座から1万円を引く
  • Bさんの口座に1万円を足す

この2つは、必ずセットで成功する必要があります。

片方だけ成功すると、データのつじつまが合わなくなります。

コミットとは

コミットとは、トランザクションの結果を確定することです。

すべての処理が正しく終わったら、コミットしてデータベースに反映します。

たとえるなら、下書きの内容を正式に保存するようなものです。

ロールバックとは

ロールバックとは、トランザクションの途中で問題が起きたとき、処理を取り消して元に戻すことです。

振込の途中でエラーが起きた場合、Aさんの口座だけ減った状態にしてはいけません。

そのため、処理前の状態に戻します。

ACID特性の考え方

ACID特性とは、トランザクションが安全に行われるための性質です。

性質意味かんたんな考え方
原子性全部成功するか、全部取り消す中途半端にしない
一貫性データのルールを守る矛盾を作らない
独立性同時処理の影響を受けにくくする他の処理と混ざらない
耐久性確定した結果を失わない保存した結果を守る

英字を丸暗記するよりも、「安全に更新するための性質」と考えましょう。

排他制御が必要な理由

排他制御とロックの必要性を示した図

排他制御とは、複数の人や処理が同時に同じデータを更新するとき、データの矛盾を防ぐ仕組みです。

たとえば、在庫が1個しかない商品を、2人が同時に買おうとした場合を考えます。

両方の注文をそのまま通すと、在庫がないのに売れてしまうことがあります。

排他制御は、このような同時更新の問題を防ぐために使われます。

具体的な方法の1つに、ロックがあります。

ロックとは、ある処理がデータを使っている間、ほかの処理が勝手に変更できないようにする仕組みです。

ロックの種類意味イメージ
共有ロックほかの処理も読むことはできるが、更新はしにくくするみんなで見るだけ
占有ロックほかの処理が読み書きしにくい状態にする1人が作業中なので触らない

基本情報技術者試験では、「同時に更新すると矛盾が起きる」「それを防ぐためにロックや排他制御を使う」と押さえておきましょう。

基本情報技術者試験で間違えやすいデータベース用語

主キーと外部キーの違い

主キーと外部キーは、名前が似ているため混同しやすいです。

用語役割見分け方
主キー自分の表で1件を見分ける重複しない、空にしない
外部キー別の表とつなぐ別の表の主キーを参照する

問題文に「一意に識別」とあれば、主キーを考えます。

問題文に「別の表を参照」とあれば、外部キーを考えます。

WHEREとHAVINGの違い

WHEREとHAVINGは、どちらも条件を付けるために使います。

違いは、条件を付けるタイミングです。

用語条件を付ける対象
WHERE集計前の行東京の会員だけにする
HAVING集計後のグループ売上合計が1万円以上のグループだけにする

GROUP BYと一緒に出てきたら、HAVINGにも注意しましょう。

内部結合と外部結合の違い

内部結合は、両方の表で一致する行だけを取り出します。

外部結合は、片方の表の行を残しながら、合う行をつなげます。

「注文がない会員も出したい」のように、片方を残したい場合は外部結合を考えます。

結合結果に出る行
内部結合両方の表で一致する行
外部結合片方の表を残し、一致する行をつなげたもの

正規化とバックアップの違い

正規化とバックアップは、目的がまったく違います。

用語目的
正規化表を整理して重複や矛盾を減らす
バックアップデータを失ったときに戻せるようにコピーを取る

正規化は表の設計の話です。

バックアップは障害対策の話です。

コミットとロールバックの違い

コミットは、処理結果を確定することです。

ロールバックは、処理を取り消して元に戻すことです。

用語意味使う場面
コミット確定する処理が正しく終わったとき
ロールバック元に戻す途中で失敗したとき

部分関数従属と推移的関数従属の違い

部分関数従属と推移的関数従属は、正規化で間違えやすい用語です。

用語意味関係する正規形
部分関数従属複合主キーの一部だけで、ある項目が決まること第2正規形
推移的関数従属主キー以外の項目から、さらに別の項目が決まること第3正規形

第2正規形では、主キーの一部だけで決まる項目を分けます。

第3正規形では、主キー以外の項目から決まる項目を分けます。

SQL問題の解き方

SQL問題の解き方の手順を示した図

ステップ1:どの表を使うか確認する

まず、FROMやJOINを見て、どの表を使うか確認します。

SQL問題では、表が複数出ることがあります。

会員表だけなのか、注文表も使うのか、商品表まで使うのかを先に見ます。

ステップ2:どの列を取り出すか確認する

次に、SELECTの後ろを見ます。

ここには、結果として表示される列が書かれています。

SELECT 会員名, 注文日

この場合、結果に出るのは会員名と注文日です。

条件に使う列と、表示する列は違うことがあります。

ステップ3:条件を確認する

WHEREを見て、どの行が残るかを考えます。

WHERE 都道府県 = '東京'

この場合、都道府県が東京の行だけが残ります。

条件が複数ある場合は、ANDやORにも注意します。

ステップ4:結合条件を確認する

JOINがある場合は、ONを見ます。

ON 会員.会員番号 = 注文.会員番号

この条件は、会員表と注文表を会員番号でつなぐという意味です。

結合条件を間違えると、結果の行数が変わるため注意が必要です。

ステップ5:出力結果を1行ずつ考える

最後に、条件に合う行を1行ずつ考えます。

頭の中だけで考えると混乱しやすいので、問題用紙やメモに小さな表を書いて確認するとよいです。

SQL問題は、次の順番で見ると解きやすくなります。

  1. FROMで使う表を見る
  2. JOINとONで表のつながりを見る
  3. WHEREで残る行を見る
  4. GROUP BYがあれば集計単位を見る
  5. HAVINGがあれば集計後の条件を見る
  6. SELECTで出力列を見る
  7. ORDER BYで並び順を見る

基本情報技術者試験ではデータベースがどう出る?

用語の意味を問う問題

主キー、外部キー、正規化、トランザクション、コミット、ロールバックなどの意味を問う問題があります。

このタイプは、言葉の定義だけでなく、どの場面で使うかまで押さえると解きやすくなります。

表の関係を読み取る問題

会員表、注文表、商品表などが出て、どの表がどの表とつながるかを読む問題があります。

見るべきポイントは、主キーと外部キーです。

同じ名前の列や、コード番号の列がつながりの手がかりになります。

SQLの実行結果を選ぶ問題

SQL文と表が示され、実行結果として正しいものを選ぶ問題があります。

このタイプでは、SQLを上から読むだけではなく、条件や結合を順番に処理する必要があります。

特にWHERE、JOIN、GROUP BY、HAVING、ORDER BYはよく確認しましょう。

正規化の考え方を問う問題

正規化では、どの表に分けるべきか、どのような問題を防げるかが問われます。

「重複」「矛盾」「更新時の不整合」という言葉が出たら、正規化を考えます。

また、第2正規形では部分関数従属、第3正規形では推移的関数従属という言葉が出ることがあります。

トランザクション処理を問う問題

トランザクションでは、コミット、ロールバック、排他制御、ACID特性などが問われます。

「一連の処理をまとめる」「全部成功か全部取り消し」「同時更新の矛盾を防ぐ」といった表現に注目しましょう。

確認問題

主キーに必要な条件は何ですか?

問題1:主キーの説明として、最も適切なものはどれですか。

  • ア:表の中で重複してもよい項目
  • イ:表の中で1件のデータを見分ける項目
  • ウ:必ず氏名を入れる項目
  • エ:別の表を保存するための項目

解答:

解説:主キーは、表の中で1件のデータを見分けるための項目です。重複せず、空の値にしないことが基本です。

外部キーの役割は何ですか?

問題2:外部キーの説明として、最も適切なものはどれですか。

  • ア:別の表とつなぐための項目
  • イ:データを暗号化するための項目
  • ウ:必ず数値だけを入れる項目
  • エ:表の行数を数える項目

解答:

解説:外部キーは、別の表の主キーなどを参照し、表同士をつなぐために使います。

JOINを使う目的は何ですか?

問題3:JOINを使う目的として、最も適切なものはどれですか。

  • ア:1つの表を削除するため
  • イ:複数の表をつなげて必要な情報を取り出すため
  • ウ:データベースをバックアップするため
  • エ:表の名前を変更するため

解答:

解説:JOINは、複数の表を結合して必要な情報を取り出すために使います。主キーと外部キーを使って結合することが多いです。

ロールバックはどんなときに使いますか?

問題4:ロールバックを使う場面として、最も適切なものはどれですか。

  • ア:処理が正常に終わり、結果を確定するとき
  • イ:処理の途中で失敗し、元の状態に戻すとき
  • ウ:表の列を並べ替えるとき
  • エ:検索結果を集計するとき

解答:

解説:ロールバックは、トランザクションの途中で問題が起きたとき、処理を取り消して元の状態に戻すことです。正常に終わって確定する場合はコミットです。

第2正規形で取り除くものは何ですか?

問題5:第2正規形で取り除くものとして、最も適切なものはどれですか。

  • ア:複合主キーの一部だけで決まる項目
  • イ:主キー以外の項目から決まる項目
  • ウ:すべての主キー
  • エ:すべての外部キー

解答:

解説:第2正規形では、複合主キーの一部だけで決まる項目を分けます。これを部分関数従属の排除といいます。

まとめ

基本情報技術者試験のデータベースでは、表の意味を読むだけでなく、表同士の関係を読む力が必要です。

主キーは、表の中で1件のデータを見分ける項目です。

外部キーは、別の表とつなぐための項目です。

SQLでは、SELECT、FROM、WHERE、JOIN、GROUP BY、HAVING、ORDER BYを順番に確認すると、実行結果を考えやすくなります。

正規化は、データの重複や矛盾を減らすために表を整理する考え方です。

第2正規形では部分関数従属、第3正規形では推移的関数従属という言葉も押さえておくと、過去問を読みやすくなります。

トランザクションは、複数の処理を1つのまとまりとして扱い、安全に更新するための考え方です。

コミットは確定、ロールバックは取り消しです。

排他制御やロックは、同時に更新したときの矛盾を防ぐために使います。

基本情報技術者試験では、用語の意味だけでなく、「どの場面で使うのか」「問題文のどの言葉から見分けるのか」を意識して学ぶことが大切です。

データベースを含めた基本情報全体の進め方は、基本情報技術者試験の勉強方法も参考にしてください。

よかったらシェアしてね!
  • URLをコピーしました!
目次