使用邻接表模型的在线系统数据库设计

时间:2013-02-18 17:43:17

标签: asp.net mysql database-design hierarchical-data adjacency-list-model

我正在尝试使用asp.net c#和mysql创建一个在线购物应用程序, 我有很多类别,有两个级别子类别,有些类别没有子类别,如:

1.clothing   
1.1-mens                    
     1.1.1-shirts                          
     1.1.2-trousers
     1.1.3-jeans  
1.2-womens      
     1.2.1-casual  
     1.2.2-jeans  
2.Books  
 -tecnhology  
 -medical  
 -history   

3.mobiles
  3.1-nokia  
  3.2-samsung   
  3.3-Apple   
  3.4-accesories   
    3.4.1-headset   
    3.4.2-cases and chargers    

4.movies         
  4.1-action    
  4.2-horror   
  4.3-romance     

*我的第一个问题是 - *我应该使用邻接列表模型为每个类别创建单独的表,因为我已经开始了解这个模型,并且我已经看到在邻接列表模型中只使用一个根节点的示例。 /> *我的第二个问题是 - *我是否可以在邻接列表模型中添加多个根节点,并且可以添加添加产品并使用父级遍历特定类别。 谢谢..帮助赞赏..

1 个答案:

答案 0 :(得分:0)

即使在同一个表中,您也可以拥有多个根节点。根节点是没有父节点的任何节点。通常,您只需设置parent_id = null即可使节点成为其树的根。

我认为不需要将每个类别存储在单独的表中。

您可能也对我的演示文稿Models for Hierarchical Data with SQL and PHP感兴趣(PHP部分只是材料的一小部分)。