クラス図と Entity Relationship Diagram の主な違いは、クラス図がソフトウェア・プログラム内のクラスとその間の関係を表すのに対し、Entity Relationship Diagram はデータベース内のエンティティとその間の関係を表す点です。
UML(Unified Modeling Language)は、ソフトウェア・システムを視覚化し、文書化するための標準的なモデリング言語です。
UML にはさまざまな図があり、クラス図もその 1 つです。
これは、システムの静的なビューを提供します。
一方、データベースは関連するデータの集合体であり、開発前にデータベースを設計することが不可欠です。
さらに、データベースの設計には、実体関係図が役立ちます。
クラス図とは
クラス図とは、UMLの図の1つです。
この図は、クラスとインターフェース、およびそれらが互いにどのように関連するかを表しています。
さらに、クラス図は静的な図です。
そのため、アプリケーションの静的なビューを提供します。
また、オブジェクト指向プログラミングの概念をモデル化するのに役立つため、最も一般的な UML 図の 1 つです。
クラス図では、矩形はクラスを表します。
この図では、3 つの行があります。
この図では、3 つの行があり、一番上の行にはクラスの名前、真ん中の行にはクラスの属性が表示されます。
このように、これらはクラスの特性です。
一方、3行目または最後の行には、メソッドがあります。
これは、クラスが使用できる操作を表します。
さらに、これらのメソッドは、クラスがデータとどのように相互作用するかを理解するのに役立ちます。
相互作用は、クラス間の関係を表します。
一般的な相互作用の種類には、継承、双方向の関連付け、単方向の関連付けがあります。
継承では、サブクラスがスーパークラスの属性やメソッドを使用することができます。
一方、双方向の関連は2つのクラス間のデフォルトの関係で、一方、単方向の関連は1つのクラスへのナビゲーションのみを表します。
エンティティ関係図とは
エンティティ関係図(ER図)は、データベースを設計する際に役立ちます。
エンティティとは、実世界のオブジェクトのことです。
ER 図は、エンティティとその関連付けを表します。
たとえば、病院のデータベースには、患者、医師、医療報告書などの個別のテーブルがあります。
それぞれがエンティティです。
ER図では、矩形がエンティティを意味する。
他のエンティティに依存するエンティティは、弱いエンティティです。
また、二重線で囲まれた長方形は弱いエンティティを表す。
各エンティティは属性を持つ。
実は、属性とはエンティティの特性のことです。
例えば、患者は、id、name、age、date of birthなどの属性を持つことができる。
楕円の形はそれらを表しています。
属性のセットから、1つの属性が各レコードを一意に識別するのに役立つ。
それが主キーです。
例えば、idは主キーです。
ER図では、設計者は属性の下に線を引いて、ER図の主キーを表すことができる。
さらに、外部キーは、2つのテーブルを接続するのに役立ちます。
医療レポート・テーブルは、レポート ID というプライマリ・キーを持つことができます。
それを患者と結びつけるために、テーブルには患者IDを外部キーとして持つことができます。
ER図の中で外部キーを示すために、設計者は属性の下に破線を引くことができる。
菱形やひし形は、エンティティ間の関連性を表す。
また、弱いエンティティとの関係を弱関係という。
さらに、二重に並んだひし形は弱い関係を表す。
関係には、3つのタイプがあります。
二項関係 – 2つのエンティティ間の関係を表す。
さらに、一対一(1:1)、一対多(1:M)、多対多(M:N)に分けられる。
再帰 – エンティティは自分自身に接続する。
三元 – 3つのエンティティ間の関係を表す。
クラス図とエンティティー関係図の違い
定義
クラス図は、システムのクラスとその属性、オブジェクト間の関係を示すことでシステムの構造を記述するUMLタイプの静的構造図であるのに対し、ERDは、データベース内のエンティティが互いにどのように関連しているかを記述するERモデルに基づくデータの視覚的表現です。
したがって、これがクラス図とエンティティー関係図の主な違いです。
使用方法
さらに、クラス図とエンティティ関係図のもう一つの違いクラス図がシステムの静的な見方を理解するのに役立つのに対し、エンティティ関係図はデータベースの実体と関係を認識するのに役立ちます。
結論
簡単に言うと、クラス図とエンティティー関係図は、ソフトウェア開発で使用される一般的で広く使われている 2 つの設計図です。
クラス図と Entity Relationship Diagram の主な違いは、クラス図がソフトウェア内のクラスとその間の関係を表すのに対し、Entity Relationship Diagram はデータベース内のエンティティとその間の関係を表す点です。