|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的效率,这种没有必要的冗余还是不需要了