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