0

1 対 1 の関係を使用して 1 つのビジネス モデルを複数のテーブルに設計するためのベスト プラクティスは何ですか? 次の図があるとしましょう。 デモ図

両方のテーブルは、個人である 1 つのビジネス オブジェクト/エンティティを表しています。表PersonNationalIdの場合、ベスト プラクティスは次のとおりです。

  1. PersonNationalId主キーとなる追加列を追加
  2. 一意のキーを削除しPersonId、主キーとしてマークしますか? (この解決策をお勧めします)
  3. 一意のキーを使用すると、主キーを追加する必要がなくなりますか?

システムの別の画面から各テーブルを更新し、変更を追跡したいので、ビジネスを 2 つまたは複数のテーブルに分割することは考えていません (各テーブルの列CreatedByCreatedDate列を介して)。

以前の選択/解決策から得たベスト プラクティスは何ですか? 追加の解決策があれば、喜んでお知らせします。

前もって感謝します

4

2 に答える 2

1

ドキュメントは期限切れになり、期限切れになると、新しい番号で新しいドキュメントが発行されます。彼らも迷子になり、盗まれます...だから、次のようなものから始めましょう...

ここに画像の説明を入力してください

于 2012-05-29T12:12:24.660 に答える
1

本当に 1:1 が必要な場合は、両方の PK が同一であり、それらの間に循環 FK があります。DBMSは、サイクルを「中断」して新しいデータの挿入を可能にするために必要な遅延制約をサポートしていますか?


そうは言っても、このケースは私には 1:1 には見えません。ダミールが提案したように、1:N のように見えます。

于 2012-05-29T15:22:36.410 に答える