要看你的具体应用来决定(其实就是看应用的复杂度),比如普通用户能否成为管理员,管理员是否需要分类
假设你的网站有上百万普通用户,而管理员很少,那么需要把user表和admin表分开(已避免查询性能的低下和安全性)
就比如百度知道,有普通用户,普通用户可以申请知道管理员,还有知道专家(网友专家,机构专家),这显然是仅仅在User表里添加一个字段是记录不了的(因为知道管理员的管理分类、专家所属的领域彼此不相同;而且我可能还希望知道一些附加信息,比如A用户X年X月X日成为.NET知道管理员,又在Y年Y月Y日被取消等等)
但如果你的网站规模很小,管理员也往往就那么几个,所做的操作有限,可能考虑User表和admin表合并,只用一个字段来进行区分,等到应用有一定规模了再进行重构
一般是不用的,所有用户都在一张表里面,不过会有一个字段标明用户权限,一般正规的做法都是一张表,至于权限的设置,你要在程序里面判断,也就是说,用户在行使功能之前,你要先判断用户权限标识,确定用户是否有次权限