|M| 关于数据库中的表设计的时候,要不要把城市名称和城市ID都写进表里 请大家指点指点
比如我有表 
 行业表 
 ID  类型 
 1  农业 
 2  工业 
 3  商业   
 城市表  
 ID  名称 
 1  广州 
 2  北京 
 3  上海   
 然后现在要设计一个公司表 
 我本来的是 
 ID 公司名 城市ID 类型ID 
 1 微软  3   3 
 ------------------------ 
 但如果这样的话当数据量有100万条或更多的时候 
 如果进行查询的话就要进行三个表联合查询 
 所以我想设计成 
 ID 公司名 城市ID 城市名 类型ID 类型名 
 1 微软  3   上海  3   商业   
 但如果这样的话就会造成数据的不完整 
 请大家指点指点   
 谢谢 
------解决方案--------------------像城市这样的数据在业务表中直接保存汉字,查询也不用关联。
------解决方案--------------------建议还是不要把城市名称放到里面去,这样使用起来有可能会出现数据不一致的情况,比如有的记录写上海,有的记录写上海市,给查询和维护带来不便。 
 因为城市表肯定不会大再说mssql也会优化,多表的联合应该不会在性能上有什么问题。
------解决方案--------------------设计成这样子还不如不要行业表和城市表   
 联合查询的确不如单表查询快,但是城市表和行业表一般也不会很大,浪费在连接上的效率并不会很多,而且LZ要考虑一下insert和update的效率,这种没有必要的冗余还是不需要了