常见级联树结构的数据表设计
在程序设计中我们经常会遇到具有级联关系的多级树结构,本文给出了一些case的常见设计方案,包括分类管理、三级地址管理和多级菜单
管理。
Case中使用Oracle数据库做示例。
从几个示例中可以看出,ID,NAME,PARENTID,PATH几个字段是通用的,其他字段根据需求扩展。其中PARENTID代表父节点ID,顶层父
节点可设为-1;PATH存储从顶层到叶子层路径,可以用斜杠间隔;因为不同数据库处理null值的策略不同,顶层的PATH我们不设为null,可设
为斜杠。
级联分类管理:
ID NUMBER
NAME NVARCHAR2(255 CHAR)
TYPE NUMBER
PARENTID NUMBER
PATH NVARCHAR2(255 CHAR)
三级级联地址:
ID NUMBER
NAME NVARCHAR2(255 CHAR)
PARENT_ID NUMBER
ADMINISTRATIVE_LEVEL NUMBER
PATH NVARCHAR2(255 CHAR)
导航多级菜单:
ID NUMBER
NAME NVARCHAR2(255 CHAR)
URL NVARCHAR2(255 CHAR)
PARENT NUMBER
SUB_SYS NUMBER
ICON VARCHAR2(255 BYTE)
PATH NVARCHAR2(255 CHAR)
Edit by Jimmy
2014.09.17
posted on 2014-09-17 12:24 Jimmy Cheung 阅读(2405) 评论(0) 编辑 收藏 举报