论MIS系统权限管理数据库表简要设计
在MIS(管理信息系统——Management Information System)系统中,数据库权限表的设计至关重要。本文将介绍一种通常的权限表设计,仅涉及到菜单权限,而不包括操作权限。
1. 创建用户权限表
```sql
CREATE TABLE [dbo].[Sys_Privilege](
[PrivilegeID] [char](32) NOT NULL, --主键
[PrivilegeName] [varchar](50) NULL, --权限名称
[PrivilegeCode] [varchar](50) NULL, --权限编码
[ParentPrivilegeID] [char](32) NULL, --上级权限
[ParentPrivilegeName] [varchar](50) NULL, --上级权限名称
[Remark] [varchar](50) NULL, --备注
[Type] [char](1) NULL, --类别
[MenuUrl] [varchar](100) NULL, --权限路径
[MenuPIC] [varchar](100) NULL, --图标
[Displayorder] [numeric](5, 0) NULL, --排序
[UseState] [char](1) NULL, --状态
CONSTRAINT [PK_Sys_Privilege] PRIMARY KEY CLUSTERED (
[PrivilegeID] ASC
)WITH (
PAD_INDEX OFF, STATISTICS_NORECOMPUTE OFF,
IGNORE_DUP_KEY OFF, ALLOW_ROW_LOCKS ON,
ALLOW_PAGE_LOCKS ON
) ON [PRIMARY]
) ON [PRIMARY]
```
2. 创建角色表
```sql
CREATE TABLE [dbo].[Sys_Role](
[RoleID] [char](32) NOT NULL, --主键
[RoleName] [varchar](20) NULL, --角色名称
[Remark] [char](100) NULL, --备注
[Type] [char](1) NULL, --角色类别
CONSTRAINT [PK_Sys_Role] PRIMARY KEY CLUSTERED (
[RoleID] ASC
)WITH (
PAD_INDEX OFF, STATISTICS_NORECOMPUTE OFF,
IGNORE_DUP_KEY OFF, ALLOW_ROW_LOCKS ON,
ALLOW_PAGE_LOCKS ON
) ON [PRIMARY]
) ON [PRIMARY]
```
3. 创建系统用户表
```sql
CREATE TABLE [dbo].[Sys_User](
[UserID] [char](32) NOT NULL, --主键
[TeacherID] [char](32) NOT NULL, --员工ID
[UserName] [varchar](20) NOT NULL, --用户名
[PassWord] [varchar](32) NOT NULL, --密码
[Remark] [varchar](200) NULL, --备注
[Lastlogonttime] [datetime] NULL, --最后一次登录时间
[Logonmark] [char](1) NULL, --登录状态
[IP] [varchar](32) NULL, --地址
[IsUSE] [char](1) NULL, --是否启用
CONSTRAINT [PK_Sys_User] PRIMARY KEY CLUSTERED (
[UserID] ASC
)WITH (
PAD_INDEX OFF, STATISTICS_NORECOMPUTE OFF,
IGNORE_DUP_KEY OFF, ALLOW_ROW_LOCKS ON,
ALLOW_PAGE_LOCKS ON
) ON [PRIMARY]
) ON [PRIMARY]
```
4. 创建角色权限表
角色权限表用于记录每个角色所具有的权限。
```sql
CREATE TABLE [dbo].[Sys_RolePrivilege](
[PRIVILEGEID] [char](32) NOT NULL,
[ROLEID] [char](32) NOT NULL
) ON [PRIMARY]
```
5. 创建用户角色表
用户角色表记录了每个系统用户具有的菜单权限。
```sql
CREATE TABLE [dbo].[Sys_UserRole](
[UserID] [char](32) NOT NULL,
[RoleID] [char](32) NOT NULL,
CONSTRAINT [PK_SYS_USERROLE] PRIMARY KEY CLUSTERED (
[UserID] ASC,
[RoleID] ASC
)WITH (
PAD_INDEX OFF, STATISTICS_NORECOMPUTE OFF,
IGNORE_DUP_KEY OFF, ALLOW_ROW_LOCKS ON,
ALLOW_PAGE_LOCKS ON
) ON [PRIMARY]
) ON [PRIMARY]
```
6. 员工表
最后一张表是为了区分系统用户和员工,因为员工未必是系统用户,而员工可以成为系统用户。
通过以上几张表的设计,MIS系统能够实现灵活的权限管理。这些表之间的关系可以根据具体的需求进行扩展和优化,以适应不同规模和复杂度的MIS系统。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。