0

次のような構造のデータベースを作成するのに忙しい:

article という名前のテーブルは、field_groups という名前のテーブルと 1 対多の関係にあります。field_groups には、fields という名前のテーブルとの 1 対多の関係がありますが、field_groups には、各 field_group が別のフィールド グループの親または子になることができるツリー構造が必要です。

階層関係を処理するためのネストされたセット モデルは認識していますが、この場合にうまく機能するかどうかはわかりません。ノードの階層を維持するだけでなく、各ノードの関連データを取得する必要があるだけでなく、個別のノード (理論的には無限の数のノード) をループしてクエリを実行しないと、これを回避することはできません。

このため、この状況を非常にエレガントに処理できると信じているため、mongoDB などを使用することを検討しています。私は mongoDB に対するさまざまな批判のいくつかを認識しているので、それについてアドバイスを求めるためにここにいるわけではありません。別の DB ソリューションにコミットする前に本当に知りたいことは、この種の対処方法が知られているかどうかです。 mySQLの状況の?

4

1 に答える 1

0

field_groups テーブルへの外部キーとなるフィールドには field_group_id が必要であり、article テーブルへの外部キーとなる field_groups テーブルには article_id が必要です。また、field_groups テーブルへの外部キーとなる、field_groups テーブルに parent_id が必要です。データベース テーブルにこの構造がある場合、結合を含むクエリを使用してデータを取得できます。MySQL の上で ORM を使用すると、作業が簡単になります。もちろん、MongoDB に切り替えることもできます。MySQL で問題を解決できることを示したかっただけです。

于 2013-07-10T15:28:09.403 に答える