2012-04-20 3 views
0

私はいくつかのテーブルを持っている、彼らは、次のとおり、私はゲームを好きユーザーを格納したい店算出されたデータやテーブルの上に事前に計算されたデータ(計算ユーザーの年齢やタイムスタンプ)

user 
============================== 
user_id | username | etc.. 
============================== 

user_metadata 
==================================== 
user_id | birthday | gender | etc.. 
==================================== 

game 
======================== 
game_id | name | etc.. 
======================== 

、年齢属性が重要であるため、私は好きなときに違う必要があります。誰かが5歳であったときや8歳だったときにゲームが好きだったら、それは別の存在に違いないはずです。

  1. ストア好きが作ったユーザの年齢:オプション番号2と

    user_likes 
    ========================================== 
    user_id | game_id | liked_at (timestamp) 
    ========================================== 
    

ので

user_likes 
========================================== 
user_id | game_id | user_age_when_liking 
========================================== 
  • ストア、タイムスタンプ、私がする必要がある場合特定の年齢のようなすべてのユーザーを取得し、私はユーザーの誕生日とlik_atの年の違いを計算します。

    他の提案は非常に歓迎されています。

  • 答えて

    0

    多くの場合、の使用目的に応じて、が使用されます。あなたは等が発生したときに基づいて時間の計算(加算、減算など)への任意の時間を行う必要がありません場合は、その人の年齢よりも、(基本的にはあなたがたbirthDate-likeDateを事前に評価している)完全に有効です。しかし、10日前に誰かがゲームを好きだと言う気持ちがあれば、事前に評価されたユーザーの年齢をlikeDateに戻して、別のカレンダーを許可する作業がはるかに多くなります。私の意見では、が好きで、が好きな人は、データベースのデータを拡張可能にしたいと思う可能性が高いことに留意してください。

    また、私はstackoverflowのは、特定のコードの答えを持っていない理論的な質問に答えるように設計されたサイトではありません、この質問はおそらくprogrammers.stackexchange.com上でなければならないことに注意します。

    +0

    現在、私は私が混乱しています理由です、年齢を計算するかどうか以外の目的のためにlikedAtが必要になりますかどうかわかりません。私はlikedAtを使用して行くだろうと思います。そして質問については、私は心の中で次の時間をそれを維持します。ありがとう。 – ayublin

    関連する問題