第19回J検2級 コンピュータシステム 問題3 問題3 次のデータの正規化に関する設問に答えよ。 <設問1> 記述中の[ ]に入れるべき最も適切な字句を解答群から選べ。 データベースでは,データの独立性を高めて,データベースの保守性や一貫性を向上させるため,データの[ (1) ]を排除し,[ (2) ]の高いデータ項目をまとめる。この作業をデータの正規化という。 正規化には,一般に第1正規形から第3正規形まであり,正規化の過程は次のようになる。 正規化されたデータ構造では,性能面や業務運用面などで実用的な結果を引き出せそうにないとき,あえて正規化を崩す必要がある場合がある(非正規化)。具体的には,複数の表を[ (3) ]場合に効果が高くなる。ただし,非正規化を行うとデータの冗長度が増すため,データの[ (4) ]がほとんど発生せず,[ (5) ]が保てるデータ項目であることが条件になる。 (1),(4)の解答群 ア.検索 イ.変更 ウ.割込み エ.冗長 (1)の正解エ (4)の正解イ (2),(5)の解答群 ア.関連性 イ.機密性 ウ.整合性 エ.冗長性 (2)の正解ア (5)の正解ウ (3)の解答群 ア.分割する手順が単純で,処理に要する時間が短い イ.分割する手順が複雑で,処理に要する時間が長い ウ.結合する手順が単純で,処理に要する時間が短い エ.結合する手順が複雑で,処理に要する時間が長い (3)の正解エ <設問2> 図1の受注伝票データの正規化を行う。記述中の[ ]に入れるべき最も適切な字句を解答群から選べ。 受注伝票は,顧客の1回の注文に対して作られ,顧客は1回の注文で1つ以上の商品を注文できる。また,同じ顧客から,1日に2回以上の注文を受ける場合もある。 なお,値引きは発生しないものとし,単価を変更する場合は,新たな商品コードを作成する。 第1正規形は,繰返し項目を独立したレコードとして分割する作業なので,得られる最も適切な表は,[ (6) ]となる。 a. 受注番号 受注日 顧客コード 顧客名 b. 受注番号 受注日 顧客コード 顧客名 合計金額 c. 受注番号 商品コード 商品名 顧客名 数量 単価 d. 受注番号 商品コード 商品名 数量 単価 金額 (6)の解答群 ア.aとb イ.aとd ウ.bとc エ.bとd (6)の正解エ 第2正規形は,主キーの一部の項目だけで決定できる項目を,別のレコードとして分割するので,図2のような表が考えられるが,これでは正規化が十分とはいえず,商品の内容を変更した場合,更新異状が発生することがある。これを解決するには,商品名とともに[ (7) ]を分割すればよい。 図2 受注番号 商品コード 数量 単価 金額 商品コード 商品名 (7)の解答群 ア.受注番号 イ.数量 ウ.単価 エ.金額 オ.数量と単価 カ.単価と金額 (7)の正解ウ 第3正規形は,主キー以外の項目によって決定される項目を別のレコードとして分割し,あわせて集計・計算などで導ける項目を削除するので,図3のような表が考えられる。空欄を埋め,表を完成させよ。 (8)〜(12)の解答群 ア.受注番号 イ.商品コード ウ.顧客コード エ.数量 オ.単価 カ.金額 キ.合計金額 (8)の正解ア (9)の正解ウ (10)の正解イ (11)の正解エ (12)の正解オ メニューに戻る Certain right called neighbouring on copyright kimura-kouichi