私はSQLデータベースを持っています。紹介URLの値をそこに保存する必要があります。問題は、会社の各メンバーがファイルをアップロードすることです。この場合、統計を取得するためにreferrals
非常に困難になっています。 200 列を追加してから、紹介を追加しますか?
2 に答える
テーブルを作成し、リフェラルを.Herereferrals
に対して保存します。外部キーになります。user Ids
userid
例:
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
は、何百もの列を作成するよりも、アプローチを取得するためのはるかに優れた方法です。
データを正規化する必要があります。すべてのユーザーに対して 1 つのテーブルに配置する必要があり、200 列を必要とする可能性のあるテーブルがいくつかある可能性がありますが、それらは非常にまれです。
データベースでは、通常 (常にではありませんが、ほとんどの場合)、データの行を増やして列を減らしたいと考えます。
簡単な例として、日ごとの売上を保存する必要があり、売上データが週に 1 回来るとします。MondaySales、TuesdaySales などの列を含むテーブルを作成するのではなく、販売トランザクションの日付を含むテーブルを作成します。毎週のテーブルで実行できるクエリを毎日のデータに対して実行できないということはありません。これにより、クエリと分析が非常に簡単になります。
この場合、参照を監視するために列を追加する場合は、テーブルに単一の列を追加するか、データの各行に対して複数の参照を取得する可能性がある場合は、おそらく必要です。スタッフにリンクする紹介専用の別のテーブルを作成します。