私の現在のデータベースは、次のテーブルで構成されています。
与えられた質問のユーザー評価を保存する -
user( uid(varchar), qid(varchar), rating(varchar), primary key(uid, qid) )
質問とその ID を保存します -
questions( uid(varchar), question(text), primary key(qid) )
質問同士の関係を保存する -
related( qid(varchar), related_qid(varchar), relation(varchar), primary key(qid, related_qid, relation) )
各質問は、少なくとも 1 つの他の質問に関連しています。たとえば、質問 1 と質問 2 は、質問 1 の平均評価が質問 2 の評価よりも高いと予想されるという点で関連している可能性があります。この関係は、「関連」テーブルに次のように格納されます。
INSERT INTO related (qid, related_qid, relationship) VALUES (1, 2, gt)
ここで、「gt」は「より大きい」を意味します。
問題は、関係のエンコードがまったくエレガントに見えないことです。誰かがより良い解決策を持っていますか?