none
【SQL】网站数据库设计问题 RRS feed

  • 问题

  • 大家好  我想问一个关于数据库设计的问题,描述如下:
    由于网站需要有很多不同的分类,目前我的设计是把所有的分类都写在一个表中 并没有分表区分。比如有分类:整形美容  激光美容  注射美容  行业咨询   媒体报道   公司新闻等等  虽然这些在形式上属于分类标题  但在范围上属于两个范畴  前面三个可以说是关于整形行业的标题  当然再这其下还可以继续细分   后面三个属于新闻范畴的


    从上面的图可以看出来 【整形美容】是一个分类  它下面还有二级分类如【面部整形】【毛发移植】等,使用rootid来区分。还有一个分类属于新闻范畴的 比如【新闻中心】 它的下面有二级分类如【公司新闻】【行业新闻】等  我使用的fortype加以区分   不知道我这样设计是否合理?还请各路高手指点 表示感激!
    目前我是都分在了一起  请问各位高手我这样分是否符合标准呢?表示感谢


    煜诚海参专卖 淘宝店铺:http://jinweb.taobao.com
    2011年3月14日 7:31

全部回复

  • 这个是典型的树状结构。

    你这个办法可以,不过可以稍微改进一下。

    一般是可以通过加一个parentid和rootid来控制,这个parentid和你现在的rootid类似,标识当前节点的父节点。rootid这个表示这个节点的最最上一级节点(你这里rootid=0的节点),也就是根节点。这样就可以实现你的需求。

    有些设计只要求使用一个parentid即可,然后通过遍历(这个开销比较大)来得到所有同根集合。

     


    family as water
    • 已建议为答案 Ai-hua Qiu 2011年3月14日 8:58
    2011年3月14日 8:49
  • 这个是典型的树状结构。

    你这个办法可以,不过可以稍微改进一下。

    一般是可以通过加一个parentid和rootid来控制,这个parentid和你现在的rootid类似,标识当前节点的父节点。rootid这个表示这个节点的最最上一级节点(你这里rootid=0的节点),也就是根节点。这样就可以实现你的需求。

    有些设计只要求使用一个parentid即可,然后通过遍历(这个开销比较大)来得到所有同根集合。

     


    family as water

    那没你好  我还想顺便问一下。如果采用关系表结构和这种方式相比  哪种好呢?  我所说的关系表是  比如:表A 中的字段Aid  Aname    表B中的字段Bid,Aid,Bname

    数据如下展示如下:

    表A                                        表B

    Aid         Aname                     Bid           Aid            Bname

     1          整形美容                     1               1            面部整形

     2          激光美容                     2               1            毛发移植

     3          新闻中心                     3               3            公司新闻

     

    这是使用两个表根据对应关系id查找数据 属于关系结构

    不知道两种方式 哪种能好些?


    煜诚海参专卖 淘宝店铺:http://jinweb.taobao.com
    2011年3月14日 9:28
  • 这么分2个表来存储也是可以的。

    不过仔细看看,B表结构完全可以将A表容纳进来。

    而且对于那些多级结构来说,你可能需要更多的表,这个时候单表来表示树结构就比较方便了。

     


    family as water
    2011年3月14日 14:26
  • 如果只有2级, 分两个表设计比较好;

    如果是多级, 考虑到后面级别的扩展, 还是采用 stone_z 的方法比较好些。

    2011年3月14日 14:41
  • 如果只有2级, 分两个表设计比较好;

    如果是多级, 考虑到后面级别的扩展, 还是采用 stone_z 的方法比较好些。

    我觉得正好说反了    如果是两级的话可以采用第一种做法 原因一个表主见所以只能有一个   这样的话有利表的查找  如果是多级的话 可以考虑多张表  从性能上我感觉能快一点

    不知道我说的对不对?


    煜诚海参专卖 淘宝店铺:http://jinweb.taobao.com
    2011年3月15日 13:29