2017-01-25 4 views
0

私は会計コードのための有効なデータベース構造を作ることについて質問があります。私は期待していた結果は、私が最初の子のようにメインの親のためのtbl_lvl1tbl_lvl2と第二子としてtbl_lvl3として3つのテーブルなことについて考えてきたこのMySQL会計コードデータベース構造

| ID | Code |   Name   | Parent | 
| 1 | 1 |   Assets   |  | 
| 2 | 1 | Tangible Fixed Assets | 1 | 
| 3 | 1 |   Building  | 2 | 
| 4 | 2 | Intangible Fixed Assets| 1 | 
| 5 | 1 |  CopyRights  | 3 | 

です。再帰的なクエリについては、1つのテーブルだけを使用していることがわかりましたが、MYSQLで再帰的なクエリを作成するのは難しいです。
そして、私はPHPに表示する結果は、私が作るべき構造この

| Code |  Name    | 
| 1 | Assets     | 
| 11 | Tangible Fixed Assets | 
| 111 |  Building   | 
| 12 | Intangible Fixed Asset | 
| 121 |  CopyRights   | 

のようなものでしょうか? 3テーブルまたは1テーブルを使用していますか?ありがとうございます

答えて

0

あなたは検索ツリーを探しています。私は特にB-treeを提案しています。

一般的に言われる検索ツリーを使用すると、ネストされた間隔で1つのクエリ内のすべてのサブノードを階層的に検索できます。

実際には数多くの実装があるので、慣れておくべき重要なデータ構造であるため、詳細を詳しく調べる必要はありません。

+0

私はBツリーを理解するのに数日を要しましたが、あなたの提案は私に答えを提供します、感謝@ravenixx –