数据库多张表如何合并设计成为一张表

cnswitch 2009-04-21 08:41:05
目前数据库中大约有 100 张表,

1) 其中一张是用来保存产品类型的 table1 。例如

ID | type
int | varchar(500)

2) 每个类型的产品会有不同的相关信息,table3 这些信息对应了其余的多张表,但是每个表的结构相似,最多4 个字段,例如

ID | data1 | data2 | table2_FK


3) 另外一张表是用来保存所有类型的具体产品的名字的, table2

ID | name | table1_FK
int | varchar(500) |

目前要查询出所有类型的产品就需要查询关联的多张表,而且产品的类型以后会动态的增加,也就是说目前这种设计下的 table3 样式的表会逐渐增

加, 想请教一下各位,能不能重新定义一张表,可以把不同的表的信息综合在一起,从而只需要对一张表进行操作就可以完成全部信息的查询?

谢谢! :)

...全文
567 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
老青菜 2010-09-11
  • 打赏
  • 举报
回复
打酱油路过。。
lmlyq 2010-03-03
  • 打赏
  • 举报
回复
100多张表不是很正常嘛?怎么大家都那么奇怪的
invincible_88 2009-04-28
  • 打赏
  • 举报
回复
1.如果在设计阶段
可考虑用实体为一个表,多对多关系为一个表。但如想用一张表查询所有信息,可用一张管理表(管理表的表),但对性能会有影响。
2.运行阶段
由于目前是运行阶段,要进行重构,而且要求是能够对各个数据表进行抽象成一张管理表。
izee 2009-04-27
  • 打赏
  • 举报
回复
100多张表?

建议先看看数据库设计理论方面的东西

一般一个实体为一个表,多对多关系为一个表
100多张表肯定有问题

当然如果是数据量特别大,为了提高性能,另当别论
比如,一天一张表,就有300多个
cnswitch 2009-04-21
  • 打赏
  • 举报
回复
前期的工作已经做完了,目前要进行重构,而且要求是能够对各个数据表进行抽象,因为还要对表格中的数据做关联性的检查,如果将不同类型的信息放在不同的表中,像之前所做的一样,大约有 100 多张吧,那么查询全部的信息的时候就要对所有表进行查询,所以我们现在的要求是尽量将数据放到一张表里,如果这张新表里单纯的包含其他表的所有字段,那么对于 100 多张表来说太可怕了,所以想请教一下各位有没有其他的解决方案,可以用来将不同类的信息尽量组织在一起,并且减少表的数量
-布谷鸟- 2009-04-21
  • 打赏
  • 举报
回复
不知道你是在设计阶段,还是在应用阶段了!
如果还在设计阶段,建议你一定要将产品的数据逻辑搞清楚,最好某一范围的属性放在一个表中.如财务信息放在一个表中,库存信息放在一个表中,采购信息放在一个表中,等等。产品信息是一个系统中的核心表,一定要定义好,否则,后患无穷。要访问全部信息,只需要建立一个视图,就可以解决问题。

8,028

社区成员

发帖
与我相关
我的任务
社区描述
高性能数据库开发
社区管理员
  • 高性能数据库开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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