web-dev-qa-db-ja.com

ER図とデータベーススキーマの違いは何ですか?

ER図とデータベーススキーマの違いは何ですか? MySQL WorkbenchにはER図を描画する機能がありますが、ER図のシンボルは、MySQL Workbenchメソッド以外の描画ツールでは異なります。

16
sam

データベーススキーマは通常、リレーショナルモデル/ダイアグラムです。これは、テーブル間のリンク(主キーと外部キー)を示しています。

データベースダイアグラムでは、Appleとa Apple=ツリーの関係は次のようになります。テーブル「Apple」ではnullにできない外部キー「ID__TRE」はテーブル「TREE」の主キー「ID_TRE」にリンクされています。

Relational

エンティティ関係図。エンティティ間のリンクとエンティティ間の関係の種類を示します。そこではテーブルやキーについて話しているのではありません。通常、エンティティ関係図はMeriseモデルに従います。私自身としてのデータベースマネージャーと開発者は、通常、リレーショナルモデル/ダイアグラムを考える前にエンティティリレーションシップモデルを構築します。
Meriseのシンボルセットは次のとおりです:(0-1、0-n、1-1、1-n)。最初の数値0または1は、オブジェクトが存在するために関連付けの他の部分が必要かどうかを示します。ゼロの場合、関連付けられていなくても存在できることを意味します。それがOneの場合、オブジェクトは他のオブジェクトとの関係でのみ存在することを意味します(たとえば、Appleツリーが存在する必要がある-> 1、ツリーは必要ないApple to exists-> 0)2番目の文字は、関連付けの他の部分で受け入れられるオブジェクトの数を示します。1の場合、関係に存在できるオブジェクトは1つだけです(nの場合)。リンクできるオブジェクトの数は無限です(例:Appleは1つのツリーを持つことができます-> 1、1つのツリーは複数のリンゴを持つことができます-> n)

エンティティの関係では、関係は次のように記述されます:Appleは、存在するためには少なくとも1つのツリーに属している必要があり、1つのツリーのみに属することができます(1-1)。ツリーは、 Apple存在しますが、無数のリンゴ(0-n)を持つことができます。

ER

実際、両方の説明は同じ意味ですが、一方はデータベース指向であり、もう一方はモデリング指向です。 DB-MAINなどの一部のモデリングソフトウェアは、ER図をリレーショナル図に自動的に変換します。

16
ChristHope

エンティティの関係図(ERD)は次のとおりです。エンティティ間の関係を表す図。よく見てみましょう...

  • ERDは多くの場合、DBAではなくビジネスアナリストによって作成されます。
  • ERDはLAYMANの用語で説明されることが多い(DBAやその他のテクノスピークではない)。
  • ERDは、エンドユーザーおよびビジネスSME(繰り返しになりますが、DBAまたは開発者ではありません)の理解を要約して明確にすることを目的としています。
  • ERDは、各エンティティがSINGULARに記述されている場合に最適に機能し、ERD内のさまざまなエンティティを他のエンティティに接続する線は、(アクションまたは所有、または存在の)動詞を使用して各関係を記述します。
  • ERDには、n:n関係を示す行を含めることができます(含めることができます)が、これは必須ではありません。
  • ブログのERDのエンティティの例:メンバー、投稿、コメント、カテゴリ
  • ERDに記述されている関係の例:
    • メンバーの「投稿」1からnの投稿。 (投稿がどのように見えるかについては説明していません)
    • 「関連」の1からnまでのカテゴリなどを投稿します。

データスキーマはERDに似ていますが、同等または交換可能と見なすべきではありません。データスキーマとして使用できるERDを作成する場合は、ERDを作成しない可能性にオープンにしてください! ;-)

DATAスキーマは、データベースにデータを格納する方法(リレーショナルまたは非リレーショナル)をDBAに説明するために使用される図です。

  • データスキーマはほとんど不変で、TABLESの構造と特性を記述しています。
  • テーブルは「コンテナ」(段ボール箱)です。
  • データスキーマのそのようなテーブルは、
  • 同じブログのSCHEMAのTABLESの例:MEMBERSPOSTSCATEGORIESCOMMENTS(リレーショナルデータベース)またはPOSTS (1つのテーブルのMember-Dateおよび他のすべての列によってキーが付けられます(「ビッグデータ」プロジェクトのような非リレーショナルデータベース)。
  • 次に、データスキーマは各テーブルに含まれるデータを記述します。

    MEMBER 
    FirstName (char:25)
    LastName (char:25)
    

    等.

  • データスキーマ内のテーブル間の線は、テーブルを「結合」するために使用できる2つのフィールド間の「キー」以外の「関係」、およびn:n関係を示すこれらの線のいくつかの追加特性を表そうとしない。

どちらの図も非常に異なる目的を果たします。ERD:単なる人間のエンドユーザー(およびビジネスオーナー)が特定のビジネスソリューションのモデルを理解できるようにします。 DATA SCHEMA:データベースを構築するためにDBAによって使用される「青写真」、およびそのデータベース内のデータを消費するために開発者によって使用される「青写真」。

5
Mark Vogt

データベーススキーマは、データベースの実際の構造の説明です。これは、表、列、トリガー、関係、主要な制約、関数、およびプロシージャの集合を指す、すべてを包括する用語です。このすべてを説明するドキュメント(XMLスキーマなど)を参照することも、データベース構成自体の抽象化として参照することもできます(「この時点でデータベースのスキーマを変更することは困難です」)。スキーマに挿入された行やデータ自体は参照しません。 挿入データを既存のスキーマに挿入します。

エンティティ関係図は、データベース内のテーブル間の関係を視覚化したものです。最低でも、主キー制約と外部キー制約を表す線で結ばれた正方形として視覚化されたテーブル名が含まれます。多くの場合、列名と、列間に存在する関係の種類(1対1、1対多、多対多)に関する情報を含むシンボルが含まれます。

5
Conor