我必须使用以下数据库结构构建一个Web应用程序: 我有草图中的结构。我必须分开 人与人和用户因为有人 将永远不会有用户帐户,只是由管理员添加简单 到网站db。
有一个注册到网站的申请表。 必须填写人员字段和用户字段
如果管理员将该人员添加到数据库(没有用户信息),并且此人希望稍后由他/她自己注册如何处理此案例?
他/她尝试注册,但填写人员字段将复制数据。在这种情况下,人员字段已存在。 你有什么想法吗?
UPDATE1: 感谢您的回答我已经知道如何将数据字段存储在表格中。但是当管理员注册人员数据并且该人员注册他/她自己时,我不知道如何处理该案例 PS:请原谅我,但我现在还没有建模工具。
答案 0 :(得分:0)
重要的是要注意,同时人可以是用户,用户也可以不是人即可。 (例如,将处理数据库自动维护的用户角色)
一切都与您的业务模式的结构有关。
将用户的所有数据放在人中,尽可能保持轻量级用户。 (姓名,数据流,电子邮件等)
在用户中,只需将 外键 可以为空的添加到人表记录中 id ,密码, lastlogin 等等。)。
当表单由用户填写时,首先在人中添加记录,如果填写了与用户对应的数据,则抓取您刚刚添加的人的 ID ,并将其用作填充用户中的外键的数据。
如果人员数据已经在数据库中,请通知用户并询问他使用旧数据或更新数据...始终考虑安全性和隐私问题。 (这个用户可能不是他声称的那个......也许你应该让他确认他的电子邮件,就像很多新闻通讯一样)