‹

データベースの設計(正規化・E-R 図・参照制約)

関係データベースの表をどう作るかの基本です。 同じデータを何か所にも持たないように表を分け(正規化),表と表のつながりが壊れないように制約を掛けます(参照制約)。 システムアーキテクトの午前Ⅱと午前Ⅰで繰り返し出ています。

キーと関数従属

関数従属(A → B)A の値が決まれば B の値がただ1つに決まる関係
候補キー行(タプル)を一意に特定できる,必要最小限の属性の組。値は行ごとに異なる。候補キーのうち1つを主キーに選ぶ
完全関数従属{A, B} → C が成り立ち,A だけ・B だけでは C が決まらない(A → C も B → C も成り立たない)こと
外部キーほかの表の主キー(候補キー)を参照する属性。1つの表に複数あってもよい

たとえば関係 R(A,B,C,D,E,F)で A → B,C → D,C → E,{A,C} → F が成り立つなら, A と C が決まれば残りが全部決まり,A だけ・C だけでは足りないので,候補キーは {A,C} です。

正規化

正規形満たす条件(変換の手順)
第1正規形繰返し項目をなくし,1つの欄には1つの値だけにする
第2正規形主キーの一部だけに従属する属性を別の表に分ける(全ての非キー属性が主キーに完全関数従属する)
第3正規形主キー以外(候補キー以外)の属性の間にある関数従属を,別の表に分ける(推移的関数従属をなくす)

正規化すると,同じデータを1か所だけで持つので,更新したときに一部だけ書き換わって矛盾する,といったことを防げます。

参照制約

参照制約は,外部キーの値が参照先の表に必ず存在することを保証する制約です。 たとえば「在庫」表の製品番号が「製品」表を参照しているとき,製品表にない製品番号で在庫表に行を追加しようとすると拒否されます。

参照先の行を削除するときの扱いも決められます。CASCADE を指定すれば,参照先の行を消したときに,それを参照している行も自動的に削除されます。

試験での問われ方

当サイトが収録している午前の問題のうち,正規化・E-R・外部キー・参照制約などの語が出てくるのは35問です。 システムアーキテクトの午前Ⅱと午前Ⅰで7割あまりです。型ごとに数えると次のとおりです。

出題された過去問(35問)

リンク先の年度ページで,問題と解説を読めます。

午前Ⅰ(高度試験 共通)(11問)
  • 令和7年度 春期 問9関係を第2正規形から第3正規形に変換する手順はどれか。
  • 令和7年度 春期 問10SQL 文に示す参照制約が存在する“商品”表と“受注”表とがある。“商品”表の行を削除したとき,…
  • 令和2年度 10月 問9UML を用いて表した図のデータモデルから,“部品”表,“納入”表及び“メーカ”表を関係データベ…
  • 平成28年度 秋期 問9B^+木インデックスが定義されている候補キーを利用して,1件のデータを検索するとき,データ総件数…
  • 平成28年度 春期 問9次の表において,“在庫”表の製品番号に定義された参照制約によって拒否される可能性がある操作はどれ…
  • 平成26年度 秋期 問9関係 R(A,B,C,D,E,F)において,関数従属 A→B,C→D,C→E,{A,C}→F が…
  • 平成25年度 秋期 問10関係を第2正規形から第3正規形に変換する手順はどれか。
  • 平成25年度 秋期 問16E-R 図の解釈として,適切なものはどれか。ここで,* *は多対多の関連を表し,自己参照は除くも…
  • 平成25年度 春期 問11“プログラマは全て社員であり,社員の約 10%を占める。社員は社員番号と氏名をもち,職種がプログ…
  • 平成22年度 秋期 問11次の表定義において,“在庫”表の製品番号に定義された参照制約によって拒否される可能性のある操作は…
  • 平成22年度 春期 問11顧客は一般に複数の銀行に預金するものとして,顧客と銀行の関連を,E-R 図で次のように表現する。…
システムアーキテクト 午前Ⅱ(15問)
  • 令和3年度 春期 問4イベント駆動型のアプリケーションプログラムにおけるイベント処理のタイミングを設計するのに有用なも…
  • 令和元年度 秋期 問2並列に生起する事象間の同期を表現することが可能な,ソフトウェアの要求モデルはどれか。
  • 令和元年度 秋期 問21関数従属 {A,B}→C が完全関数従属性を満たすための条件はどれか。
  • 平成30年度 秋期 問21関係モデルの候補キーの説明のうち,適切なものはどれか。
  • 平成29年度 秋期 問7イベント駆動型のアプリケーションにおけるイベント処理のタイミングを設計するのに有用なものはどれか…
  • 平成29年度 秋期 問21UML を用いて表した図のデータモデルを基にして設計したテーブルのうち,適切なものはどれか。ここ…
  • 平成28年度 秋期 問4並列に動作する事象間の同期を表現することが可能な,ソフトウェアの要求モデルはどれか。
  • 平成28年度 秋期 問5論理データモデル作成におけるトップダウンアプローチ,ボトムアップアプローチに関する記述のうち,適…
  • 平成26年度 秋期 問15情報システムの全体計画立案のために E-R モデルを用いて全社のデータモデルを作成する手順はどれ…
  • 平成25年度 秋期 問3イベント駆動型のアプリケーションにおけるイベント処理のタイミングを設計するのに有用な図はどれか。
  • 平成24年度 秋期 問15情報システムの全体計画立案のために E-R モデルを用いて全社のデータモデルを作成する手順はどれ…
  • 平成23年度 秋期 問2論理データモデル作成におけるトップダウンアプローチ,ボトムアップアプローチに関する記述のうち,適…
  • 平成23年度 秋期 問3要件定義フェーズにおいて BPMN(Business Process Modeling Nota…
  • 平成23年度 秋期 問6ソフトウェア開発における分析・設計技法と,その技法における着目点の説明のうち,適切なものはどれか…
  • 平成22年度 秋期 問15情報システムの全体計画立案のために E-R モデルを用いて全社のデータモデルを作成する手順はどれ…
情報処理安全確保支援士 午前Ⅱ(5問)
  • 令和6年度 秋期 問21関係モデルにおける外部キーに関する記述のうち,適切なものはどれか。
  • 令和3年度 秋期 問21次の表において,“在庫”表の製品番号に参照制約が定義されているとき,その参照制約によって拒否され…
  • 平成31年度 春期 問21次の表において,“在庫”表の製品番号に参照制約が定義されているとき,その参照制約によって拒否され…
  • 平成26年度 春期 問21関係モデルにおける外部キーに関する記述のうち,適切なものはどれか。
  • 平成21年度 春期 問16RDBMS の表へのアクセスにおいて,特定の利用者だけにアクセス権を与える方法として,適切なもの…
ITストラテジスト 午前Ⅱ(3問)
  • 平成28年度 秋期 問5情報システムの全体計画立案のために E-R モデルを用いて全社のデータモデルを作成する手順はどれ…
  • 平成24年度 秋期 問5情報システムの全体計画立案のために E-R モデルを用いて全社のデータモデルを作成する手順はどれ…
  • 平成22年度 秋期 問5情報システムの全体計画立案のために E-R モデルを用いて全社のデータモデルを作成する手順はどれ…
ITサービスマネージャ 午前Ⅱ(1問)
  • 令和7年度 春期 問23DBMS において,複数のトランザクション処理プログラムが同一データベースを同時に更新する場合,…

関連する用語

排他制御とデッドロック(ACID 特性) 障害回復(ロールバック・ロールフォワード)