Php 针对3种不同用户类型的数据库设计指南
我正在用mySQL和PHP创建我的第一个web应用程序,只是想寻求一些指导,以确保我的思路正确。。。或者不是 它将有3种类型的用户<代码>会员,Php 针对3种不同用户类型的数据库设计指南,php,mysql,database-deadlocks,Php,Mysql,Database Deadlocks,我正在用mySQL和PHP创建我的第一个web应用程序,只是想寻求一些指导,以确保我的思路正确。。。或者不是 它将有3种类型的用户会员,俱乐部和管理员 我现在让他们都通过同一个登录页面登录,一旦登录,他们就会进入同一个“仪表板”,但仪表板的内容会根据用户类型通过条件语句进行更改。在安全等方面,这是一个明智的想法吗 我目前的简化表格结构是: users {id, username, hashed_password} members {id, user_id, first_name, last_
俱乐部
和管理员
我现在让他们都通过同一个登录页面登录,一旦登录,他们就会进入同一个“仪表板”,但仪表板的内容会根据用户类型通过条件语句进行更改。在安全等方面,这是一个明智的想法吗
我目前的简化表格结构是:
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}
这张桌子的设计能改进一下吗?我意识到类似的领域,尤其是成员
和管理员
之间,这让我认为可能有更好的方法
非常感谢因为所有的成员和管理员都是用户,所以我会使用一个表为用户、成员和管理员添加一个额外的字段“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表中。对于非成员类型的用户,此字段将具有空值
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}
将
姓名、姓氏、电子邮件、地址、电话
移动到用户
表格?并删除成员
和管理员
-您不需要them@DmitryTeplyakov你会说省略名字和姓氏,并将它们保留在会员和管理员表中,因为“俱乐部”会员没有名字和姓氏,只有俱乐部名称吗?不会。你只能使用两个表-用户和俱乐部。俱乐部成员(和管理员)将有名字和姓氏_name@DanielGrander,并将类型
字段添加到用户
表中,以了解这个类似@codingstill的用户在下面所说的类型;)事实上,members表将有更多仅对成员唯一的字段,因此您的顶级解决方案可能更适合我的情况。顶级解决方案作为一种设计更好,因为它更准确地表示应用程序的对象。但对于一个或两个额外的字段,将它们放在“用户”表中并不是什么大问题。