我见过一些数据库设计,其中帐户表中包含所有用户信息,包括密码、电子邮件、出生日期、名字、姓氏等。
我见过其他一些有两张桌子的
用户名(或电子邮件)、密码、状态(激活等)、组(管理员、所有者、用户等)
and
名字、姓氏、出生日期、出生月份、出生年份等
上述方法各有什么优缺点?
两种设计之间的区别主要在于灵活性。如果帐户和用户数据共享一个表,则每个用户必须有一个帐户,并且每个帐户只能有一个用户(除非您添加另一个表以允许除了与该帐户一起生活的用户之外还添加子用户)数据,或者除非您在每条记录中添加具有重复帐户详细信息的新记录,这是非常糟糕的并且与数据库应该做的事情相反)。
使用两个表,您可以轻松地在每个帐户中拥有多个用户,并且还可以选择允许帐户没有用户或用户没有帐户的情况,如果这样做对您的用例有利的话。
权衡是,如果您想要执行诸如确定用户(或帐户中的用户)的帐户之类的操作,并且使用两个表,则必须进行联接。如果您有一个表,您所要做的就是获取行来获取此信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)