E-R図・キー設計と正規化
頻出約 32 分5 用語過去問 20 題
この単元の目標
- E-R図で、業務の実体と関連、関連の多重度を読み取れるようになる
- 主キーと外部キーを、役割と値の制約で区別できるようになる
- 正規化で表をどう分けるか、その目的と合わせて説明できるようになる
用語総表(5 語)
用語
E-R図は、業務で管理する実体(エンティティ)と、実体どうしの関連(リレーションシップ)を図に表したものである。
実体はデータとして記録したい対象のまとまりで、関連は実体どうしのつながりを表す。関連には、片方の1件に相手が何件対応するかを示す多重度(1対1、1対多、多対多など)を書き添える。
たとえドラマの人物相関図のようなもの。登場人物を枠で描き、親子や同僚といった関係を線で結んで、誰と誰がどうつながるかを一目で分かるようにする。
覚え方E は Entity(実体)、R は Relationship(関連)の頭文字。名前そのものが図の2つの部品を表している。
出題のポイント
- 出題E-R図は、データベースを設計するときに業務の管理対象どうしの関係を整理する図であり、関係データベースではテーブル間のつながりを示すのにも使う。
- 出題1つの学級に生徒が複数いて、どの生徒も1つの学級だけに属するなら、学級と生徒は1対多の関連になる。多重度は両方の向きから件数を数えて決める。
- 出題E-R図は業務の分析結果をもとに描き、テーブルの設計はそのE-R図を土台に進める。
この用語の過去問 3 題 E-R図 →
主キーは、表の中の1行(レコード)を一意に識別するために決める列、または列の組合せである。
上の表では、公演番号だけでも座席番号だけでも同じ値が複数の行にあるが、2つの列を組にすると1行が決まる。このように組にした場合は、その組全体で1つの主キーとして扱う。
たとえ学生証の学籍番号のようなもの。同じ名前の学生がいても、番号が分かれば一人に決まる。
覚え方英語では primary key。primary は「第一の」という意味で、表の行を見分ける第一の手がかりになる。
出題のポイント
- 出題主キーの値は行ごとに異なり、列を組にした主キーでは組全体の値で行を区別するので、組を構成する個々の列の値は重なってよい。主キーを構成する各列は空の値(NULL)をとれない。
- 出題1つの列で行が決まらない表では、列を2つ以上まとめて1つの主キーとすることもできる。
- 出題主キーを決める目的は、表の中のどの行かを一意に見分けられるようにすることにある。
この用語の過去問 3 題 主キー →
外部キーは、ほかの表の主キーの値を参照する列(または列の組合せ)で、表と表を値によって結び付ける。
外部キーの列には、参照先の表に存在しない値は入れられず、この決まりを参照制約(参照整合性)という。この制約によって、上の表で言えば学級表にない学級を指す生徒の行が生じず、表どうしのつながりが保たれる。
たとえ宅配の伝票に書くお届け先の会員番号のようなもの。番号は会員名簿に実在する人を指していなければならない。
覚え方「外部」は自分の表の外を指すという意味。外部キーは、外の表への道しるべになる。
出題のポイント
- 出題1対多の関連は、多の側の表に、1の側の表の主キーを外部キーとして持たせて表す。
- 出題外部キーには参照先に存在しない値を入れられないので、データを追加するときは参照される側の表から先に登録する。
- 出題1つの表が複数の表を参照するときは参照先ごとに外部キーを置くので、1つの表に外部キーが複数あってよい。
この用語の過去問 3 題 外部キー →
インデックスは、表の列の値と行の位置を対応づけた索引で、検索を速くするために作る。
索引がなければ、条件に合う行を探すために表の行を端から調べることになる。索引があれば検索は速くなる一方、行を書き換えるたびに索引も直すので書き込みの手間が増え、索引そのものを保存する分だけ記憶領域も増える。
たとえ分厚い本の巻末にある索引のようなもの。語からページをすぐ引けるが、本文を改訂するたびに索引も直す必要がある。
覚え方英語の index には「人差し指」の意味もある。目的の行を指さして場所を教える、と覚える。
出題のポイント
- 出題インデックスの役割は検索を速くすることであり、どの列に作るかは検索の使われ方に応じて決める。
- 出題インデックスは検索に使う列ごとに作れるので、1つの表に複数あってよい。
この用語の過去問 3 題 インデックス →
正規化は、データの重複をなくして更新時の矛盾を防ぐために、1つの表を複数の表に分ける設計の作業である。
同じ事実が何か所にも記録されていると、変更のときに一部だけ直して値が食い違うおそれがある。正規化では、各項目がどの項目によって決まるかを手がかりに表を分け、分けた表どうしは共通の列(主キーと外部キー)で結び付ける。段階を進めるほど表は細かく分かれる。
たとえいろいろな書類に何度も書いていた取引先の住所を、専用の取引先名簿に切り出し、書類には名簿の番号だけを書くようにするようなもの。住所が変わっても名簿の1か所を直せば済む。
覚え方「正規」は決まった形に整えること。整えるほど表は増える、と逆向きの感覚で覚える。
出題のポイント
- 出題正規化のねらいは、同じ事実を1か所にだけ記録して、更新したときに値が食い違わないようにし、保守を楽にすることにある。
- 出題別の列(例えば会員番号)だけで値が決まる項目は、その列を主キーとする表へ移し、元の表にはその列を残して結び付ける。
- 出題ほかの項目から計算で求められる項目は冗長な項目である。例えば単価と数量があれば金額は求まる。
この用語の過去問 3 題 正規化 →
要点
- E-R図は実体と関連で業務のデータ構造を表し、関連には1対1や1対多などの多重度を付ける。
- 主キーは行を一意に識別する列またはその組合せで、その値はほかの行と重複できず、構成する列には空の値を入れられない。
- 外部キーはほかの表の主キーを参照する列(または列の組合せ)で、参照先に存在しない値は入れられない。
- インデックスは検索を速くする索引で、書き込みの手間と記憶領域が増える。
- 正規化は、各項目が何によって決まるかで表を分け、重複と更新時の食い違いをなくす。
この分野の過去問をすべて見る →