2011-08-04 10 views
2

私は、ユーザーが互いにゲームのためにトークンを転送することができるアプリケーションを構築しようとしています。今、私はデータベースモデルの確認

  • 各当事者は、1つのアカウントのみを持つことになります
  • 念頭に

    enter image description here

    database design link

    • をこのデザインを持つダブルエントリー会計は、トランザクションテーブルに
    • デビット/クレジットを格納しますリスティングテーブルは、ユーザが の取引を希望する金額を転記するために使用され、オファーテーブルにオファーが格納されます。

    このデザインをデータベースの適切な設計方法として検証したいと思います。リストはパーティー、メンバー、またはアカウント(記載されているもの)から来るべきですか?

    私は一度申し出が受け入れられれば、私は取引テーブルにこれをどうやって得るのでしょうか?

    私はこれにMySQL/PHPを使用しています。

    答えて

    0

    アプリケーションのフローとデータの関係の概要がわかりました。オファーが誰から来るべきかについてのあなたの質問に答えるには、あなたはどのような種類のパーミッションを使用する予定ですか?

    「パーティー」は、ユーザーアカウント以外のコンテナやエンティティのようなものです。だからあなたはそれが働くようにあなたがどのように意図しているのか自分に尋ねなければなりません。当事者のいずれかのメンバーは、当事者に代わって任意のオファーを受け入れることができますか?そうであれば、オファーをパーティーにリンクし、2つのパーティーの間で発生したトランザクションを保存し、オファーを投稿/受け入れた各パーティーのメンバーをリストアップするだけです。

    それ以外の場合は、個々のメンバーのアカウントをコイン/オファーに直接リンクさせたい場合があります。 "パーティー"コンテナがそのモデルでどのように役立つかはわかりませんが。要するに、取引とトラッキングを「当事者」レベルで行う予定の場合は、それに応じて取引を関連付ける必要があります。それ以外の場合は、取引/コインデータの曖昧さを引き起こす可能性があります。これにより、オファーを掲示してパーティを離れて別のパーティに参加してから、別のパーティにデータを「盗む」または「移動する」可能性があります。そのオファーは、「リムボー提供」で開催されたコインを現在のパーティーに戻します。