【发布时间】:2011-06-26 00:46:40
【问题描述】:
将所有用户信息包含在一个表中是不是一个坏主意?有一个users 表和一个user_profiles 表是个好主意吗?
哪种方法最好,为什么?
什么情况下你会使用一张/两张桌子?
【问题讨论】:
标签: mysql sql database postgresql database-design
将所有用户信息包含在一个表中是不是一个坏主意?有一个users 表和一个user_profiles 表是个好主意吗?
哪种方法最好,为什么?
什么情况下你会使用一张/两张桌子?
【问题讨论】:
标签: mysql sql database postgresql database-design
如果这些表之间的关系是一对一的,我将拥有一张表。如果关系是一对多的(一个用户可以拥有多个个人资料),那么显然应该拆分这些关系。
拆分表的另一个原因可能是权限管理 - DBA 更容易将权限限制到一个表并授予另一个表。我仍然会有一个权限受限的表和一个列受限的公共视图。
我继承了一个系统,其中这两个表在没有充分理由的情况下被拆分。总是加入这些桌子是一件令人头疼的事情。最后,您最终会看到并问自己为什么首先要进行拆分。
【讨论】:
我通常有一个 person 表和一个 user 表。 users 表包含所有用户信息(用户名、密码(加密)等)。 person 表包含姓名等。
【讨论】:
我同意夏天。我认为将所有信息放在同一个表中没有任何问题。
将所有内容放在一个表中的好处是,您在运行数据库查询时不必进行连接等操作。这意味着您的应用程序会运行得更快。
【讨论】: