0

私は使用しています。私はMySQL DBMS持っていDocument table and Order tableます。relationshipそれらの間はone to manyです。

ドキュメントが作成されると、ユーザーはそのドキュメントに対してinsertいくつかの注文を行うことができOrder tableます。ユーザーが登録ボタンをクリックすると、テーブルに反映されます。ただし、その後、ユーザーはそのドキュメントを編集できます。注文を変更、更新、削除できます。

登録ボタンをクリックすると、Order テーブルに反映されます。編集時に、そのドキュメントのすべての注文を削除したいので、もう一度挿入します。行、100 行を削除して 100 行を再度挿入する必要があります。または、ユーザーが新しい注文を追加した場合は、100 行を削除して 101 行を追加する必要があります。

この状況を処理する最善の方法は何ですか?私は C# を使用していることに注意してください。よろしくお願いします。

4

1 に答える 1

1

ドキュメントに変更があった場合は常に、ドキュメントの新しいレコードを作成する必要があります。ドキュメントに一意の識別子を使用して、ドキュメントをバージョン化できます。各注文は、ドキュメントの特定のバージョンに関連している必要があります。

このようにして、ドキュメントを編集できます。ドキュメントを編集するたびに、新しいバージョンが作成され、そのバージョンに対して新しい注文が行われます。すべてのバージョンの一意の識別子は同じままです。つまり、ドキュメントは一意の識別子とバージョンによって識別されます。

提案された方法には問題があります。つまり、ドキュメントを変更すると、すべての注文が再挿入されますが、注文があった元のドキュメントを追跡することはできません。

于 2012-10-10T05:35:57.140 に答える