文档章节

树形表扁平化

wapoint
 wapoint
发布于 2016/05/20 13:29
字数 226
阅读 40
收藏 0

在设计类别表时我们通常这样:

产品类别表:

type_id

type_name

type_parent_id//关键,父节点ID,于是就有了树形结构。

但树形结构再操作时会非常麻烦,也不利于检索,在级数不多或固定的情况下,可以将树形结构的表格扁平化。

如:

type_id

type_name

level1//一级分类

level2//二级分类

level3//三级分类

扁平化后,无论是查询还是保存,都非常简单。这种扁平化结构其实在商业分析领域有很大的用处,通常用来作为维度表。比如一个时间的维度表:

-date_id

-year

-month

-day

-week

-quarter //季度

有了这个时间表,在记录时只需要记录date_id,然后检索时就可以方便的检索出某星期几、某月、某季度、某星期几的内容(当然是联合查询)。

本文转载自:http://www.cnblogs.com/skyblog/p/4120427.html

共有 人打赏支持
wapoint
粉丝 1
博文 6
码字总数 10
作品 0
深圳
程序员
私信 提问
实现一个可无限折叠的table

前言 如何在table上实现一个可折叠展开子节点的table?先看下最终实现效果图: 其实这个项目在两个月以前就以上上传在github了,但当时没有写详细的实现过程。自己前几天发表的一篇技术贴当下...

no-simple
11/11
0
0
Java HashMap涉及的数据结构及实现

提供的功能 基于哈希表实现的Map; 非线程安全的Map实现; 键和值都可以为null(因为有处理null的情形); 基本操作和的时间消耗是固定的; 数据存储结构会随着HashMap的数量而变换成不同的数据...

666B
11/30
0
0
CKFinder 3.4.5 发布,带来全新的皮肤和性能改进

CKFinder 3.4.5 发布了,CKFinder 是一个易于使用的 Ajax 文件管理器。提供文件夹树形结构(Folders tree)导航菜单,多语言支持(自动探测用),支持创建/重命名/删除文件和文件夹,集成 FCKe...

达尔文
11/30
0
0
优化Angular应用的性能

优化Angular应用的性能 MVVM框架的性能,其实就取决于几个因素: 监控的个数 数据变更检测与绑定的方式 索引的性能 数据的大小 数据的结构 我们要优化Angular项目的性能,也需要从这几个方面...

数通畅联
2016/02/17
90
0
树形结构的数据库表Schema设计

程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数...

Sub
2013/03/25
0
2

没有更多内容

加载失败,请刷新页面

加载更多

详解如何实现一个简单的 vuex

首先我们需要知道为何要使用 vuex。父子组件通信用 prop 和自定义事件可以搞定,简单的非父子组件通信用 bus(一个空的 Vue 实例)。那么使用 vuex 就是为了解决复杂的非父子组件通信。 仅仅...

嫣然丫丫丫
10分钟前
0
0
算法——RangePartitioner实现之reservoirSample

简介 reservoir的作用是:**在不知道文件总行数的情况下,如何从文件中随机的抽取一行?**即是说如果最后发现文字档共有N行,则每一行被抽取的概率均为1/N? 我们可以:定义取出的行号为cho...

freeli
12分钟前
0
0
Python安装及netcdf数据读写

一、在CentOS7系统上安装Python3 在anaconda官网下载(http://https://www.anaconda.com/download/#linux)(Anaconda指的是一个开源的Python发行版本,是Python的包管理器和环境管理器) 下...

voole
16分钟前
0
0
基于NEO的私链(Private Blockchain)

1.准备工作 1.NEO-GUI 2.NEO-CLI 3..NET Core Runtime (不能是2.x版本,官方建议是1.12,实际上我用1.14也是没有问题的) 4.四台windows操作系统的虚拟机(本文是基于AWS的,理论上本地跑虚...

NEO-FANS
23分钟前
0
0
linux中shell if 判断总结

UNIX Shell 里面比较字符写法 -eq 等于; -ne 不等于; -gt 大于; -lt 小于 ; -le 小于等于; -ge 大于等于; -z 空串; -n 非空串; = 两个字符相等; != 两个字符不等 无论什么编程语言都离不开条...

linuxprobe16
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部