2010-08-09 44 views
0

我想存儲文本數據結構如下公平位:用於存儲heirarchical列表的RDBMS策略?查詢/輸出它們?

1. Overall Text A 
    1.1 Subsection Text 
     1.1.1 Clarification A 
     1.1.2 Clarification B 
    1.2 Another Subsection 
     1.2.1 Don't forget A 
     1.2.2 Don't forget B 
     1.2.3 or C! 
2. Overall Text B 
    2.1 getting the idea yet? 

科級範圍將從1(平)4,雖然沒有絕對的最大值。每個項目至少有一段文字。保留編號方案非常重要。

我正在使用MySQL和PHP的網站,這涉及到我想添加的部分。如何最好地將這些數據和關係存儲在RDBMS中,然後如何讓他們再次獲得並用PHP顯示它們?

回答

1

其簡單的創建代表層次結構的數據庫結構:

CREATE TABLE nodes (
    node_id int NOT NULL, 
    parent_node_id int, 
    node_data varchar(100), 
    PRIMARY KEY node_id); 

但保持編號系統是一個比較複雜 - 然而CSS can do this for you.

一種替代的方法來管理分層數據是一個很多更靈活的描述是here

您可能還會發現phplm有用。

1

嵌套集會給你以有效的方式存儲分層數據的好處。然而,與之合作可能有點痛苦。大多數時候,只要結構簡單,它的表現都很好,而且效率很高!

MySQL的例子:http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

我用這個方法我在幾個項目,除了對路徑發現有些頭疼,我沒有抱怨。 :)