我有一个关于为会计代码制作有效数据库结构的问题。我期待的结果就是这个
| 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 |
我一直在考虑为主要父母制作3个表格,例如 tbl_lvl1 , tbl_lvl2 作为第一个孩子, tbl_lvl3 作为第二个儿童。我发现了递归查询,它只使用了1个表,但在MYSQL中很难进行递归查询。
我希望在PHP中查看的结果是这样的
| Code | Name |
| 1 | Assets |
| 11 | Tangible Fixed Assets |
| 111 | Building |
| 12 | Intangible Fixed Asset |
| 121 | CopyRights |
我应该做哪种结构?使用3个表还是1个表?谢谢
答案 0 :(得分:0)
您正在寻找搜索树,我特别推荐B-tree。
通常使用的搜索树允许您通过嵌套间隔在单个查询中分层搜索所有子节点。
实际上有几十个实现,所以你不需要深入研究细节,即使我建议它,因为它是你应该习惯的主要数据结构。