首页 新闻 搜索 专区 学院

求用户-权限数据库表设计方案

0
[待解决问题]

前不久做的一个系统,用户-权限是这样设计的,

用户表:

Id int primary key not null identity(1,1) 主键

UloginName varchar(20) not null 登录名

UName varchar(20) not null姓名

UPassword nvarchar(50) not null 密码

State int –标识管理员和普通用户(相当于角色表)

Email varchar(50) 邮箱

 

权限表:

权限表:(Permissions)

Id int primary key not null identity(1,1) 主键

Permission varchar(50) not null 权限

 

用户_权限表:

用户_权限表(UserPermis)

Id int primary key not null identity(1,1) 主键

Uid int not null –用户主键

Pid int not null –权限主键

,这样设计不知道是否可取,我做上一个系统的时候权限就设计成这样,但是在删除数据的时候,就出现这样的问题,是否符合数据库设计规范(范式),

必须要在删除的方法里传入UId和PId删除,并没有依靠主键Id删除,数据虽然删除了,但是不知道这样设计是否合理,

在网上还看到这样的设计:

用户_权限表(UserPermis)

Uid int not null –用户主键

Pid int not null –权限主键

把UId和PId设计成主键,(不知道是不是联合主键的意思,我没有使用过联合主键),哪一种设计更好。。。谢谢大虾...

lovemc的主页 lovemc | 初学一级 | 园豆:13
提问于:2010-09-26 17:35
< >
分享
所有回答(2)
0

自己做的权限系统表:

WebAdmin(用户表)
WebRole(角色表)
WebAdminRole(用户与角色)多对多
WebDepartment(用户部门表)一对多

WebPage(权限页面表)
WebPageRole(页面与角色)

WebPageControl(页面权限控件表)
WebPageContorlPower(控件与角色)

Astar | 园豆:40805 (高人七级) | 2010-09-27 09:47
这么复杂,可以发下表结构么?844463669@qq.com
支持(0) 反对(0) 顾晓北 | 园豆:10794 (专家六级) | 2010-09-27 14:25
@顾晓北:站内信了。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-09-27 16:56
0

你这样就是不同角色有相同的权限,要是我想让相同的用户也有不同的权限怎么办啊,那你就不用角色这个表了,直接用户对权限就行了。权限管理有基本就这两种的。

rains | 园豆:860 (小虾三级) | 2010-09-28 08:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册