我想设计一个将连接到PHP应用程序的数据库。在应用程序中,有两种类型的用户:公司和个人。添加文章等某些功能将由两者完成,因此在其他表中有author_id列。所以首先我决定创建用户列。
这很简单:id, username, password, role, active, created
角色定义用户是个人还是公司。
或配置文件表取决于您的建议(通过在此处添加profile_id
列与上一个表连接(。
这两个角色具有不同的字段,这些字段在注册期间是必需的。
最简单的方法是创建一个表,其中包含两个角色的所有必填字段,允许它们NULL
值,并在 PHP 应用程序中(在本例中是在 Yii 框架中制作的(中定义模型中每个角色的要求。
最好的办法是为两个角色创建单独的表,但问题是如何使用外键将这两个表连接到一个表?甚至可能吗。我知道我可能会省略外键创建,然后根据角色选择表,然后从该表中选择profile_id
。
或者,也许您对我的问题有另一种解决方案。
提前感谢您的回复。艾利安
您需要页面和数据库之间的中介,以将用户分配到具有特定权限的组。 它通常通过用户组角色设计来实现。
您可以有一个用于用户系统信息(用户名、pass ...(的表,另一个用于用户配置文件(名字、生日...(的表,另一个用于组(超级用户、...(。
其中用户表可以有多个组:用户:一>组:多
用户可以有一个配置文件 用户:一个>配置文件:一个
我认为这是一个不错的解决方案。