論MIS系統(tǒng)權(quán)限管理數(shù)據(jù)庫表簡要設(shè)計
在MIS(管理信息系統(tǒng)——Management Information System)系統(tǒng)中,數(shù)據(jù)庫權(quán)限表的設(shè)計至關(guān)重要。本文將介紹一種通常的權(quán)限表設(shè)計,僅涉及到菜單權(quán)限,而不包括操作權(quán)限。1. 創(chuàng)建
在MIS(管理信息系統(tǒng)——Management Information System)系統(tǒng)中,數(shù)據(jù)庫權(quán)限表的設(shè)計至關(guān)重要。本文將介紹一種通常的權(quán)限表設(shè)計,僅涉及到菜單權(quán)限,而不包括操作權(quán)限。
1. 創(chuàng)建用戶權(quán)限表
```sql
CREATE TABLE [dbo].[Sys_Privilege](
[PrivilegeID] [char](32) NOT NULL, --主鍵
[PrivilegeName] [varchar](50) NULL, --權(quán)限名稱
[PrivilegeCode] [varchar](50) NULL, --權(quán)限編碼
[ParentPrivilegeID] [char](32) NULL, --上級權(quán)限
[ParentPrivilegeName] [varchar](50) NULL, --上級權(quán)限名稱
[Remark] [varchar](50) NULL, --備注
[Type] [char](1) NULL, --類別
[MenuUrl] [varchar](100) NULL, --權(quán)限路徑
[MenuPIC] [varchar](100) NULL, --圖標
[Displayorder] [numeric](5, 0) NULL, --排序
[UseState] [char](1) NULL, --狀態(tài)
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. 創(chuàng)建角色表
```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. 創(chuàng)建系統(tǒng)用戶表
```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, --登錄狀態(tài)
[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. 創(chuàng)建角色權(quán)限表
角色權(quán)限表用于記錄每個角色所具有的權(quán)限。
```sql
CREATE TABLE [dbo].[Sys_RolePrivilege](
[PRIVILEGEID] [char](32) NOT NULL,
[ROLEID] [char](32) NOT NULL
) ON [PRIMARY]
```
5. 創(chuàng)建用戶角色表
用戶角色表記錄了每個系統(tǒng)用戶具有的菜單權(quán)限。
```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. 員工表
最后一張表是為了區(qū)分系統(tǒng)用戶和員工,因為員工未必是系統(tǒng)用戶,而員工可以成為系統(tǒng)用戶。
通過以上幾張表的設(shè)計,MIS系統(tǒng)能夠?qū)崿F(xiàn)靈活的權(quán)限管理。這些表之間的關(guān)系可以根據(jù)具體的需求進行擴展和優(yōu)化,以適應不同規(guī)模和復雜度的MIS系統(tǒng)。