0

我想设计一个将连接到 PHP 应用程序的数据库。在应用程序中有两种类型的用户:公司和个人。添加文章等一些功能将由两者完成,因此在其他表中有 author_id 列。所以首先我决定创建用户列。

这很简单:id, username, password, role, active, created角色定义用户是个人还是公司。

现在我想添加配置文件表或配置文件表取决于您的建议(通过在此处添加profile_id列与上一个表连接)。

两个角色都有不同的字段,在注册时需要这些字段。

最简单的方法是创建一个表,其中包含两个角色的所有必需字段,允许它们NULL值,并在 PHP 应用程序(在本例中由 Yii 框架制作)定义模型中每个角色的要求。

最好的办法是为两个角色创建单独的表,但问题是如何使用外键将这两个表连接到一个表?有没有可能。我知道我可以省略外键创建,然后根据角色选择表,然后从该表中选择profile_id

或者,也许您对我的问题有另一种解决方案。

提前感谢您的回复。阿德里安

4

2 回答 2

0

您可以为用户系统信息(用户名,密码...)提供一个表格,另一个用于用户个人资料(名字,生日...),另一个用于组(超级用户,...)。

其中用户表可以有多个组:user:one->group:many

用户可以有一个个人资料 user:one->profile:one

我认为这是一个不错的解决方案。

于 2013-10-05T13:16:04.887 回答
0

您需要页面和数据库之间的中介来将用户分配给具有特定权限的组。它通常通过用户组角色设计来完成。

于 2013-10-05T12:38:44.780 回答