ITパスポート 技術要素 データベースの仕組みと設計 主キー・外部キー・正規化

データベースは、データを体系的に蓄積し、整合性を保ちながら効率よく管理・利用するための仕組みです。複数の利用者やアプリケーションで安全に共有できることも、その大きな目的の一つです。管理を担うソフトウェアがDBMS(関係データベースを扱うものはRDBMS)で、データの定義・操作・アクセス権管理・同時利用の制御を行います。

関係データベースの構造

データを表(テーブル)で管理するのが関係データベースです。1件分のデータが行(レコード)、その属性が列(フィールド)です。

主キーと外部キー

  • 主キー:行を一意に識別する項目。重複もNULL(空)も許されません。同姓同名がありうる氏名は不適で、社員番号のような一意の番号を使います。複数列の組合せ(複合キー)も可能です。
  • 外部キー:他の表の主キーなど、一意性が保証された項目を参照して表同士を関連付ける項目。参照先に存在しない値の登録を防ぎ、整合性を保てます。

正規化:重複をなくす設計

正規化は、同じ事実を複数の場所で重複して管理することを減らし、更新時の矛盾を防ぐために、表を適切に分割・整理することです。例えば顧客の住所を1つの表で一元管理すれば、住所変更は1か所の修正で済み、修正漏れによる不一致が起きません。なお、表を結び付ける外部キーの値などは正規化後も繰り返し現れるため、「あらゆる値の重複をなくすこと」ではない点に注意しましょう。「1つの表に全部まとめるほど良い」も誤りです。

データの整備とコード設計

  • データクレンジング:表記のゆれ・誤り・重複を洗い出して整える作業。分析やシステム統合の前提になります
  • コード設計:商品コードや顧客番号のように、管理対象を識別する体系を決めること。桁数や意味の持たせ方を誤ると、後からの変更が難しくなります

設計と周辺知識

  • E-R図:顧客・商品などの実体(エンティティ)と関連でデータ構造を表す設計図
  • インデックス:検索を高速化する索引。ただし更新時の負荷は増えることがある
  • NoSQL:関係データベース以外の方式の総称。キーと値の組で持つキーバリュー型、柔軟な構造の文書単位で持つドキュメント指向、要素どうしのつながりを表現するグラフ指向などがあり、大量データの分散処理などで活用

関連する問題


コメント

タイトルとURLをコピーしました