【发布时间】:2013-08-02 06:22:00
【问题描述】:
我有一个网站正在开发中,用户可以在其中创建提要中的帖子,并且可能有许多提要。他们的个人资料将显示他们选择的默认提要。
这个悖论中的 3 个表是“accounts”、“profiles”和“feeds”。 配置文件中的条目包含有关用户的附加信息。这是在一个单独的表中,因为它可能会被更频繁地修改,并且许多查询使用帐户表而不需要此信息。
帐户(配置文件)中的字段必须引用配置文件。我已经这样做了,而不是让配置文件引用帐户,因为否则一个帐户可能在没有配置文件的情况下存在。没有帐户的个人资料将是停用帐户的结果(前提是用户明确选择不将其个人资料从网站中删除)。
配置文件 (default_feed) 中的字段必须引用一个提要。这可能会经常更改,并且大多数查询都不需要,因此这似乎是处理这些数据的明智之选。
Feed 中的字段必须引用帐户;所有提要都有一个创建者。
您可能已经看到了我的问题,但我会详细说明: 不创建个人资料就无法创建帐户,不创建提要就无法创建帐户,不创建帐户就无法创建帐户等等......
我是否必须放弃停用帐户的配置文件功能(这不是什么大不了的事,但我想知道是否有其他方法),或者是否有一个明智的技巧可以让我解决这种关系的矛盾性质?
编辑:我意识到我可以简单地将 default_feed 字段设置为允许为空,并让应用程序处理这种特殊情况(无论如何都不应该发生,因为提要是使用帐户创建的),并带有“此用户没有默认提要”消息。不过,我仍然想知道我是否错过了更有创意的解决方案。
【问题讨论】:
标签: sql foreign-keys relational-database