1
5
你可能想看看freebase.com,它是一个公开讨论“位置”是什么意思以及当一个位置包含在另一个位置时它意味着什么的网站。这些问题可以引起很多讨论。 例如,有明显的“地理嵌套”,但没有明显的逻辑嵌套。例如,在严格的地理意义上,梵蒂冈城是嵌套在意大利。但这不是政治上的套路。同样,如果您的用户位于一所大学的研究中心,但不位于该大学的财产上,您是否建立了这种关系的模型? |
2
5
对我来说是个好办法。在阅读你的帖子时,我不清楚的一点是,“他们的父母”是什么意思——如果这意味着区域设置没有父母,你最好使用空值,而不要使用它的ID。 |
3
4
我想你可能想得太多了。大多数系统只存储地址,可能还存储一个国家列表,这是有原因的。以下是一些需要注意的事项:
为极端的悲观感到抱歉,但我自己也走了这条路。它在逻辑上美丽优雅,但在实践中却不太管用。 |
4
3
这里有一个非常灵活的模式建议。立即警告:它可能过于灵活/复杂,无法满足您的实际需要。 位置 (locationid,locationname) --基本构建基块 区位群 (locationgroupid、locationgroupname、parentlocationgroupid) --这可以有效地封装多个层次结构。您有一个根节点,然后可以创建多个独立的分支。例如,您可以先按状态拆分,然后创建几个子层次结构,例如zip/city/XXXX 位置组位置 (locationID,locationGroupID) --下面介绍如何将位置与一个或多个层次结构链接。例如,你可以把你的房子和一个城市联系起来…您需要实现的是一个约束,您不能将一个位置与任何两个层次结构链接起来,其中一个层次结构是另一个层次结构的父级(因为关系已经是隐式的)。 |
5
2
我会仔细考虑这个,因为它可能不是一个必要的特性。 为什么不使用文本字段,让用户输入地址呢? 记住 KISS principle (保持简单,愚蠢)。 |
6
1
我同意其他的帖子,你需要在这里对你的要求非常小心。地理位置可能成为一个棘手的问题,这就是为什么地理信息系统如此复杂的原因。 如果你确定你只需要一个基本的继承结构,我有以下建议:
|
7
1
对于地理位置,您可能希望将地址解析为纬度、经度数组(可能使用谷歌地图等)以计算近似值等。地缘政治筑巢…我会用吻来回应。 如果您真的想对它建模,也许您需要更通用的类型…国家->州->县->自治区->地区->城市->郊区->街道或邮政信箱->号码->->设备等->机构(大学或雇主)->部门->分部-1->分部-n…你确定你不能接吻吗? |
8
0
我正在为全球用户建模一个应用程序,我也有同样的问题,但我认为这种方法可能已经在许多企业中使用。但为什么这个问题没有一个通用的解决方案呢?或者,这个问题有没有一个最好的解决方案可以作为起点,或者世界上任何人都需要从一开始就为它考虑一个解决方案? 不幸的是,我们在很多地方,任何时候都在做同样的事情。例如,谁没有创建多个用户、客户或产品的数据库?最糟糕的是,世界上所有的企业都成功了。我认为这可能有解决普遍问题的普遍方法。 |
Michael Samuel · MYSQL在以下情况下自动创建索引 6 年前 |
Patricia Rozario · 数据库设计确保一对一关系 6 年前 |
dryhay · MySQL“多对多”关系错误 6 年前 |
L. Fox · 我在这里用的是什么样的Laravel雄辩的关系 6 年前 |
Geoff Harper · 我应该如何构建关系松散的SQL db 6 年前 |
waroxx · SQL—当多个表具有相同的列时,最好怎么做 6 年前 |
Lumpi01 · SQL 2不同的注释类型-最佳解决方案? 6 年前 |
Hayreddin Tüzel · 预约系统数据库建模[关闭] 6 年前 |