Document
は、origin
とdestination
の間のトランザクションに関するすべての情報を保持する構造体です。 origin
とdestination
の両方は、company
またはperson
の2つのタイプにすることができます。このようなユースケースをモデル化する最良の方法は何ですか?複数の振る舞いを持つ文書表のデータベース設計に関する意見
1Nºアイデア:
Document
**document_columns**
origin_id -> foreign key
origin_type -> customer or person
destination_id -> foreign key
destination_type -> customer or person
アイデア2Nº:
Document
**document_columns**
DocumentOrigin
document_id
origin_id
origin_type
DocumentDestination
document_id
destination_id
destination_type
アイデアNº3:おそらく別の上で1つを選択する影響を与える可能性が
DocumentCompany
**document_columns**
company_id
DocumentPerson
**document_columns**
person_id
物事は必要なことです同じであるかのようにすべてDocuments
を集めるレポート。 UNION
またはその他の高度なSQLコマンドを使用してスキーマに関する情報を生成することも考慮する必要があります。
原点タイプは、原点または文書トランザクションに依存していますか?原産地に依存している場合は、文書トランザクション –
に入れないでください。基本表と1対1の関係を持つ個人および社内表を作成し、文書の外部キーをこの表に使用することをお勧めします。起点/目的地タイプの欄が冗長になります。 –