1

私は4つのエンティティ:Event,Message,FlowおよびDocumentを持っています。他の中間の中間テーブルの適切な名前

Eventテーブルには、限られた(シードされた)レコード数が格納されます。 Messageには多くのイベントがあり、各イベントは多数のメッセージに関連付けることができます。中間テーブルにはevent_messageという名前を付けました。

ご覧のとおり、中間テーブルの規約は、{tablename}_{tablename}です。

Flowテーブルには、限られた(シードされた)レコード数が格納されます。 Messageには多数のフローがあり、各フローは多くのメッセージに関連付けることができます。中間テーブルにはflow_messageという名前を付けました。

FlowMessage(各レコードはflow_message)の各関係で文書が作成されます。

問題はここから:

各イベントメッセージには、フローによって異なる文書を持っています。つまり、中間テーブルflow_messageの新しいレコードごとに、中間のevent_messageの各レコードに関連する新しい文書があります。

この問題を解決するために、私はのevent_messageflow_messageの間に中間テーブルを作成しました。

enter image description here

は(いくつかの従来の方法で)この正しいですか?このモデルは正しいですか?

中間テーブル派生物を2つの他の中間テーブルでモデル化して名前を付けるにはどうすればいいですか?

答えて

1

また、いくつかの規約がありましたら幸いです。私は公式の大会を知らないので、私は私のことを発明しました。重要なことは、あなたが選んだ国際大会を尊重することです。

event_message_flow_messagerel_eventmessage_flowmessageに変更します。 しかし、私にとってあなたの大会はかなりいいです。

0

あなたのモデルが私にとってちょっと奇妙なので、推薦をするのは難しいです。 DOCUMENTFLOW_MESSAGEDOCUMENTEVENT_MESSAGE_FLOW_MESSAGEの間に1対1の関係があります。 EVENT_MESSAGE_FLOW_MESSAGEへの多対1の関係で私の心の中でこれを調和させるのは難しいです。 DOCUMENTとの関係が本当に1:1(必須)である場合、なぜ別のテーブルにドキュメントを保管するのですか?

テーブルの命名に関する質問に答えるには:交叉テーブルの命名規則{table} _ {table}はベストプラクティスではなく、より良い名前を考えることができない場合の代替手段です。

のテーブルの名前は、表のデータによって記録/記述されているものの企業名を反映することをお勧めします。これを行うことは常に可能ではありません(特に交差テーブルの場合)。交差テーブルは多対多の関係を表し、関係は名詞で記述することが困難なことがあります。

あなたの場合、あなたの大会で実際に物事を特に理解しやすくしているとは思いません。私はおそらくMESSAGE_DOCUMENTのような何か、あるいはちょうどDOCUMENTのようなもので簡略化しようとします。いずれにしてもこれらは1:1の関係にあるようです。

関連する問題