ITパスポート 令和元年度 秋期 特別措置試験 問87
データベース
関係データベースに関する問題
売上伝票のデータを関係データベースの表で管理することを考える。売上伝票の表を設計するときに,表を構成するフィールドの関連性を分析し,データの重複及び不整合が発生しないように,複数の表に分ける作業はどれか。
- ア 結合
- イ 射影
- ウ 正規化
- エ 排他制御
答えと解説
✓ これが正解ウ 正規化
解説
重複や不整合を防ぐために表を分けていく作業が正規化です。
売上伝票をそのまま一つの表にすると、同じ商品名や同じ得意先名が、伝票の数だけ繰り返し現れます。重複が多いと置き場所が無駄になるだけでなく、名前を直すときに直し漏れが出て、食い違いが生まれます。一つの表の中に古い名前が残ります。そこで、列どうしの関わりを調べて、繰り返し現れるまとまりを別の表へ切り出します。この作業を正規化といいます。商品の表、得意先の表、売上の明細の表という具合に分け、互いを結び付けるための列を置きます。こうしておけば、商品名を直すときは商品の表を一箇所直すだけで済みます。関係データベースの設計では、まずこの形に整えることが土台になります。分けた表は、必要になったときにつなぎ直して使えばよいので、見たい形が失われるわけではありません。よって最も適切なのは正規化です。
ほかの選択肢の解説
- ア 結合:結合は、分かれている複数の表を、共通する列を手掛かりにつなぎ合わせる操作です。分けたものを使うときに行うので、設計の段階で表を分ける作業とは向きが逆になります。そもそも表を分けていなければ、この操作の出番もありません。
- イ 射影:射影は、一つの表から必要な列だけを縦に抜き出す操作です。見たい部分だけに絞って取り出すために使うもので、表の形そのものには手を触れません。重複をなくすために表を組み替える設計の作業とは、行う時期も目的もまるで違います。
- エ 排他制御:排他制御は、複数のプログラムが同じデータへ同時に書き込もうとしたときに、あとになって食い違いが起きないようにする働きです。動かしている最中に働く仕組みであり、表の形をあらかじめどう設計するかという話ではありません。
関連用語
- 正規化表の重なりを消して、同じ事実を一か所に集める手立てです。
- 射影表を縦に切って、必要な列だけを残す関係データベースの操作です。
- 排他制御同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。
- 関係
データベース データを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。
出典:令和元年度 秋期 ITパスポート試験(特別措置試験) 問87
解説は当サイト独自のもので、IPA(独立行政法人情報処理推進機構)とは関係ありません。
関連問題
- 令和8年度 問69:
正規化に 関する 問題 (正規化) - 令和8年度 問72:
外部 キーに 関する 問題 (関係 データベース) - 令和6年度 問74:
トランザクション 処理に 関する 記述 (排他制御) - 令和5年度 問100:
関係 データベースにおける 結合操作 (射影) - 令和4年度 問98
(射影)
同じ分野の問題
誤りを見つけたら報告する