我的问题:


PHP/MySQL应用程序上,我必须将registered accountssimple visitors区分开。他们两个都可以执行写入数据库的操作。现在,我为visitors使用单独的表,为registered accounts.使用单独的表


到目前为止,我的示例解决方案是:


选项#1:Registered accountsvisitors分为两个表。都
其中可以有sessions并且表之间的关系是
non-mandatory,因为一个人是visitorregistered account


选项2:每个人都在一个表中,并且表之间的关系是强制性的,因为每个人都可以拥有sessions,但是由于一个人是visitorregistered account,因此他可能没有emailpassword,因此可以为NULL。这可能会导致完整性错误。




我的问题:


我应该将accountsvisitors放在单独的表中还是
可以使用BOOLEAN isThisAccount变量将每个人放在一张表中
表示该人何时是registered account还是简单
visitor


我也对不同的方法持开放态度。

最佳答案

我可能会选择第三个选项:将会话链接到访问者并将访问者链接到帐户。这样,您只需要visitorID表中的一个字段sessions和一个NULL列(accountID中的visitors)。我认为从概念上讲这是更清洁的方法,因为执行操作的人员始终是访客,他们可能有也可能没有帐户。

关于php - MySQL结构完整性与简单性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30856825/

10-11 02:51