1. 程式人生 > >許可權管理表結構設計

許可權管理表結構設計

一、使用者表USER_INFO



1.1、指令碼

-- Create table
create table USER_INFO
(
  id                   NUMBER(26) not null,--序列號
  user_id              VARCHAR2(50) not null,--登入賬號
  password             VARCHAR2(50) not null,--密碼
  msisdn               VARCHAR2(100),--行動電話
  chs_name             VARCHAR2(50),--姓名
  email                VARCHAR2(50),--電子郵箱
  addr                 VARCHAR2(200),--地址
  phone                VARCHAR2(100),--聯絡電話
  is_usable            NUMBER(8) not null,--是否可用 1-是 0-否
  memo                 VARCHAR2(500),--備註
  version              NUMBER(10),--版本號
  city                 VARCHAR2(50),--城市
  province             VARCHAR2(100),--省
  country              VARCHAR2(100),--國家
  postal_code          VARCHAR2(15),--郵政編碼
  password_hint        VARCHAR2(100),--密碼提示
  account_enabled      CHAR(1),--賬號是否可用 1-是 0-否
  account_expired      CHAR(1),--賬號是否過期 1-是 0-否
  account_locked       CHAR(1),--賬號是否鎖定 1-是 0-否
  credentials_expired  CHAR(1),--賬號是否鎖定 1-是 0-否
  create_man           NUMBER(26),--建立人
  site                 VARCHAR2(100),--所在位置
  dep_id               VARCHAR2(12),--所在部門編號 DEPT_INFO.CODE
  password_error_times VARCHAR2(2) default '0',
  last_login_time      DATE,
  password_error_lock  VARCHAR2(2) default '0',
  rtx_num              VARCHAR2(50)
);
-- Add comments to the columns 
comment on column USER_INFO.password_error_times
  is '記錄密碼輸錯次數';
comment on column USER_INFO.last_login_time
  is '記錄上一次該賬號進行登入的時間';
comment on column USER_INFO.password_error_lock
  is '密碼輸入錯誤鎖,0為正常,1為鎖定';
comment on column USER_INFO.rtx_num
  is 'RTX號碼';
-- Create/Recreate primary, unique and foreign key constraints 
alter table USER_INFO
  add constraint PK_USER_INFO primary key (ID)
  using index;
alter table USER_INFO
  add constraint UQ_USER_INFO unique (USER_ID)
  using index;
--序列
create sequence SEQ_USER_INFO
minvalue 1
maxvalue 9999999999999999999999999999
start with 90000
increment by 1
cache 20;
二、存放對使用者的子許可權的分配USER_PERMREG


2.1、指令碼

-- Create table
create table USER_PERMREG
(
  id          NUMBER(26) not null,
  perm_id     NUMBER(26) not null,--子許可權ID,PERM_REG.ID
  user_ref_id NUMBER(26) not null,--使用者ID,USER_INFO.ID
  perm_allow  NUMBER--是否允許
);
-- Create/Recreate primary, unique and foreign key constraints 
alter table USER_PERMREG
  add constraint PK_USER_PERMREG primary key (ID)
  using index;
--序列
create sequence SEQ_USER_FUNC
minvalue 1
maxvalue 99999999999999999999999999
start with 1
increment by 1
cache 20;
三、存放對特定使用者所分配的許可權USER_RIGHT_LIST


3.1、指令碼

-- Create table
create table USER_RIGHT_LIST
(
  id          NUMBER(26) not null,
  func_id     NUMBER(26) not null,--功能號,FUNC_LIST.ID
  user_ref_id NUMBER(26) not null,--使用者ID,USER_INFO.ID
  perm_allow  NUMBER
);
-- Create/Recreate primary, unique and foreign key constraints 
alter table USER_RIGHT_LIST
  add constraint PK_USER_RIGHT_LIST primary key (ID)
  using index ;
--序列
create sequence SEQ_USER_RIGHT_LIST
minvalue 1
maxvalue 9999999999999999999999999999
start with 20000
increment by 1
cache 20;
四、存放對登入使用者賦予的角色USER_ROLE_REF


4.1、指令碼

-- Create table
create table USER_ROLE_REF
(
  role_id NUMBER(26) not null,--角色ID
  user_id NUMBER(26) not null--使用者ID
);
五、存放系統對使用者角色的定義USER_ROL


5.1、指令碼

-- Create table
create table USER_ROL
(
  id          NUMBER(26) not null,
  name        VARCHAR2(100) not null,--角色名稱
  description VARCHAR2(50)--角色描述
);
-- Create/Recreate primary, unique and foreign key constraints 
alter table USER_ROL
  add constraint PK_USER_ROL primary key (ID)
  using index ;
alter table USER_ROL
  add constraint UQ_USER_ROL unique (NAME)
  using index;
--序列
create sequence SEQ_USER_ROL
minvalue 1
maxvalue 9999999999999999999999999999
start with 20000
increment by 1
cache 20;
六、存放對角色的子許可權的分配ROLE_PERMREG


6.1、指令碼

-- Create table
create table ROLE_PERMREG
(
  id         NUMBER(26) not null,
  use_id     NUMBER(26),--角色ID,USER_ROL.ID
  perm_id    NUMBER(26),--子許可權ID,PERM_REG.ID
  perm_allow INTEGER--是否允許
);
-- Create/Recreate primary, unique and foreign key constraints 
alter table ROLE_PERMREG
  add constraint PK_ROLE_PERMREG primary key (ID)
  using index;
--序列
create sequence SEQ_ROLE_FUNC
minvalue 1
maxvalue 99999999999999999999999999
start with 1
increment by 1
cache 20;

七、存放對系統角色所分配的許可權ROLE_RIGHT_LIST


7.1、指令碼

-- Create table
create table ROLE_RIGHT_LIST
(
  id         NUMBER(26) not null,
  func_id    NUMBER(26) not null,--功能ID,FUNC_LIST.ID
  rol_ref_id NUMBER(26) not null,--角色ID,USER_ROL.ID
  perm_allow NUMBER--是否有效 1-是 0-否
);
-- Create/Recreate primary, unique and foreign key constraints 
alter table ROLE_RIGHT_LIST
  add constraint PK_ROLE_RIGHT_LIST primary key (ID)
  using index ;
--序列
create sequence SEQ_ROLE_RIGHT_LIST
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 20;
八、存放選單項與子許可權的關聯,形成按功能劃分的子許可權,以便為使用者分配更細的許可權PERM_REG


8.1、指令碼

-- Create table
create table PERM_REG
(
  id      NUMBER(26) not null,
  func_id NUMBER(26),--功能ID,FUNC_LIST.ID
  def_id  NUMBER(26)--子許可權ID,PERM_DEF.ID
);
-- Create/Recreate primary, unique and foreign key constraints 
alter table PERM_REG
  add constraint PK_PERM_REG primary key (ID)
  using index;
--序列
create sequence SEQ_PERM_REG
minvalue 1
maxvalue 9999999999999999999999999999
start with 30000
increment by 1
cache 20;
九、系統選單模組定義FUNC_LIST


9.1、指令碼

-- Create table
create table FUNC_LIST
(
  id         NUMBER(26) not null,
  level      NUMBER,--級別
  parent_id  NUMBER(26),--上級選單ID
  name       VARCHAR2(50) not null,--顯示名
  url        VARCHAR2(100) not null,--對應頁面的地址
  action     VARCHAR2(30) not null,--型別platform/menu/function
  is_usable  NUMBER(1) not null,--是否啟用
  sort_order NUMBER(3),--排序
  memo       VARCHAR2(500),--備註
  icon       VARCHAR2(128)--顯示圖片所在路徑
);
-- Create/Recreate primary, unique and foreign key constraints 
alter table FUNC_LIST
  add constraint PK_FUNC_LIST primary key (ID)
  using index;
--序列
create sequence SEQ_FUNC_LIST
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 20;
十、部門資訊表DEPT_INFO

10.1、指令碼

-- Create table
create table DEPT_INFO
(
  id        NUMBER(26) not null,
  name      VARCHAR2(100) not null,--部門名稱
  parent_id NUMBER(26) not null,--上級部門ID,DEPT_INFO.ID
  manager   NUMBER(26) not null,--部門經理
  is_dept   NUMBER(1) default 0 not null,--是否子公司 1-是 0-否
  code      VARCHAR2(6)--部門代號
);
-- Create/Recreate primary, unique and foreign key constraints 
alter table DEPT_INFO
  add constraint PK_DEPT_INFO primary key (ID)
  using index;
alter table DEPT_INFO
  add constraint UQ_DEPT_INFO unique (CODE)
  using index;
--序列
create sequence SEQ_DEPT_INFO
minvalue 1
maxvalue 9999999999999999999999999999
start with 10000
increment by 1
cache 20;