0

sqlite データベースを中心に iOS アプリケーションを構築しました。テーブルの 1 つはドリル ダウン テーブルの値、テーブルに表示される順序、およびそれに続くメニューを割り当てます。私が推測する基本的なツリー。

私が構築した方法、私が考えることができる唯一の方法 (sqlite に触れたのはこれが初めてです).変更することは事実上不可能であるため、それは後部の本当に苦痛です。

メニューを再構築し、メニューの 1 つを追加または削除する必要がある場合は、変更後に続くすべての操作で親を調整して補正する必要があります。

誰かが私が考えていないことで私の頭を殴った.

構造の表現:

id   menu          icon          level   parent  
===========================================================  
1    colors        color.jpg     1       NULL
-----------------------------------------------------------
2    shapes        shapes.jpg    1       NULL
-----------------------------------------------------------
3    red           red.jpg       2       1 
-----------------------------------------------------------
4    green         green.jpg     2       1  
-----------------------------------------------------------
5    square        square.jpg    2       2  
-----------------------------------------------------------
6    roses         roses.jpg     3       3
-----------------------------------------------------------
7    grass         grass.jpg     3       4

したがって、レベル 1 で新しいメニューを追加することにした場合、ひどく乱雑なデータベースを使用するか、挿入後にすべてのエントリのすべての親の値と ID を変更する必要があります。

4

1 に答える 1

1

あなたがしたいことは、テーブルでは簡単ではありません (ツリー構造をリレーショナル DB に格納する最良の方法は何ですか? を参照してください)。

メニュー構造を、再帰的に編成された単一の JSON または XML オブジェクトに格納する方がよい場合があります。

于 2013-04-13T08:54:39.423 に答える