エンティティ・リレーションシップ・ モデル 池本、梶取 最初に エンティティ・リレーション シップ・モデル セマンティック・オブジェク ト・モデル データベース処理システムの要件を解釈し、記述し、 文書化する為に使用出来る 要件の全体的な構造を示 よりユーザに近く、詳細な す為の構成が提供される 仕様を記述出来る ↓ ↓ トップダウンのデータベー ボトムアップのデータベー ス設計に有用 ス設計に有用 3.1 エンティティ・リレーションシップ・ モデルの定義 • 1976年 Peter Chenにより紹介された。 (このモデルの基本について) • 単一の標準化されたE-Rモデルは存在しない が、変形バージョンの基盤となっている共通 の構成要素群は存在。 • 今から見ていくのはその共通の構成要素に ついて! 3.1.1 エンティティ • ユーザの業務環境において識別でき、システ ムのユーザによって重要性の高い事物。 • エンティティ・クラス(=同一タイプのエンティ ティの集合)にグループ化することが出来る。 • エンティティとエンティティ・クラスはしばしば 同義で使用される。 • エンティティには多くのインスタンスがある。 (インスタンスについては次!) 3.1.1 クラスとインスタンスの違い エンティティ・ クラス エンティティ・ インスタンス 定義 あるものの一般形・ 一般的記述 ある特定の エンティティの表現 例 学生 学籍番号14050166の学生 3.1.2 アトリビュート(プロパティ) • エンティティの特性を記述。 • 1つのエンティティ・クラス内の全インスタンス が同じアトリビュートの組を持っている。 • アトリビュートは1つの値でも多値でも良い。 • 複合アトリビュート ex.住所 3.1.3 識別子 • エンティティ・インスタンスの識別子 – 1つ以上のインスタンス自身を識別する為のアト リビュート • 識別子がユニークな場合・・・ 識別子の値により正確にただ1つのエンティ ティ・インスタンスが識別される。 • 識別子がユニークでない場合・・・ ユニークなインスタンスを見つける為にデータ を追加しなくてはならない。 エンティティ・クラス 「顧客」 アトリビュート 「顧客番号」 「顧客名」 「住所(番地)」 「県」 「市区町村」 複合アトリビュート 「郵便番号」 「電話番号」 エンティティ・インスタンス 12345 Ajax Manufacturing ・ ・ ・ 3.1.4 リレーションシップ(関連性) • リレーションシップによってエンティティをお互いに 関連付ける。 • 2種類のリレーションシップが存在する。 リレーションシップ・ クラス エンティティ・クラス間の 対応付け リレーションシップ・ インスタンス エンティティ・インスタン ス間の対応付け • リレーションシップはアトリビュートを持てる。 次数(P.64) • リレーションシップの次数・・・ リレーションシップ内のエンティティの数 – 図3-2参照 • E-Rモデルのリレーションシップの次数はいく つでもよい。しかし、実際の適用例では次数2 のリレーションシップのみ使用されている。 • 次数2のリレーションシップ =バイナリー・リレーションシップ 3種類のバイナリー・ リレーションシップ(P.64~65) • 1:1(1対1) • 1:N(1対多) • N:M(多対多) バイナリー・リレーションシップ =HAS-A リレーションシップ エンティティの最大個 数に対する制約! ※ M・・・最大濃度 リレーションシップの一方において許される エンティティの個数の最大値 エンティティ・リレーションシップ図 (E-R図)(P.66) • • • • • エンティティ・クラス・・・四角形 エンティティの名前・・・四角形の内部 エンティティ名 リレーションシップ・・・菱形 リレーションシップの最大濃度・・・菱形内部 リレーションシップの名前・・・菱形の近く – 確固たる標準はない – 図3-3(d) 最大濃度 「リレーション名」 最小濃度(P.66) • 最小濃度 – エンティティがリレーション中に存在しなければい けないかどうかを示す。 • エンティティが必ず存在しなければいけない 場合・・・リレーションシップの線を横切る短い 線。 • エンティティが存在してもしなくても良い場 合・・・楕円 • 図3-4 再帰的リレーションシップ(P.66) • 単一クラスのエンティティ間のリレーションシッ プ • 図3-5 学生 1:N 「~と同室である」 E-R図におけるアトリビュート(P.67) • E-R図にアトリビュートを示すには2通りある。 – アトリビュートを楕円の中に示し、それが属するエ ンティティ、又はリレーションに線を引く。 (図3-6.a) – 別個に示す。(図3-6.b) ・・・アトリビュートの数が多くなり、煩雑になる場 合 弱エンティティ • 特別なタイプのエンティティ。 • データベース中に存在するか否かが他のエ ンティティの存在に依存するエンティティ。 • ex.従業員と扶養家族(図3-7.a)。 ID依存エンティティ(P.69) • 弱エンティティの特別なタイプ(図3-7.b)。 • 他のエンティティに論理的に依存するエンティ ティ。 • ID依存エンティティは必ず複数のアトリビュー トからなる識別子を持ち、その中に論理的に 依存しているエンティティの識別子を含んで いる。 • ex.製品-バージョン、教科書-版 サブタイプ・エンティティ • 省略可能なアトリビュートをもつエンティティ • サブタイプ・エンティティはスーパータイプ・エ ンティティに属していなければならない。 • ∈・・・サブタイプであることを示す記号 スーパータイプ ∈ サブタイプ ∈ サブタイプ ∈ サブタイプ 一般化階層、継承(P.70) • 一般化階層 – サブタイプを一般化したもの – このようなタイプのリレーションシップをIS-Aリ レーションシップと呼ぶこともある。 • 継承 – サブタイプのエンティティが、スーパータイプ・エン ティティ・クラスのアトリビュートを引き継ぐこと。 図3-9(P.72) 従業員 「トラック割当」 トラック ∈ 1:1 「技術者-技術」 1 :N 「サービス-提供者」 技術者 サービス 「顧客-サービス」 顧客 1:N 「~に紹介される」 N: N:M 料金 技術者資格 1 資格 「資格-技術者」 3.1.7 ビジネス・ルールの文書化 • データベース・スキーマ – テーブル E-Rモデルから情報獲得ないし類推が出来る – リレーション – ドメイン – ビジネス・ルール・・・モデルから情報を得られない為、 データ・モデリングの段階において E-Rモデルに追加されることがある。 • この時点ではルールを文書化し、システム要 件の一部とすることが重要! 3.1.8 エンティティ・リレーションシッ プ・モデルとCASEツール • 多くの一般的CASE製品がE-R図を作成する ツールを装備している。 ↓ E-Rモデルを使用してデータ・モデルを作成 することが容易に!
© Copyright 2024 ExpyDoc