スポンサーリンク

【応用情報技術者試験】データベースを学ぼう!     ~第2章~E-R図

データベース(DB)は、特定のルールに基づいて整理・構造化されたデータの集合体であり、コンピュータ上で電子的に管理されます。大量のデータを高速に検索・追加・更新・削除できるため、ビジネスの顧客情報や在庫管理などに必須の技術です。主にリレーショナルデータベース(RDB)やNoSQLが使われ、DBMS(データベース管理システム)で運用されます。

画像参照:https://business.ntt-east.co.jp/content/cloudsolution/column-386.html

E-R図の基礎

ER図(Entity-Relationship Diagram)は、データベースのデータ構造(エンティティ)と関連性(リレーションシップ)を視覚化した設計図です。システムが扱うデータの「実体(顧客、商品など)」と「関係性(1対多など)」を整理し、開発の効率化や設計ミス防止に用いられます。主に概念・論理・物理の3段階で設計され、IE記法などが一般的です。

画像参照: https://www.ntt.com/business/services/rink/knowledge/archive_58.html

基礎知識と役割

  • 定義: データベース設計において、データの「実体(Entity)」と、それらをつなぐ「関連(Relationship)」を図式化したもの。「実体関連図」とも呼ばれる。
  • 主な目的:
    • データの可視化: データベース内の情報を一目で把握する。
    • 設計ミスの防止: 構造の事前設計により、開発の手戻りを防ぐ。
    • 共通認識の形成: 開発チームや関係者間のコミュニケーションツール。
  • 作成のタイミング: 主にシステム開発の初期段階、要件定義から基本設計のフェーズで使用される。 

構成要素

  1. エンティティ: データの「実体」。四角形で表され、顧客、商品、注文などの情報のまとまり。
  2. アトリビュート: エンティティが持つ属性、詳細情報(例:顧客名の「名前」「住所」「電話番号」)。
  3. リレーションシップ: エンティティ間の関連(例:顧客が注文する)。
  4. カーディナリティ: 関連を持つエンティティ同士の数値的な関係(1対1、1対多、多対多)。 

記法とツール

  • IE記法 (Information Engineering): 現在最もポピュラーな記法。カラスの足(Crow’s Foot)を用いて関連を表す。
  • IDEF1X記法: 米国立標準技術研究所が規格化した、詳細な表記が可能な記法。
  • 作成ツール: Cacoo、Lucidchart、draw.io (diagrams.net)、Miro などが広く利用されている。 

設計プロセス

  1. 概念モデル: 実体を洗い出し、全体像を定義する。
  2. 論理モデル: 属性や主キー(主となる識別子)を追加する。
  3. 物理モデル: データ型(整数、文字列など)やデータベース特有の制約を定義する。

連関エンティティ

連関エンティティは、データベースのE-R図において、2つのエンティティ間の「多対多(N:M)」の関係を解消し、1対多(1:N)の関係に分解するために間に入る中間的なエンティティのことです。関連する2つのエンティティの主キーを外部キーとして引き継ぎ、独自の属性(購入日や数量など)を持たせることで、多対多の関係性を明確にモデル化できます。 

主な特徴・役割

  • 多対多の分解: 「社員」と「部署」のような「多対多」関係を、「社員」-「所属」-「部署」のように、1対多に分解する。
  • 構成: 関連する2つのエンティティの主キーを複合主キー(または外部キー)として持つ。
  • 独自の属性: 「購入」エンティティにおける「購入日時」や「数量」のように、その関連自体が持つデータを持つ。
  • 別名: 関連エンティティ、連想エンティティ、中間テーブルとも呼ばれる。 

具体的な例(「社員」と「プロジェクト」)

「1人の社員は複数のプロジェクトに参加し、1つのプロジェクトには複数の社員が参加する」という多対多関係の場合、直接結ぶと物理設計で問題が発生する

。そのため、中間エンティティ(例:「参加」)を挟み、{社員コード, プロジェクトコード}を主キーとする。

  • 社員(1) — (N) 参加(連関) (N) — (1) プロジェクト 

この手法により、データベースの正規化が行われ、データ構造が明確になります。

コメント