当前位置: 代码迷 >> 高性能数据库开发 >> 数据库多张表怎么合并设计成为一张表
  详细解决方案

数据库多张表怎么合并设计成为一张表

热度:9070   发布时间:2013-02-26 00:00:00.0
数据库多张表如何合并设计成为一张表
目前数据库中大约有 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 样式的表会逐渐增

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

谢谢! :) 



------解决方案--------------------------------------------------------
不知道你是在设计阶段,还是在应用阶段了!
如果还在设计阶段,建议你一定要将产品的数据逻辑搞清楚,最好某一范围的属性放在一个表中.如财务信息放在一个表中,库存信息放在一个表中,采购信息放在一个表中,等等。产品信息是一个系统中的核心表,一定要定义好,否则,后患无穷。要访问全部信息,只需要建立一个视图,就可以解决问题。
------解决方案--------------------------------------------------------
1.如果在设计阶段
可考虑用实体为一个表,多对多关系为一个表。但如想用一张表查询所有信息,可用一张管理表(管理表的表),但对性能会有影响。
2.运行阶段 
由于目前是运行阶段,要进行重构,而且要求是能够对各个数据表进行抽象成一张管理表。
  相关解决方案