当前位置: 代码迷 >> Oracle管理 >> 表设计解决办法
  详细解决方案

表设计解决办法

热度:85   发布时间:2016-04-24 05:40:11.0
表设计
某表的设计如下
CREATE TABLE dbo.EOS_DICT_TYPE
(
DICTTYPEID VARCHAR (128) NOT NULL,
DICTTYPENAME VARCHAR (255) NULL,
RANK INT NULL,
PARENTID VARCHAR (255) NULL,
SEQNO VARCHAR (255) NULL,
PRIMARY KEY (DICTTYPEID)
)
部分数据如下
 DICTTYPEID DICTTYPENAME RANK PARENTID SEQNO  
 city City 3 province .country.province.city.
 country Country 1 .country.
 province Province 2 country .country.province.
很多树形表都喜欢采用这种方式来设计,尤其是SEQNO列采用如上方式存数据,请问这样做有什么好处吗?

------解决方案--------------------
对不齐,看不清楚?
------解决方案--------------------
好处是树形结构比较清晰直观,并且任何一个节点都保存了自己的完整路径,查找根路径或者回溯都比较方便。

缺点也很明显,维护过于麻烦复杂,任何一个节点的变动都会影响到下级所有节点的数据。

就个人而言,我是不赞同使用这种冗余结构的。
  相关解决方案