3种不同用户类型的数据库设计指南

时间:2013-10-24 20:15:38

标签: php mysql database-deadlocks

我正在使用mySQL&创建我的第一个Web应用程序PHP,只是寻找一些指导,以确保我在正确的方向......或不。

它将有3种类型的用户; membersclubsadmins

我目前通过相同的登录页面登录它们,登录后它们会转到相同的“仪表板”,但仪表板的内容会通过针对用户用户类型的条件语句进行更改。这在安全性等方面是一个明智的想法吗?

我目前的简化表结构是:

users   {id, username, hashed_password}
members {id, user_id, first_name, last_name, email, address, tel, cleared_activities}
clubs   {id, user_id, club_name, address, tel, available_activities}
admins  {id, user_id, first_name, last_name, email, address, tel}

这个表设计可以改进吗?我意识到类似的领域,尤其是membersadmins,这让我觉得可能有更好的方法。

非常感谢

1 个答案:

答案 0 :(得分:1)

由于所有成员和管理员都是用户,我会为用户,成员和管理员使用一个表添加一个额外字段“usertype”。

然后我会为成员添加一个表,它将保存所有特定成员的额外字段。

users       {id, username, hashed_password, first_name, last_name, email, address, tel, user_type}
member_data {user_id, cleared_activities}
clubs       {id, user_id, club_name, address, tel, available_activities}

如果额外的成员字段只是您提到的字段,您也可以将其保留在users表中。对于非类型成员的用户,此字段将具有NULL值。

users       {id, username, hashed_password, first_name, last_name, email, address, tel, user_type, cleared_activities}
clubs       {id, user_id, club_name, address, tel, available_activities}