私は、ユーザーが「タグ」を付けてファイルを分類できるようにするPythonプログラムに取り組んでいます。これらのタグは、相互に階層関係にある場合があります。たとえば、「cat」タグは「mammal」タグの「子孫」として分類できます。結果として、ファイルが「dog」としてタグ付けされると、「mammal」タグを介してアクセスすることもできます。
これらのタグとそれらの相互関係およびファイルとの関係は、明らかにデータベースに保存する必要があります。私はリレーショナルデータベースに最も精通しています。
再帰の必要がなくなり、必要なデータベースクエリが少なくなるため、リレーショナルデータベースにツリーを格納するためのModified Pre-orderTreeTraversalメソッドが非常に気に入っています。
ただし、複数の親を持つタグを容易にすることも必要です。たとえば、「犬」は「哺乳類」の子であり、「4本足のもの」の子である可能性があります。4本足のものすべてが哺乳類または動物(テーブルなど)であるとは限らず、「哺乳類」および「4本足のもの」 -thing'タグには「共通の祖先」はありません。
MPTTメソッドの利点のいくつかを維持しながら、データベースでそのような関係を表す方法を知っている人はいますか?
助けてくれてありがとう。