数据表结构及表之间的关系设计(不是很懂,以后有新理解继续改)

比如我想在地图上搜索企业信息,想做到:①根据企业具体地址查询到企业相关信息 ②根据地图上区域范围查询到在这个范围内的相关企业信息 ③根据企业类型或产品信息查询到相关企业。
个人想法可以先以一个具体企业来列出所需的字段信息,可以的话全部整合到一张表里先,然后根据这张表在思考怎么变成多个表好。
比如:省+市+区(县、地级市)+街道(乡镇)+道路+门牌号+建筑物+房间+企业信息
我第一个想法是直接分2个表,一个地理信息表和一个企业信息表。但后来看了公司的数据表设计并不是这样,理解了后发现自己那样设计真的很糟糕。1)信息重复量很大 2)查询的时候肯定会很慢
公司是这样设计的:把(省、市、区(县、地级市)+街道+道路+门牌号)设计成一张表格A,建筑物单独设计成表格B,房间信息设计成表格C。我是这样理解的,表格A跟表格B是“1:N”的关系,表格B跟表格C又是“1:N”的关系。因此,如果把这些字段都放到一张表里,那么表格B的信息会重复,表格A中的信息就重复的更多了。按公司的设计思路,然后把房间信息跟企业信息关联,就能完成地理信息跟企业信息之间的相互查询。
同时公司又新建了 省份表、市级表、区(县、地级市)表、街道表、道路表 这些表格,我的理解是便于查询,特别是区域查询。


总结:
         1)设计的时候可以先以具体对象,把所需的字段能放到一张表里就放到一张表里,然后在考虑怎么细分
        2)表内字段关系如果是1:1的关系,字段可以放同一张表;如果是1:N的关系,那么就要拆表了

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30178050/viewspace-1734273/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30178050/viewspace-1734273/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值