RBAC


-- Create table
create table RBAC_GRANT
(
  GRANT_ID      INTEGER not null,
  PERMISSION_ID INTEGER,
  ROLE_ID       INTEGER,
  ACTION        VARCHAR2(500)
)
-- Add comments to the columns 
comment on column RBAC_GRANT.GRANT_ID
  is '編號';
comment on column RBAC_GRANT.PERMISSION_ID
  is '權限編號';
comment on column RBAC_GRANT.ROLE_ID
  is '角色編號';
comment on column RBAC_GRANT.ACTION
  is '擁護的操作';

-- Create/Recreate primary, unique and foreign key constraints 
alter table RBAC_GRANT
  add constraint PK_RBAC_GRANT primary key (GRANT_ID);
--Create sequences
Create Sequence SEQ_RBAC_GRANT;


---- Create table
create table RBAC_PERMISSION
(
  PERMISSION_ID INTEGER not null,
  RESOURCE_ID   INTEGER
);
-- Add comments to the columns 
comment on column RBAC_PERMISSION.PERMISSION_ID
  is '權限編號';
comment on column RBAC_PERMISSION.RESOURCE_ID
  is '資源編號';
-- Create/Recreate primary, unique and foreign key constraints 
alter table RBAC_PERMISSION
  add constraint PK_RBAC_PERMISSION primary key (PERMISSION_ID);
--Create Sequences
Create Sequence SEQ_RBAC_PERMISSION;

-- Create table
create table RBAC_RESOURCE
(
  RESOURCE_ID   INTEGER not null,
  PARENT_ID     INTEGER default 0 not null,
  RESOURCE_NAME VARCHAR2(50) not null,
  RESOURCE_KEY  VARCHAR2(50) not null,
  CREATE_TIME   DATE default sysdate,
  UPDATE_TIME   DATE default sysdate,
  INFO          VARCHAR2(500),
  HAS_LEAF      INTEGER,
  TYPE          INTEGER,
  SORT          INTEGER,
  ACTION        VARCHAR2(500),
  HAS_MULTI     INTEGER,
  IS_DELETE     INTEGER default 1 not null,
  IS_FUNCTION   INTEGER default 1 not null
);
-- Add comments to the columns 
comment on column RBAC_RESOURCE.PARENT_ID
  is '父資源ID(0 表示根)';
comment on column RBAC_RESOURCE.RESOURCE_NAME
  is '資源名稱';
comment on column RBAC_RESOURCE.RESOURCE_KEY
  is '';
comment on column RBAC_RESOURCE.CREATE_TIME
  is '創建時間';
comment on column RBAC_RESOURCE.UPDATE_TIME
  is '修改時間';
comment on column RBAC_RESOURCE.INFO
  is '資源信息';
comment on column RBAC_RESOURCE.HAS_LEAF
  is '是否還有子節點(0沒有1有)';
comment on column RBAC_RESOURCE.TYPE
  is '資源類型(600運維類型601運營類型)';
comment on column RBAC_RESOURCE.SORT
  is '資源排序';
comment on column RBAC_RESOURCE.ACTION
  is '資源操作';
comment on column RBAC_RESOURCE.HAS_MULTI
  is '是否有多級子節點(0沒有1有)';
comment on column RBAC_RESOURCE.IS_DELETE
  is '是否刪除';
comment on column RBAC_RESOURCE.IS_FUNCTION
  is '是否存在功能';
-- Create/Recreate primary, unique and foreign key constraints 
alter table RBAC_RESOURCE
  add constraint PK_RBAC_RESOURCE primary key (RESOURCE_ID);
--Create Sequences
Create sequence SEQ_RBAC_RESOURCE;


-- Create table
create table RBAC_ROLE
(
  ROLE_ID     INTEGER not null,
  ROLE_NAME   VARCHAR2(50) not null,
  DESCRIPTION VARCHAR2(1000),
  CREATE_TIME DATE default sysdate,
  UPDATE_TIME DATE default sysdate,
  ROLE_TYPE   INTEGER,
  IS_DELETE   INTEGER default 1
);
-- Add comments to the table 
comment on table RBAC_ROLE
  is '角色';
-- Add comments to the columns 
comment on column RBAC_ROLE.ROLE_NAME
  is '角色名稱';
comment on column RBAC_ROLE.DESCRIPTION
  is '角色描述';
comment on column RBAC_ROLE.CREATE_TIME
  is '創建時間';
comment on column RBAC_ROLE.UPDATE_TIME
  is '修改時間';
comment on column RBAC_ROLE.ROLE_TYPE
  is '角色類型。305-代理商,306-高級用戶,307-訪客用戶,308-超級管理員,309-運維管理員,310-運營管理員';
comment on column RBAC_ROLE.IS_DELETE
  is '是否刪除, 0刪除 1未刪除';
-- Create/Recreate primary, unique and foreign key constraints 
alter table RBAC_ROLE
  add constraint PK_RBAC_ROLE primary key (ROLE_ID);
--Create Sequences
Create Sequence SEQ_RBAC_GRANT;

-- Create table
create table RBAC_ROLE_USER
(
  ROLE_USER_ID INTEGER not null,
  ROLE_ID      INTEGER,
  USER_ID      INTEGER
);
-- Add comments to the columns 
comment on column RBAC_ROLE_USER.ROLE_USER_ID
  is '編號';
comment on column RBAC_ROLE_USER.ROLE_ID
  is '角色';
comment on column RBAC_ROLE_USER.USER_ID
  is '用戶';
-- Create/Recreate primary, unique and foreign key constraints 
alter table RBAC_ROLE_USER
  add constraint PK_RBAC_ROLE_USER primary key (ROLE_USER_ID);
--Create Sequences
Create Sequence SEQ_R_ROLE_USER;

-- Create table
create table USER_INFO
(
  USER_ID     INTEGER not null,
  USER_NAME   VARCHAR2(50) not null,
  PASSWORD    VARCHAR2(50) not null,
  EMAIL       VARCHAR2(50),
  QQ          VARCHAR2(20),
  IS_DELETE   INTEGER default 0 not null,
  HASHCODE    VARCHAR2(50),
  ADDRESS     VARCHAR2(100),
  CREATE_TIME DATE default sysdate not null,
  UPDATE_TIME DATE default sysdate not null,
  PHONE       VARCHAR2(100),
  BIRTHDAY    DATE default sysdate not null,
  REALLY_NAME VARCHAR2(100),
  DEPART_ID   INTEGER,
  SEX         VARCHAR2(5),
  STATE       INTEGER,
  HEIGHT      INTEGER,
  WEIGHT      INTEGER,
  EDUCATION   INTEGER default -1,
  HOBBY       VARCHAR2(100),
  INDUSTRY_ID INTEGER default 0 not null,
  POI_ID      INTEGER default 0 not null,
  HEAD_FACE   VARCHAR2(20)
);
-- Add comments to the columns 
comment on column USER_INFO.USER_ID
  is '編號';
comment on column USER_INFO.USER_NAME
  is '名稱';
comment on column USER_INFO.PASSWORD
  is '密碼';
comment on column USER_INFO.EMAIL
  is '電子郵件';
comment on column USER_INFO.QQ
  is 'qq號碼';
comment on column USER_INFO.IS_DELETE
  is '刪除狀態 1未刪除 0刪除';
comment on column USER_INFO.HASHCODE
  is 'hash代碼';
comment on column USER_INFO.ADDRESS
  is '住址';
comment on column USER_INFO.CREATE_TIME
  is '建立時間';
comment on column USER_INFO.UPDATE_TIME
  is '修改時間';
comment on column USER_INFO.PHONE
  is '電話號碼';
comment on column USER_INFO.BIRTHDAY
  is '生日';
comment on column USER_INFO.REALLY_NAME
  is '真實名稱';
comment on column USER_INFO.DEPART_ID
  is '部門編號';
comment on column USER_INFO.SEX
  is '性別';
comment on column USER_INFO.STATE
  is '其他狀態';
comment on column USER_INFO.HEIGHT
  is ' 身高';
comment on column USER_INFO.WEIGHT
  is '體重';
comment on column USER_INFO.EDUCATION
  is '學歷';
comment on column USER_INFO.HOBBY
  is '愛好';
comment on column USER_INFO.INDUSTRY_ID
  is '用戶所屬行業ID';
comment on column USER_INFO.HEAD_FACE
  is '用戶頭像';
-- Create/Recreate primary, unique and foreign key constraints 
alter table USER_INFO
  add constraint PK_USER primary key (USER_ID);
--Create Sequences
Create Sequence SEQ_USER_INFO;

--權限視圖
create or replace view v_permission as
select
res.RESOURCE_ID,
res.PARENT_ID,
res.RESOURCE_NAME,
res.RESOURCE_KEY,
res.CREATE_TIME,
res.UPDATE_TIME,
res.INFO,
res.has_leaf,
res.is_function,
res.type,
res.sort,
res.has_multi,
res.is_delete,
rt.action,
rt.role_id
from rbac_grant rt
inner join rbac_permission per
on rt.permission_id=per.permission_id
inner join rbac_resource res
on res.resource_id=per.resource_id

create or replace view v_permission_tree as
select
res.RESOURCE_ID,
res.PARENT_ID,
res.RESOURCE_NAME,
res.RESOURCE_KEY,
res.CREATE_TIME,
res.UPDATE_TIME,
res.INFO,
res.has_leaf,
res.type,
res.is_function,
res.sort,
res.action,
res.is_delete,
per.permission_id
from rbac_resource res
inner join rbac_permission per
on res.resource_id=per.resource_id


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM