基本情報技術者試験 - 令和8年1月修了 - 問19
| ア |
| ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| イ |
| ||||||||||||
| ウ |
| ||||||||||||
| エ |
|
答え : イ
分野 : テクノロジ系 › 技術要素 › データベース › データベース設計
解説 :
データベースの正規化,特に第3正規形への変換を問う問題です。この問題では,a~fの6つの項目から成るレコードがあり,レコードの主キーは項目aとbの組合せです。さらに,項目c・d・e・fはいずれも主キー全体(aとb)によって特定できる一方,項目fについては項目bだけでも特定できてしまう,つまり主キーの一部(b)だけに従属する「部分関数従属」の関係にあることが図で示されています。
このような部分関数従属が存在する状態は第2正規形に留まっており,第3正規形にするためには,主キー全体に完全に従属する項目群(a・b・c・d・e)と,部分従属していた項目を独立させた表(b・f)とに分割する必要があります。選択肢「イ」は,まさに「a・b・c・d・eから成る表」と「b・fから成る表」という2つの表に分割された構成になっており,これが正しい第3正規形です。
誤りの選択肢のうち,「ア」は分割の仕方が細かすぎて不要な表(cだけの表とdとeの表など)に分かれてしまっており,正規化として適切ではありません。「ウ」は元の表にb・fを重複してそのまま残した上でb・fの表も作るという冗長な構成になっています。「エ」はaとbの組合せ方が正しい主キーの構造を反映しておらず,不適切な分割になっています。部分関数従属している項目を見つけて,それを主キーとともに別表として独立させるという正規化の基本ルールを押さえておきましょう。
分野 : テクノロジ系 › 技術要素 › データベース › データベース設計
解説 :
データベースの正規化,特に第3正規形への変換を問う問題です。この問題では,a~fの6つの項目から成るレコードがあり,レコードの主キーは項目aとbの組合せです。さらに,項目c・d・e・fはいずれも主キー全体(aとb)によって特定できる一方,項目fについては項目bだけでも特定できてしまう,つまり主キーの一部(b)だけに従属する「部分関数従属」の関係にあることが図で示されています。
このような部分関数従属が存在する状態は第2正規形に留まっており,第3正規形にするためには,主キー全体に完全に従属する項目群(a・b・c・d・e)と,部分従属していた項目を独立させた表(b・f)とに分割する必要があります。選択肢「イ」は,まさに「a・b・c・d・eから成る表」と「b・fから成る表」という2つの表に分割された構成になっており,これが正しい第3正規形です。
誤りの選択肢のうち,「ア」は分割の仕方が細かすぎて不要な表(cだけの表とdとeの表など)に分かれてしまっており,正規化として適切ではありません。「ウ」は元の表にb・fを重複してそのまま残した上でb・fの表も作るという冗長な構成になっています。「エ」はaとbの組合せ方が正しい主キーの構造を反映しておらず,不適切な分割になっています。部分関数従属している項目を見つけて,それを主キーとともに別表として独立させるという正規化の基本ルールを押さえておきましょう。
