売り手、買い手、本という 3 つのエンティティ (クラス) を持つ書店を構築します。データベースを次のように設計しました。
- 買い手と売り手の両方が、それぞれ 1 冊以上の本を売買できます。
- 購入者が本を販売したい場合、販売者アカウントが必要です。
- 買い手は自分の価格を提示し、売り手は最高の買い手に売りたいので、これらのすべての情報を保存する必要があります。
このモデルでは、プロセスクラスは他の 3 つのクラス コネクタになります。
売り手の本の買い手
------- ------ -------
sID* bID* byID*
名前 --> sID
これは私の最初の考えでしたが、バイヤーが同時に複数の本を購入できるため、このスキーマがプロセスで失敗することがわかりました。また、他の理由もありました。だから私はそれを変更しました:
このモデルでは、プロセスクラスは他の 3 つのクラス コネクタになります。
______ ______ ________ ________
|売り手| | | 本 | |プロセス | | | バイヤー |
-------- -------- ---------- ---------
| | SID* | | | bID* | | | pID* | | | byID* |
| | 名前 | | | XXX | --> | SID | |日付 &..|
----------
(*) は主キーを示します
これはうまくいくと思いますが、価格オファーで作業するにはどうすればよいですか?
はい、プロセスクラスにオファーを追加できるので、気が変わってこのモデルが登場しました: (長い説明で申し訳ありません)
*Offer* フィールドが *process* クラスに追加されます。
______ ______ __________ ________
|売り手| | | 本 | |プロセス | | | バイヤー |
-------- -------- ----------- ----------
| | SID* | | | bID* | | | pID* | | | byID* |
| | 名前 | | | XXX | --> | SID | | | オファー |
| | 日付 &..|
-----------
(*) は主キーを示します
初めてなので、データベースの設計に完全に混乱しています。これでシステムのニーズを満たすことができますか? いいえの場合、どのように機能させることができますか? はいの場合、より良いデザインはありますか?
どんな提案でも大歓迎です、事前に感謝します:)
更新- ここで最良の回答を選択することはできません。すべて役に立ちました。たくさんの人に感謝します。よろしくお願いします^o^