前不久做的一个系统,用户-权限是这样设计的,
用户表:
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设计成主键,(不知道是不是联合主键的意思,我没有使用过联合主键),哪一种设计更好。。。谢谢大虾...