我希望为一个Java Web应用程序设计数据库,其中一个用户可以拥有特定的角色,而该角色可以根据PERMISSION_CODE访问特定的选项卡。
所以,我创建了三个表:
CREATE TABLE "PAWAN"."USERS_TABLE"
(
"ID" NUMBER(4,0) NOT NULL ENABLE,
"USER_NAME" VARCHAR2(20 BYTE) NOT NULL ENABLE,
"PASSWORD" VARCHAR2(100 BYTE) NOT NULL ENABLE,
"FIRST_NAME" VARCHAR2(20 BYTE) NOT NULL ENABLE,
"LAST_NAME" VARCHAR2(20 BYTE),
"CREATED_DATE" DATE DEFAULT sysdate,
"ROLE_ID_FK" NUMBER(4,0) NOT NULL ENABLE,
PRIMARY KEY ("ID") ENABLE,
CONSTRAINT "FK_ROLE_ID" FOREIGN KEY ("ROLE_ID_FK")
REFERENCES "PAWAN"."USER_ROLES" ("ID") ENABLE
);
CREATE TABLE "PAWAN"."USER_ROLES"
(
"ID" NUMBER(4,0) NOT NULL ENABLE,
"ROLE_TYPE" VARCHAR2(20 BYTE) NOT NULL ENABLE,
"ROLE_DESCRIPTION" VARCHAR2(100 BYTE) NOT NULL ENABLE,
"CREATED_DATE" DATE DEFAULT sysdate,
"PERMISSION_ID_FK" NUMBER(4,0) NOT NULL ENABLE,
PRIMARY KEY ("ID") ENABLE,
CONSTRAINT "PERMISSION_ID" FOREIGN KEY ("PERMISSION_ID_FK")
REFERENCES "PAWAN"."PERMISSIONS_TABLES" ("ID") ENABLE
);
CREATE TABLE "PAWAN"."PERMISSIONS_TABLE"
(
"ID" NUMBER(4,0) NOT NULL ENABLE,
"PERMISSION_CODE" VARCHAR2(20 BYTE) NOT NULL ENABLE,
"PERMISSION_DESC" VARCHAR2(100 BYTE) NOT NULL ENABLE,
"CREATED_DATE" DATE DEFAULT sysdate,
PRIMARY KEY ("ID") ENABLE
);
现在,我需要第四个表格,其中包含属于特定 PERMISSIONS_TABLE 的 PERMISSION_CODE 的选项卡列表。
我想到的是创建一个具有以下列的表格:
- PERMISSION_CODE
- TAB1(是/否)
- TAB2(是/否)等等..
- PERMISSION_CODE
- TAB_NAME
是否有一种像数组一样的结构来存储选项卡?有人能建议我更好的方法吗?