在设计类别表时我们通常这样:
产品类别表:
type_id
type_name
type_parent_id//关键,父节点ID,于是就有了树形结构。
但树形结构再操作时会非常麻烦,也不利于检索,在级数不多或固定的情况下,可以将树形结构的表格扁平化。
如:
type_id
type_name
level1//一级分类
level2//二级分类
level3//三级分类
扁平化后,无论是查询还是保存,都非常简单。这种扁平化结构其实在商业分析领域有很大的用处,通常用来作为维度表。比如一个时间的维度表:
-date_id
-year
-month
-day
-week
-quarter //季度
有了这个时间表,在记录时只需要记录date_id,然后检索时就可以方便的检索出某星期几、某月、某季度、某星期几的内容(当然是联合查询)。