多对多关系 GAE NDB 需要父母还是子女?
Posted
技术标签:
【中文标题】多对多关系 GAE NDB 需要父母还是子女?【英文标题】:Many-to-Many Relationship GAE NDB Need Parent or Child? 【发布时间】:2013-10-12 01:36:30 【问题描述】:我正在尝试阅读和复制https://developers.google.com/appengine/articles/modeling 中的多对多关系的代码。我注意到的一件事是 group 和 user 似乎不是彼此的父母或孩子,或者它没有这样说。
我的问题涉及公司实体和用户实体。我自然会认为,一个公司可能属于一个用户,也可能不属于一个用户,一个用户也可能属于一个公司,也可能不属于一个公司。
所以,问题是:在多对多关系中,一个实体是否需要成为另一个实体的父级或子级?这有关系吗?
我想我只需要验证告诉我,“是”既不是彼此的父母也不是孩子,并且“是”你需要遵循数据库系统理论,而不是关系模型。只是每个实体的列表,例如包含彼此的每个实体的 JsonProperty,或类似的东西。 :)
【问题讨论】:
【参考方案1】:父子关系用于建立实体组,在事务中需要。它们与实体之间的正常(一对多或多对多)关系无关。
不,建立实体关系不需要父子关系。
是的,要在实体之间建立“关系”,您只需将一个实体的密钥(或 ID)存储到另一个实体中。我将“关系”放在引号中,因为这实际上只是到另一个实体的链接,而不是由数据库管理的关系(例如 SQL 数据库中的关系)。
【讨论】:
以上是关于多对多关系 GAE NDB 需要父母还是子女?的主要内容,如果未能解决你的问题,请参考以下文章