数据库表设计实战 |
您所在的位置:网站首页 › 动态字段数据库设计方案有哪些内容呢 › 数据库表设计实战 |
今天接到一个需求,设计表,动态行,动态列,大概的页面长这个样子: 需求:每行为一个二级科目(隶属于一级科目),取值范围来自于值列表(理解为一个固定集合就行),用户动态选择,每张表不一样。每列为一个月份,用户新增,不一定连续,但不能重复,也是每张表不一样。 需求很简单,但是这样的话,数据库怎么设计呢?整个页面一张表?不做一些特殊的处理显然是很难实现的。
其实仔细观察页面,视角放开一点就不难发现,如果我们把每一个月份的预算和实际作为一行来看待,问题就很简单了。 我称之为:降维数据库表设计法 方法步骤: 1:抽离出表中最基础的数据项(比如这张表,就是预算和实际两个值,可以抽离成一行基础数据项),然后其他的与之关联的称为维度。 2:看有多少的动态变化的选项,比如这里我们是月份和科目,就称为二维动态。 3:分别用表将维度信息给存储起来,我们这里就采用两张表存储这些维度(下面的表一表二)。 4:用一张表将所有的维度和基础数据项关联起来即可(下面的表三)。
于是我们可以这样设计, 表一:存每个项目有哪些一级二级科目 表二:存每个项目有哪些月份 表三:每个项目哪个科目下,哪个月份下有哪些预算与实际数据
这样的话,问题就会很简单,相信看到这里,就都明白了。其实不难,固定思维限制了我的想象而已。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |