すべてのユーザー間の相関値を保存する Web サイトのユーザーのデータベースを作成しようとしています。これが意味することは、ユーザーのペアごとに、2 人のユーザー間の相関関係の値が保存されているということです。
相関値は、相関アルゴリズムを使用して PHP によって計算されます。私の質問は、それらを MySQL データベースに保存する最も正しい方法は何ですか? 次のようなテーブルを作成できることに気付きました。
---------------------------------
| user1 | user2 | user3 | etc... |
-----------------------------------------
| user1 | #val | #val | #val | #val |
-----------------------------------------
| user2 | #val | #val | #val | #val |
-----------------------------------------
| user3 | #val | #val | #val | #val |
など。しかし、私はこの方法が好きではありません
- すべての値を 2 回格納します。たとえば、user1 と user3 の間の相関関係は、行 1 列 3 と行 3 列 1 に格納されます。
- つまり、ユーザー ID を SQL ステートメントに連結しない限り、ユーザー ID にちなんで名付けられた列を選択することはできません。これは明らかに理想的ではありません。
私の代替手段は何ですか?これが MySQL でうまく実行できる場合、どうすればよいでしょうか?
これが MySQL でうまくできない場合、他に学ぶべきデータベースの種類はありますか? たとえば、グラフ データベース システムがこれに適していることはわかっていますが、MySQL でグラフ データベースを使用できるのであれば、その使用方法を学習するのに時間をかけたくありません。