简单的设计,需要三个表
一 功能(Functions)
二 用户组(UserGroups)
三 用户(Users)
将功能分配给用户组,将用户划入相应的组已取得相应的权限,搞定。
密码之类,与系统架构无关,将来需要时随时可以添加。
create table UserGroups
(
gid int not null primary key,
gname varchar(50),
fid int references Functions(fid)
)
create table Users
(
uid int not null ,
uname varchar(50),
gid int references UserGroup(gid)
)
create table Functions
(
fid int not null primary key,
fname varchar(50)
)
以上仅是简单的设计,你可以从Windows的“计算机管理〉本地用户和组”中看到类似的方案。
功能细化的粒度以单一功能为宜,商业软件要求更严格,应渗透到每一过程和函数中。
实际上权限管理远非如此简单。请告诉我,“功能”是什么?
A 限制
B 针对“数据”的“操作”
当你选B时,你觉得以上方案还能满足需求吗?
关于使用几个表,是实现的问题,不是架构设计内容,我可以把整个数据库设计在一张表内,但从效率上看,我决不会这样去做。
温馨提示:答案为网友推荐,仅供参考