2016 - 2024

感恩一路有你

论MIS系统权限管理数据库表简要设计

浏览量:2962 时间:2024-08-11 12:06:07 作者:采采

在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系统。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。