- 図とデータベース
- 歴史
- その他の先駆者
- 哲学的な調整
- 要素と記号
- -エンティティ関係図
- 記号論
- -要素
- エンティティ
- 弱いエンティティ
- 属性
- キー属性
- 多値属性
- 派生属性
- 関係
- カーディナリティ
- 一対一の関係
- 1対多の関係
- 多対1の関係
- 多対多の関係
- 関係エンティティモデルの作成方法は?
- エンティティを特定する
- 関係を特定する
- カーディナリティを特定する
- 属性を特定する
- 図を完成させる
- 効果的なER図のヒント
- 例
- データベース図
- インターネット販売モデル
- 参考文献
関係エンティティモデル(ERモデル)を実際のデータベースとして実装することができるデータベースの論理構造の設計です。ERモデルの主なコンポーネントは、エンティティと関係のセットです。
エンティティリレーションシップモデルは、特定の知識領域で相互に関連する関心事を記述します。ソフトウェアエンジニアリングでは、ERモデルは通常、企業がビジネスプロセスを実行するために覚えておく必要のあるものを組み込むために使用されます。
出典:pixabay.com
通常、それは、いくつかのビジネス領域のプロセスにとって何が重要であるかを特定して表すための体系的な分析の派生です。プロセスを定義せずに、ビジネスデータのデザインをグラフィカルに表示するだけです。
したがって、データベースに広く使用されている、データをモデリングするための使いやすいグラフィカルツールであり、システムに存在するエンティティとそれらのエンティティ間の関係を識別するのに役立ちます。
一般に、線(関係)で接続されたボックス(エンティティ)で描画され、それらのエンティティ間の依存関係と関連付けを表します。
図とデータベース
関係エンティティモデルは、通常、データベースとして実装されます。単純なリレーショナルデータベースの実装では、テーブルの各行がエンティティのインスタンスを構成し、各列が属性を構成します。
エンティティは、リレーションシップだけでなく、属性と呼ばれる「主キー」と呼ばれる識別子を含む追加のプロパティによっても特徴付けられます。
エンティティと関係、および属性を表すために導入された図は、エンティティ関係モデルではなく、エンティティ関係図(ER図)と呼ぶことができます。
したがって、データベースの構造は、エンティティ関係図を使用して記述されます。
その結果、ERモデルは抽象的なデータモデルになり、データベースに実装できる情報構造を定義します。これは一般的にリレーショナルです。
歴史
データモデリングは、データベースや実際のビジネスプロセスを適切にモデル化する必要性から、1970年代に流行しました。
ピーターチェンは、1976年の有名な記事「エンティティ関係モデル-データの統一されたビューに向けて」でエンティティ関係モデルを広めました。
リレーショナルデータベースに使用できる標準規約を作成することが提案されました。彼の目標は、ERモデルを概念モデリングアプローチとして使用することでした。
Peter Chenは彼の記事で次のように述べています。「エンティティリレーションシップモデルは、エンティティとリレーションシップで構成される現実世界のより自然な見方をします。これには、現実世界に関する重要な意味情報の一部が組み込まれています。
データベースの設計に加えて、ChenのERモデルは、情報モデリングシステムとアプリケーションにも役立ちます。統一モデリング言語(UML)は、エンティティ関係モデルからさまざまな方法で派生しています。
その他の先駆者
APブラウンは、国際情報処理学会の出版物で、昨年、「現実世界のシステムのモデル化とそれを表す回路図の設計」と呼ばれる記事を発表しました。
ブラウンの記事は関連性がありましたが、チェンの記事は、特に「エンティティ」と「関係」という用語に焦点が当てられていたため、さらに関連性がありました。これは、今日知られているように、一般にデータモデリング手法の始まりと考えられています。
データモデリングの一種であるバックマンダイアグラムについても言及する必要があります。
チャールズバックマンの1969年のデータベースに関する記事は、データベースの「エンティティ」の概念を紹介し、データ構造の最初の図の1つであり、後にバックマン図として知られています。これはピーター・チェンに非常に影響を与えました。
哲学的な調整
チェンは、古代ギリシャの哲学者ソクラテス、プラトン、アリストテレス(紀元前428年)の時代から、現代の認識論、記号論、およびパース、フレゲ、ラッセルの論理に至るまでの哲学的および理論的伝統に従っていました。
プラトン自身は、知識を不変の形の不安と関連付けます。ソクラテスによると、フォームは、さまざまな種類の物や特性、およびそれらの相互関係の原型または抽象的な表現です。
要素と記号
エンティティ関係図は、データベースに格納されているエンティティのセットの関係を示しています。つまり、ER図はデータベースの論理構造を説明するのに役立ちます。
例:特定の曲はエンティティですが、データベース内のすべての曲のコレクションはエンティティのセットです。
-エンティティ関係図
一見すると、ER図はフローチャートに非常に似ています。ただし、ER図には多くの特殊な記号が含まれており、それらの意味はこのモデルを独特のものにします。
次の図には、学生と学校の2つのエンティティとそれらの関係があります。学校には多くの学生がいるため、学生と学校の関係は多対1ですが、学生は同時に複数の学校で学ぶことはできません。
Studentエンティティには、ID(Est_Id)、名前(Est_Nombre)、住所(Est_Address)などの属性があります。Schoolエンティティには、ID(Col_Id)や名前(Col_Nombre)などの属性があります。
記号論
-長方形:エンティティのセットを表します。
-楕円:属性を表します。
-ダイヤモンド:関係のセットを表します。
-線:属性をエンティティセットに、エンティティセットを関係セットにリンクします。
-二重楕円:複数の値を持つ属性。
-不連続な楕円:派生属性。
-二重長方形:弱いエンティティのセット。
-要素
エンティティ
エンティティとは、現実の世界で容易に認識できるものです。データベースに表示されるのは、会社のあらゆるものです。それは、物理的なものでも、現実の世界で発生する単なる事実またはイベントでもかまいません。
それは、データベースにデータを格納する場所、人、オブジェクト、イベント、または概念にすることができます。エンティティの特徴は、エンティティが一意のキーとして属性を持つ必要があることです。各エンティティは、そのエンティティを表すいくつかの属性で構成されています。
エンティティは名詞と考えることができます。例:コンピューター、従業員、歌、数学の定理など。
弱いエンティティ
弱いエンティティは、それ自体の属性によって一意に識別できないエンティティであり、別のエンティティとの関係に基づいています。
たとえば、銀行口座は、それが属する銀行が不明な場合は一意に識別できません。したがって、銀行口座は弱いエンティティです。
属性
属性は、エンティティのプロパティを表します。ER図では楕円形で表されます。属性には4つのタイプがあります。
キー属性
エンティティのセットからエンティティを一意に識別できる属性です。たとえば、学生ID番号は、学生のプールから学生を一意に識別できます。
キー属性は、他の属性と同様に楕円で表されます。ただし、キー属性テキストには下線が引かれています。
多値属性
これは、複数の値を含めることができる属性です。これは、ER図では二重の楕円で表されます。
たとえば、人は複数の電話番号を持つことができるため、電話番号属性には複数の値があります。
派生属性
これは、値が動的であり、別の属性から派生したものです。ERダイアグラムでは、不連続な楕円で表されます。
たとえば、人の年齢は、時間の経過とともに変化し、別の属性である生年月日から派生できるため、派生属性です。
関係
関係は、エンティティが互いにどのように関連しているかを示します。それらは、2つ以上の名詞を結合する動詞と見なすことができます。ER図ではひし形で表されています。
例:部門と従業員の関係、コンピュータと会社の関係、定理と数学者の関係、アーティストと歌の関係など。
カーディナリティ
カーディナリティは、1つのエンティティのインスタンスが、別のエンティティの1つのインスタンスに関連付けられる数を指定します。序数は基数とも密接に関連しています。
カーディナリティーは関係の発生を指定しますが、オーディナリティーは関係を必須またはオプションとして説明します。これに使用される記号は次のとおりです。
つまり、カーディナリティは関係の最大数を指定し、順序性は関係の絶対最小数を指定します。この意味で、4つのタイプの関係があります。
一対一の関係
エンティティの単一のインスタンスが別のエンティティの単一のインスタンスに関連付けられている場合です。
たとえば、1人のパスポートは1つだけで、1人のパスポートは1人に1つしか与えられません。
1対多の関係
エンティティのインスタンスが別のエンティティの複数のインスタンスに関連付けられている場合です。
たとえば、顧客は多くの注文を出すことができますが、多くの顧客は注文できません。
多対1の関係
エンティティの複数のインスタンスが別のエンティティの単一のインスタンスに関連付けられている場合です。
たとえば、多くの学生は1つの大学でしか学べませんが、1人の学生が同時に多くの大学で学ぶことはできません。
多対多の関係
エンティティの複数のインスタンスが別のエンティティの複数のインスタンスに関連付けられている場合です。
たとえば、学生は多くのプロジェクトに割り当てられ、プロジェクトは多くの学生に割り当てられます。
関係エンティティモデルの作成方法は?
システムまたはプロセスを文書化するとき、システムを複数の方法で観察すると、そのシステムの理解が深まります。
エンティティ関係図は、データベースのコンテンツを表示するために一般的に使用されます。これらは、一般的な方法でデータがどのように接続されているかを視覚化するのに役立ち、リレーショナルデータベースの構築に特に役立ちます。
関係エンティティモデルを構築するために必要な手順は次のとおりです。
エンティティを特定する
エンティティ関係図を作成する最初のステップは、使用されるすべてのエンティティを識別することです。エンティティは、システムが情報を格納する対象についての説明を持つ長方形にすぎません。
考えられるエンティティごとに長方形を描く必要があります。例として、次の3つのエンティティがあります。
関係を特定する
2つのエンティティが見られ、それらが互いに関連している場合、2つのエンティティを結ぶ実線が描画されます。
エンティティの関係を説明するために、2つのエンティティの間に、追加したばかりの線上にひし形が描画されます。
それらがどのように関連しているかについての簡単な説明は、ダイヤモンドに書かれるべきです。例に続いて、次のようになります。
カーディナリティを特定する
問題の例では、学生は複数のコースに割り当てられ、教師は1つのコースしか教えることができないことがわかっています。したがって、図は次のようになります。
属性を特定する
組織が現在保持しているファイル、フォーム、レポート、およびデータを調査して、属性を特定する必要があります。エンティティを識別するために、複数の利害関係者へのインタビューを行うこともできます。最初は、属性を特定のエンティティに割り当てずに属性を識別することが重要です。
属性のリストを取得したら、それらを識別されたエンティティに割り当てる必要があります。属性が1つのエンティティと完全に一致することを確認してください。属性が複数のエンティティに属していると考えられる場合は、修飾子を使用して一意にする必要があります。
割り当てが行われた後、主キーが識別されます。一意のキーがない場合は、作成する必要があります。
例をわかりやすくするために、キーに加えて、エンティティごとに1つの属性のみが示されています。ただし、より多くの属性を識別できます。主キーには下線が付いているため、他の属性と区別できます。
図を完成させる
すべての関係が説明されるまで、エンティティを線で結び、菱形を追加して各関係を説明し続けます。
一部のエンティティは、他のエンティティに関連していない場合があります。一方、他のエンティティは複数の関係を持つことができます。ER図のより現代的な表現は次のとおりです。
効果的なER図のヒント
-各エンティティが図に一度だけ表示されることを確認します。
-図では、各エンティティ、関係、および属性に名前を付ける必要があります。
-エンティティ間の関係を注意深く検討する必要があります。それらは本当に必要ですか?定義する必要がある関係はありますか?冗長な関係は排除する必要があります。関係は互いに接続されていません。
-図の重要な部分を強調するために色を使用することをお勧めします。
例
データベース図
データベースの関係エンティティ図を作成する理由は2つあります。新しいモデルを設計している場合、または既存の構造を文書化する必要がある場合。
文書化する必要がある既存のデータベースがある場合は、データベースから直接データを使用してエンティティ関係図を作成します。
インターネット販売モデル
エンティティ関係図を使用した、インターネット販売のエンティティ関係モデルの例を次に示します。
参考文献
- ウィキペディア、無料の百科事典(2019)。エンティティ–関係モデル。取得元:en.wikipedia.org。
- Smartdraw(2019)。エンティティ関係図。取得元:smartdraw.com。
- Chaitanya Singh(2019)。エンティティ関係図-DBMSのER図。初心者向けの本。取得元:beginnersbook.com。
- Guru99(2019)。DBMSのERダイアグラムのチュートリアル(例付き)。取得元:guru99.com。
- 視覚的パラダイム(2019)。エンティティ関係図(ERD)とは何ですか?取得元:visual-paradigm.com。
- Dataversity(2019)。ER図と情報モデリングの短い歴史。取得元:dataversity.net。
- エイドリアンワット(2019)。第8章エンティティ関係データモデル。テキストBCを開きます。取得元:opentextbc.ca。