请教入库单 master 表及 detail 表的设计思路,在范式的满足方面如何才何理?
一般在实际的项目中,一般应该满足什么范式呢?
举例吧。一个入库单master表,和detail表。
一般都是两个表,master表有:
入库单号,流水号,入库时间,入库方式,进货方编码,
detail表有:
入库单号,入库商品编码,入库数量,入库金额...
,但是还有有进货方表,包含进货方编码与名称等字段。
,还要有商品编码有,包含商品编码与商口名称等信息字段。
,其实还会有更多的表。
这种设计是满足第三范式吗?
但是我认为并不好,因为每次查询时都要连接多张表(我刚才只举出四个表,其实际上应该会更多),所以我认为并不好。
所以我认为,将进货方名称直接放到 master 表中即可。就是多占些空间,没什么不好。
另外,我将商品名称放在 detail 表中,也是多占些空间,没什么不好。
而且还有好处,就是如果进货方如果改名了。历史记录不会变化。(如果按照范式化要求,进货方一改名,历史记录全改了)
同样,如果商品改名也一样,历史记录不会改变,(因为有时,历史记录是不能变化的,因为要保证当时的原始状态呀,随例改是不严谨的。) 不知我以上的理解对不对。
一般在实际的项目中,一般应该满足什么范式呢?
举例吧。一个入库单master表,和detail表。
一般都是两个表,master表有:
入库单号,流水号,入库时间,入库方式,进货方编码,
detail表有:
入库单号,入库商品编码,入库数量,入库金额...
,但是还有有进货方表,包含进货方编码与名称等字段。
,还要有商品编码有,包含商品编码与商口名称等信息字段。
,其实还会有更多的表。
这种设计是满足第三范式吗?
但是我认为并不好,因为每次查询时都要连接多张表(我刚才只举出四个表,其实际上应该会更多),所以我认为并不好。
所以我认为,将进货方名称直接放到 master 表中即可。就是多占些空间,没什么不好。
另外,我将商品名称放在 detail 表中,也是多占些空间,没什么不好。
而且还有好处,就是如果进货方如果改名了。历史记录不会变化。(如果按照范式化要求,进货方一改名,历史记录全改了)
同样,如果商品改名也一样,历史记录不会改变,(因为有时,历史记录是不能变化的,因为要保证当时的原始状态呀,随例改是不严谨的。) 不知我以上的理解对不对。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货