データベースに 2 つのテーブルordersとorderHistory.
----------------- -----------------------
| orders | | orderHistory |
----------------- -----------------------
| orderID (PK) | | historyLineID (PK) |
| orderDate | | status |
| price | | quantity |
----------------- -----------------------
orderは複数の を持つことができるようになりましhistory linesた。ただし、 ahistory lineは単独では存在できません。これは弱いエンティティと呼ばれるため、からのPKは tableのPKordersの一部である必要があると聞きました。orderHistory
質問
- これは本当に正しい弱いエンティティ関係ですか? それらを識別する他の方法はありますか?
- テーブルのPKをテーブル
orderに追加しorderHistoryて、複合主キーにする必要がありますか? - に新しいレコードを追加することにした場合
orderHistory、新しい複合キーを追加するにはどうすればよいですか? (orderIDは table から入手できますordersが、historyLineID自動インクリメントする必要があります。) - これを通常の1 対多の関係としてモデル化し、代わりに
orderID外部キーとしてのみ追加することにした場合はどうなりますか? そうすることの短所は何ですか? - すべてのテーブルが第 3 正規形である場合、Weak エンティティをまったく無視すると、設計の後半で問題が発生しますか?
ノート
orderID&は両方ともhistoryLineID代理キーです。前もって感謝します。

