0

私はSQLデータベースを持っています。紹介URLの値をそこに保存する必要があります。問題は、会社の各メンバーがファイルをアップロードすることです。この場合、統計を取得するためにreferrals非常に困難になっています。 200 列を追加してから、紹介を追加しますか?

4

2 に答える 2

0

テーブルを作成し、リフェラルを.Herereferralsに対して保存します。外部キーになります。user Idsuserid

例:

ID      UserID         Referrals

1        32            referrals link here
2        41            referrals link here

等々。referralsこのようにして、各ユーザーの数を簡単に追跡できます。

あなたのコメントによると、user(abc)ID を持つ32リファーラルが多すぎると、行だけが増加します

例:

ID      UserID         Referrals

1        32            referrals link here 1
2        32           referrals link here 2
3        32            referrals link here 3 
4        32           referrals link here  4

これで、ユーザー ID が繰り返されていることがわかりますが、値が変更されています。これReferralsは、何百もの列を作成するよりも、アプローチを取得するためのはるかに優れた方法です。

于 2013-09-07T12:08:35.367 に答える
0

データを正規化する必要があります。すべてのユーザーに対して 1 つのテーブルに配置する必要があり、200 列を必要とする可能性のあるテーブルがいくつかある可能性がありますが、それらは非常にまれです。

データベースでは、通常 (常にではありませんが、ほとんどの場合)、データの行を増やして列を減らしたいと考えます。

簡単な例として、日ごとの売上を保存する必要があり、売上データが週に 1 回来るとします。MondaySales、TuesdaySales などの列を含むテーブルを作成するのではなく、販売トランザクションの日付を含むテーブルを作成します。毎週のテーブルで実行できるクエリを毎日のデータに対して実行できないということはありません。これにより、クエリと分析が非常に簡単になります。

この場合、参照を監視するために列を追加する場合は、テーブルに単一の列を追加するか、データの各行に対して複数の参照を取得する可能性がある場合は、おそらく必要です。スタッフにリンクする紹介専用の別のテーブルを作成します。

于 2013-09-07T12:13:01.580 に答える