您的位置:首页 > 其它

关于字典表数据级联关系的说明

2014-09-19 18:19 387 查看
因为之前在设计tbl_dictionary_info(字典表)时,只设计了两级关系,用来表示一个大类底下的有多少个小的分类。

ID | TYPE_NAME | TYPE_CODE | ITEM_NAME | ITEM_CODE | SORT_NO | .......

(项的主键) 一级类名 一级编码 二级(项)类名 二级(项)编码 项的序号

106 广告位类型 AD_TYPE 固定 FIXED 1

107 广告位类型 AD_TYPE 漂浮 FLOAT 2

108 广告位类型 AD_TYPE 弹窗 POPUP 3

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

但是现在公司提供过来的数据分为了好几个层级,这样在存入字典表的时候需要提现其层级关系。

数据如图:



关于这样的表格类别名称的说明:

1.分三个层级:

大类用A开头,中类用B开头,小类用C开头。

2.命名:

A01下面中类从B01,B02,B03...开始,A02下面的中类也从B01,B02,B03...开始,A03下面的中类也从B01,B02,B03...开始。

.以此类推,也就是说每一个大类下的中类都是从B01,B02,B03...开始。

同理;

每一个中类下的小类都是从C01,C02,C03...开始的。

像这样的大于二个层级关系的可以这样设计设计字典表格。

ID | TYPE_NAME | TYPE_CODE | ITEM_NAME | ITEM_CODE |

大类名称 大类编码 中类名称 中类编码

-----------------------------------------------------------------------------------------------------------------------------

ID | TYPE_NAME | TYPE_CODE | ITEM_NAME | ITEM_CODE |

中类名称 中类编码 小类名称 小类编码

-----------------------------------------------------------------------------------------------------------------------------

总结一下,也就是说,type_***** 存放的是 item_***** 的上一级的类别名称和类别代码。

然后为了能更高效的查询到这个类别的上一级类别,比如想知道 “财经资讯”,这个中类属于哪个大类,就在字典表中多添加了一个属性PARENT_ID(父级ID),这样利用HIbernate的根据属性ID就能查找出相应的对象的特性,就能跟方便的知道上一级别的对象了。

ID | TYPE_NAME | TYPE_CODE | ITEM_NAME | ITEM_CODE | PARENT_ID

本级ID 父级名称 父级编码 本级名称 本级编码 父级ID

-----------------------------------------------------------------------------------------------------------------------------------------------------------

举例:

查询 “内容主题分类标准” --》 "金融理财" --》 “股票” --》 “美国股票”

如图:

先查找小类的记录。

其中:ID,ITEM_CODE,ITEM_NAME,记录的都是本记录的信息

PARENT_ID,TYPE_NAME,TYPE_CODE,记录的都是父级记录的信息



然后通过该条记录的 PARENT_ID 可以查找到其父级记录。可以看见中类的记录信息。



然后在根据中类的 PARENT_ID 就可以查找到 大类记录的信息。



然后在根据中类的 PARENT_ID 就可以查找到 大类记录的信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: