分不多了,关于一张数据表的设计

bxfyb 2011-05-01 06:51:02
一个工厂仓库有如下操作
毛坯转入
废品
返库
成品入库
。。。
开始我是这样建表的
id 毛坯转入 废品 返库 成品入库 结存 结余 产品名称。。。。
1 10 2 2 22 22 变速齿轮

后来我发现这样冗余数据太多,
又建立一张这样的表

id 操作类型 数量 产品名称
1 毛坯转入 2 变速齿轮
2 废品 3 中轴
3 返库 2 变速齿轮
3.。。。。。。。。。。
然后把结存和结余另存到一张表,做个外键关联

第一张表呢虽然把字段全部做死了,不利于用户以后增加新的功能,但是查询出来非常快,一个产品1条数据就搞定了,
第二张表呢,插入速度非常快,但是1个产品得好几条记录才能搞定,而且在前台展现的时候,也比较麻烦,

所以我现在有些迷茫,不知道该用那种设计比较好,或者高手还有新的解决方案,谢谢大家了

...全文
34 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
加油馒头 2011-05-02
  • 打赏
  • 举报
回复
楼主跟你说

这种通常就是第二种

你上面你说的 只是类别不同而已。。

按第一种 如果增加一个类别 你就要更改表结构,影响比较大
ACMAIN_CHM 2011-05-01
  • 打赏
  • 举报
回复
这个没办法,一般来说你的数据库是用于日常操作的,不是对历史数据进行分析处理的。则应该使用第二种。
bxfyb 2011-05-01
  • 打赏
  • 举报
回复
一直没有用第二个的原因是,它虽然数据不冗余,但是它查询和展现的时候比第一个麻烦多了,
第一个插入数据的时候还得分别判断是属于哪种操作,然后在插入对应当字段中,第二个就不用了,直接就可以插入,各有利弊,所以这里请教有经验的大侠们,
rucypli 2011-05-01
  • 打赏
  • 举报
回复
第二个

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧