0

私はER図を描くためにこの情報を持っています。

企業は文書を生成し、これらの文書は従業員に関連付けられていますが、多くの種類の文書があります。この er 図に対する正しい答えを得ることができません。

私の解決策は次のとおりです。

エンタープライズ 1-M 文書 文書 M-1 文書の種類

ドキュメントの種類に応じて Document テーブルの属性を変更するにはどうすればよいですか? これを解決する最善の方法は何だと思いますか?

すべてのドキュメント属性を Type of Document テーブルに配置する必要がありますか? そして、ドキュメント 1 について話している場合、ドキュメント 2 の属性は null になりますか?

私が考える別の解決策は次のとおりです。ドキュメントは、さまざまな属性を持つテーブルドキュメント1、他の属性を持つテーブルドキュメント2、または他の属性を持つテーブルドキュメント3などにすることができますが、これを表示する方法がわかりませんER - ダイアグラム。

最善の方法で解決したい。

ちなみにDoctrineとSymfony2を使っています。

4

2 に答える 2

0

ドキュメントの種類は専門分野の場合のようです。ERモデリングを行っている場合は、拡張ERの機能を使用して特殊化を直接表現できます。次のPDFをロードし、「スペシャライゼーション」に移動して、スペシャライゼーションを図解する方法を確認します。

http://www.sis.pitt.edu/~valeriab/1022-spring08/Chapter6.pdf

ERモデルを実装するためにリレーショナルデータベースを設計している場合は、クラステーブル継承と共有主キーという2つの手法を学ぶ必要があります。これらの各手法には、ここSOにタグがあり、数十の有用な回答があります。

于 2012-09-16T12:09:09.933 に答える
0

私があなたのケースを見る(そして理解する)方法:

「企業は文書を生成します。これらの文書は従業員に関連付けられていますが、多くの種類の文書があります。」

エンタープライズID、名前

従業員ID、名、姓、enterprise_id (Enterprise.id への FK)

DocumentType ID、名前

ドキュメントID、コンテンツ、document_type_id (DocumentType.id への外部キー)

SpecificDocument id (document.id への外部キー)、specificfield1、specificfield2

SpecificDocument2 id (document.id への外部キー)、specificfield3、specificfield4

EmployeeDocument employee_id (Employee.id の外部キー)、document_id (Document.id の外部キー)

この情報を使用して ER 図を生成できるはずです。

編集 :

しかし、最善の方法は、ER DB ではなくドキュメント DB (例: MongoDB) を使用することです。

于 2012-09-02T15:59:53.197 に答える