【问题标题】:MySQL tables better to have data in one table or two table with foreign keyMySQL 表最好在一张或两张带有外键的表中保存数据
【发布时间】:2013-08-03 16:26:32
【问题描述】:

您好,我正在用 cakephp 开发一个小应用程序。我正在使用 Auth 组件进行用户登录。

每个用户都有个人资料。 每个用户都将担任“管理员”或“初学者”或“专业人士”的任何角色

我有 users 表和 user_roles 表。

对于配置文件,我应该创建另一个表“配置文件”还是我可以只在用户表中创建字段?哪个查询运行得更快?两桌还是一桌

我是否真的需要一个 user_roles 表,或者我可以在添加用户表单代码中分配角色?硬编码还是在用户表中带有外键的数据库中?

任何建议表示赞赏。

谢谢。

【问题讨论】:

    标签: mysql cakephp-1.3


    【解决方案1】:

    对于配置文件,如果同一用户可以创建不同的配置文件,则应创建不同的表,否则将它们放在一个表中。将它放在不同的表中看起来更有条理,但它不是必需的。

    对于user_roles,如果一个用户可以有多个角色,把它们放在不同的表中,否则可以放在同一个表中。

    单个表比多个表稍快。

    【讨论】:

      【解决方案2】:

      如果您希望用户拥有多个角色/配置文件,您应该有第二个表来识别它们。

      如果您确定您只会为每个用户分配一个角色,您可以拥有第二个表,但您可能希望在用户表的另一列中执行此操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-29
        • 2016-08-19
        • 1970-01-01
        • 1970-01-01
        • 2011-06-25
        • 2013-01-29
        • 2013-08-28
        • 1970-01-01
        相关资源
        最近更新 更多