ELZIADY_DBA بتاريخ: 30 نوفمبر 2005 تقديم بلاغ مشاركة بتاريخ: 30 نوفمبر 2005 :angry: إليكم الجداول كاملة لعمل الصلاحيات وهي كما ذكرت لكم من أقوى الصلاحيات وهو كما مرفق يتم بناءه كما هو مرتب CREATE TABLE COMMON_USERS ( USER_NO NUMBER(7) DEFAULT '0 ' NOT NULL, EMPLOYEE_NO NUMBER(7) DEFAULT '0', USER_NAME VARCHAR2(40) NOT NULL, PASSWORD VARCHAR2(6) NOT NULL, DEPT_NO VARCHAR2(10), FREEEZE_UNFREEZE NUMBER(1) DEFAULT '0' NOT NULL, PRIVILEGE_FLAG NUMBER(1) DEFAULT '0' NOT NULL, SYSTEM_EXP_DATE DATE, COUNT_EXIT_NON_SYS NUMBER(2) DEFAULT '0' NOT NULL, FLAG NUMBER(1) ) / COMMENT ON COLUMN COMMON_USERS.USER_NO IS 'رمز المستخدم'; / COMMENT ON COLUMN COMMON_USERS.EMPLOYEE_NO IS 'رقم الموظف'; / COMMENT ON COLUMN COMMON_USERS.USER_NAME IS 'اسم المستخدم'; / COMMENT ON COLUMN COMMON_USERS.PASSWORD IS 'كلمة السر'; / COMMENT ON COLUMN COMMON_USERS.DEPT_NO IS 'رقم الادراة'; / COMMENT ON COLUMN COMMON_USERS.FREEEZE_UNFREEZE IS 'المستخدم موقوف/غير موقوف'; / COMMENT ON COLUMN COMMON_USERS.PRIVILEGE_FLAG IS 'صلاحيات المستخدم'; / COMMENT ON COLUMN COMMON_USERS.SYSTEM_EXP_DATE IS 'اخر تاريخ تعديل'; / COMMENT ON COLUMN COMMON_USERS.COUNT_EXIT_NON_SYS IS 'الخروج الطبيعي'; / ALTER TABLE COMMON_USERS ADD (CONSTRAINT CU_PK PRIMARY KEY (USER_NO)) / CREATE TABLE COMMON_SYSTEMS ( SYSTEM_NO NUMBER(2) DEFAULT 0 NOT NULL, SYSTEM_SHORT_NAME VARCHAR2(3) NOT NULL, SYSTEM_DESC VARCHAR2(30) NOT NULL, FREEZE_UNFREEZE NUMBER(1) DEFAULT 0 NOT NULL, SYSTEM_PATH VARCHAR2(100) NOT NULL, PRV_PRV_TYPE NUMBER(2) NOT NULL ) / COMMENT ON COLUMN COMMON_SYSTEMS.SYSTEM_NO IS 'رمز النظام'; / COMMENT ON COLUMN COMMON_SYSTEMS.SYSTEM_SHORT_NAME IS 'الرمز المختصر'; / COMMENT ON COLUMN COMMON_SYSTEMS.SYSTEM_DESC IS 'اسم النظام'; / COMMENT ON COLUMN COMMON_SYSTEMS.FREEZE_UNFREEZE IS 'تجميدالنظام'; / COMMENT ON COLUMN COMMON_SYSTEMS.SYSTEM_PATH IS 'المسار في المحث'; / COMMENT ON COLUMN COMMON_SYSTEMS.PRV_PRV_TYPE IS 'رمز الصلاحية'; / ALTER TABLE COMMON_SYSTEMS ADD (CONSTRAINT CS_PK PRIMARY KEY (SYSTEM_NO)) / ALTER TABLE COMMON_SYSTEMS ADD (CONSTRAINT CS_PRV_FK FOREIGN KEY (PRV_PRV_TYPE) REFERENCES PRIVILAGES_TYPES (PRV_TYPE)) / CREATE TABLE FORMS_REPORTS_INFOS ( FRM_REP_TYPE NUMBER(1) DEFAULT 0 NOT NULL, FRM_REP_NO NUMBER(5) DEFAULT 0 NOT NULL, FRM_REP_ALTERNATE_NO NUMBER(5) DEFAULT 0 NOT NULL, FRM_REP_DESC VARCHAR2(60) NOT NULL, SYS_SHORT_ALTERNATE_NAME VARCHAR2(3) NOT NULL, FRM_REP_CLASS NUMBER(2) DEFAULT 0 NOT NULL, FREEZE_UNFREEZE NUMBER(1) DEFAULT 0 NOT NULL, CS_SYSTEM_NO NUMBER(2) NOT NULL ) / COMMENT ON COLUMN FORMS_REPORTS_INFOS.FRM_REP_TYPE IS 'النوع'; / COMMENT ON COLUMN FORMS_REPORTS_INFOS.FRM_REP_NO IS 'رمز الشاشة أوالتقرير'; / COMMENT ON COLUMN FORMS_REPORTS_INFOS.FRM_REP_ALTERNATE_NO IS 'الرقم البديل'; / COMMENT ON COLUMN FORMS_REPORTS_INFOS.FRM_REP_DESC IS 'اسم الشاشة'; / COMMENT ON COLUMN FORMS_REPORTS_INFOS.SYS_SHORT_ALTERNATE_NAME IS 'اسم المختصر لنظام البديل'; / COMMENT ON COLUMN FORMS_REPORTS_INFOS.FRM_REP_CLASS IS 'موقع الشاشة في القائمة'; / COMMENT ON COLUMN FORMS_REPORTS_INFOS.FREEZE_UNFREEZE IS 'مجمد'; / COMMENT ON COLUMN FORMS_REPORTS_INFOS.CS_SYSTEM_NO IS 'رمز النظام'; / ALTER TABLE FORMS_REPORTS_INFOS ADD (CONSTRAINT FRI_PK PRIMARY KEY (CS_SYSTEM_NO, FRM_REP_NO, FRM_REP_TYPE)) / ALTER TABLE FORMS_REPORTS_INFOS ADD ( CONSTRAINT FRI_CS_FK FOREIGN KEY (CS_SYSTEM_NO) REFERENCES COMMON_SYSTEMS (SYSTEM_NO)) / CREATE TABLE COMMON_GROUPS ( GROUP_NO NUMBER(4) DEFAULT 0 NOT NULL, GROUP_TYPE NUMBER(1) DEFAULT 0 NOT NULL, GROUP_NAME VARCHAR2(60) NOT NULL, FREEZE_UNFREEZE NUMBER(1) DEFAULT 0 NOT NULL ) / COMMENT ON COLUMN COMMON_GROUPS.GROUP_NO IS 'رمز المجموعة'; / COMMENT ON COLUMN COMMON_GROUPS.GROUP_TYPE IS 'نوع المجموعة (اضافة،استبعاد)'; / COMMENT ON COLUMN COMMON_GROUPS.GROUP_NAME IS 'اسم المجموعة'; / COMMENT ON COLUMN COMMON_GROUPS.FREEZE_UNFREEZE IS 'تجميد المجموعة'; / ALTER TABLE COMMON_GROUPS ADD (CONSTRAINT CG_PK PRIMARY KEY (GROUP_NO)) / CREATE TABLE COMMON_SYS_PRVS ( NOTES VARCHAR2(30), CS_SYSTEM_NO NUMBER(2) NOT NULL, CG_GROUP_NO NUMBER(4) NOT NULL, PRV_PRV_TYPE NUMBER(2) NOT NULL ) / COMMENT ON COLUMN COMMON_SYS_PRVS.NOTES IS 'ملاحظات'; / COMMENT ON COLUMN COMMON_SYS_PRVS.CS_SYSTEM_NO IS 'رمز النظام'; / COMMENT ON COLUMN COMMON_SYS_PRVS.CG_GROUP_NO IS 'رمز المجموعة'; / COMMENT ON COLUMN COMMON_SYS_PRVS.PRV_PRV_TYPE IS 'رمز الصلاحية'; / ALTER TABLE COMMON_SYS_PRVS ADD (CONSTRAINT CSP_PK PRIMARY KEY (CS_SYSTEM_NO, CG_GROUP_NO)) / ALTER TABLE COMMON_SYS_PRVS ADD (CONSTRAINT CSP_CG_FK FOREIGN KEY (CG_GROUP_NO) REFERENCES COMMON_GROUPS (GROUP_NO)) / ALTER TABLE COMMON_SYS_PRVS ADD (CONSTRAINT CSP_CS_FK FOREIGN KEY (CS_SYSTEM_NO) REFERENCES COMMON_SYSTEMS (SYSTEM_NO)) / ALTER TABLE COMMON_SYS_PRVS ADD (CONSTRAINT CSP_PRV_FK FOREIGN KEY (PRV_PRV_TYPE) REFERENCES PRIVILAGES_TYPES (PRV_TYPE)) / CREATE TABLE FORMS_REPORTS_PRVS ( NOTES VARCHAR2(30), FRI_CS_SYSTEM_NO NUMBER(2) NOT NULL, FRI_FRM_REP_NO NUMBER(5) NOT NULL, FRI_FRM_REP_TYPE NUMBER(1) NOT NULL, CG_GROUP_NO NUMBER(4) NOT NULL, PRV_PRV_TYPE NUMBER(2) NOT NULL ) / COMMENT ON COLUMN FORMS_REPORTS_PRVS.NOTES IS 'ملاحظات'; / COMMENT ON COLUMN FORMS_REPORTS_PRVS.FRI_CS_SYSTEM_NO IS 'رمز النظام'; / COMMENT ON COLUMN FORMS_REPORTS_PRVS.FRI_FRM_REP_NO IS 'رمز الشاشة أوالتقرير'; / COMMENT ON COLUMN FORMS_REPORTS_PRVS.FRI_FRM_REP_TYPE IS 'النوع'; / COMMENT ON COLUMN FORMS_REPORTS_PRVS.CG_GROUP_NO IS 'رمز المجموعة'; / COMMENT ON COLUMN FORMS_REPORTS_PRVS.PRV_PRV_TYPE IS 'رمز الصلاحية'; / ALTER TABLE FORMS_REPORTS_PRVS ADD (CONSTRAINT FN_PK PRIMARY KEY (FRI_CS_SYSTEM_NO, FRI_FRM_REP_NO, FRI_FRM_REP_TYPE, CG_GROUP_NO)) / ALTER TABLE FORMS_REPORTS_PRVS ADD (CONSTRAINT FN_CG_FK FOREIGN KEY (CG_GROUP_NO) REFERENCES COMMON_GROUPS (GROUP_NO)) / ALTER TABLE FORMS_REPORTS_PRVS ADD (CONSTRAINT FN_FRI_FK FOREIGN KEY (FRI_CS_SYSTEM_NO, FRI_FRM_REP_NO, FRI_FRM_REP_TYPE) REFERENCES FORMS_REPORTS_INFOS (CS_SYSTEM_NO,FRM_REP_NO,FRM_REP_TYPE)) / ALTER TABLE FORMS_REPORTS_PRVS ADD (CONSTRAINT FN_PRV_FK FOREIGN KEY (PRV_PRV_TYPE) REFERENCES PRIVILAGES_TYPES (PRV_TYPE)) / CREATE TABLE COMMON_USER_GROUPS ( NOTES VARCHAR2(10) NOT NULL, CU_USER_NO NUMBER(7) NOT NULL, CG_GROUP_NO NUMBER(4) NOT NULL ) / COMMENT ON COLUMN COMMON_USER_GROUPS.NOTES IS 'ملاحظات'; / COMMENT ON COLUMN COMMON_USER_GROUPS.CU_USER_NO IS 'رمز المستخدم'; / COMMENT ON COLUMN COMMON_USER_GROUPS.CG_GROUP_NO IS 'رمز المجموعة'; / ALTER TABLE COMMON_USER_GROUPS ADD (CONSTRAINT CUG_PK PRIMARY KEY (CU_USER_NO, CG_GROUP_NO)) / ALTER TABLE COMMON_USER_GROUPS ADD (CONSTRAINT CUG_CG_FK FOREIGN KEY (CG_GROUP_NO) REFERENCES COMMON_GROUPS (GROUP_NO)) / ALTER TABLE COMMON_USER_GROUPS ADD (CONSTRAINT CUG_CU_FK FOREIGN KEY (CU_USER_NO) REFERENCES COMMON_USERS (USER_NO)) / CREATE TABLE SYSTEM_MAILS ( MAIL_TYPE NUMBER(3) NOT NULL, MAIL_PRIMARY NUMBER(6), MAIL_SCNDARY NUMBER(6) NOT NULL, MAIL_NAME VARCHAR2(50) NOT NULL, MAIL_SHORT_NAME VARCHAR2(20), MAIL_FLAG NUMBER(1) NOT NULL ) / CREATE TABLE NUMBERS ( NO NUMBER(10), NAME VARCHAR2(50) ) / CREATE TABLE GREG_HIJ_BASE ( GREG_DATE DATE NOT NULL, HIJRI_DATE DATE NOT NULL ) / insert into privilages_types values (20,'11111','NULL'); insert into privilages_types values (19,'11110','NULL'); insert into privilages_types values (18 ,'11011','NULL'); insert into privilages_types values (17 ,'11010','NULL'); insert into privilages_types values (16 ,'10111','NULL'); insert into privilages_types values (15 ,'10110','NULL'); insert into privilages_types values (14 ,'10011','NULL'); insert into privilages_types values (13 ,'10001','NULL'); insert into privilages_types values (12 ,'10010','NULL'); insert into privilages_types values (11 ,'10000','NULL'); insert into privilages_types values (10 ,'01111','NULL'); insert into privilages_types values (9,'01110','NULL'); insert into privilages_types values (8,'01011','NULL'); insert into privilages_types values (7,'01010','NULL'); insert into privilages_types values (6,'00111','NULL'); insert into privilages_types values (5,'00110','NULL'); insert into privilages_types values (4,'00011','NULL'); insert into privilages_types values (3,'00001','NULL'); insert into privilages_types values (2,'00010','NULL'); insert into privilages_types values (1,'00000','NULL') / CREATE OR REPLACE FORCE VIEW MAIN.COMMON_SYSTEM_V1 (CU_USER_NO, CG_GROUP_NO, CS_SYSTEM_NO, FRM_REP_NO, FRM_REP_TYPE, SYS_SHORT_ALTERNATE_NAME, FREEZE_UNFREEZE, PRV_PRV_TYPE) AS (SELECT A.CU_USER_NO , B.CG_GROUP_NO , C.CS_SYSTEM_NO, C.FRM_REP_NO, C.FRM_REP_TYPE, C.SYS_SHORT_ALTERNATE_NAME, C.FREEZE_UNFREEZE, B.PRV_PRV_TYPE FROM COMMON_USER_GROUPS A,COMMON_SYS_PRVS B,FORMS_REPORTS_INFOS C WHERE A.CG_GROUP_NO =B.CG_GROUP_NO AND B.CS_SYSTEM_NO=C.CS_SYSTEM_NO AND EXISTS (SELECT F.GROUP_NO FROM COMMON_GROUPS F WHERE B.CG_GROUP_NO=F.GROUP_NO AND F.GROUP_TYPE=1) UNION SELECT A.CU_USER_NO , B.CG_GROUP_NO , B.FRI_CS_SYSTEM_NO , B.FRI_FRM_REP_NO , B.FRI_FRM_REP_TYPE , '' , 0 , B.PRV_PRV_TYPE FROM COMMON_USER_GROUPS A,FORMS_REPORTS_PRVS B WHERE A.CG_GROUP_NO =B.CG_GROUP_NO AND EXISTS (SELECT F.GROUP_NO FROM COMMON_GROUPS F WHERE B.CG_GROUP_NO=F.GROUP_NO AND F.GROUP_TYPE=2)); / CREATE OR REPLACE FORCE VIEW MAIN.COMMON_SYS_MIN_FRM (CU_USER_NO, CS_SYSTEM_NO, FRM_REP_NO, FRM_REP_TYPE, PRV_PRV_TYPE) AS (SELECT G.CU_USER_NO , G.CS_SYSTEM_NO , G.FRM_REP_NO , G.FRM_REP_TYPE , MIN(G.PRV_PRV_TYPE) PRV_PRV_TYPE FROM COMMON_SYSTEM_V1 G GROUP BY G.CU_USER_NO , G.CS_SYSTEM_NO , G.FRM_REP_NO , G.FRM_REP_TYPE ); / CREATE OR REPLACE FORCE VIEW MAIN.COMMON_SYSTEM_V2 (CU_USER_NO, CG_GROUP_NO, CS_SYSTEM_NO, FRM_REP_NO, FRM_REP_TYPE, PRV_PRV_TYPE) AS (SELECT G.CU_USER_NO , 0 CG_GROUP_NO , G.CS_SYSTEM_NO , G.FRM_REP_NO , G.FRM_REP_TYPE , G.PRV_PRV_TYPE FROM COMMON_SYS_MIN_FRM G UNION SELECT A.CU_USER_NO , B.CG_GROUP_NO , B.FRI_CS_SYSTEM_NO , B.FRI_FRM_REP_NO , B.FRI_FRM_REP_TYPE , B.PRV_PRV_TYPE FROM COMMON_USER_GROUPS A,FORMS_REPORTS_PRVS B WHERE A.CG_GROUP_NO =B.CG_GROUP_NO AND EXISTS (SELECT F.GROUP_NO FROM COMMON_GROUPS F WHERE B.CG_GROUP_NO=F.GROUP_NO AND F.GROUP_TYPE IN (2,3))); / CREATE OR REPLACE FORCE VIEW MAIN.COMMON_SYS_MAX_FRM (CU_USER_NO, CS_SYSTEM_NO, FRM_REP_NO, FRM_REP_TYPE, PRV_PRV_TYPE) AS (SELECT G.CU_USER_NO , G.CS_SYSTEM_NO , G.FRM_REP_NO , G.FRM_REP_TYPE , MAX(G.PRV_PRV_TYPE) PRV_PRV_TYPE FROM COMMON_SYSTEM_V2 G GROUP BY G.CU_USER_NO , G.CS_SYSTEM_NO , G.FRM_REP_NO , G.FRM_REP_TYPE ); / CREATE OR REPLACE FORCE VIEW MAIN.COMMON_SYS_FRM_PRV (CU_USER_NO, CS_SYSTEM_NO, FRM_REP_NO, FRM_REP_TYPE, FRM_REP_ALTERNATE_NO, SYS_SHORT_ALTERNATE_NAME, FREEZE_UNFREEZE, FRM_REP_DESC, FRM_REP_CLASS, SYSTEM_SHORT_NAME, SYSTEM_DESC, SYS_FREEZE_UNFREEZE, SYSTEM_PATH, PRV_ACT, PRV_PRV_TYPE) AS (SELECT A.CU_USER_NO , A.CS_SYSTEM_NO , A.FRM_REP_NO , A.FRM_REP_TYPE , B.FRM_REP_ALTERNATE_NO, B.SYS_SHORT_ALTERNATE_NAME, B.FREEZE_UNFREEZE , B.FRM_REP_DESC , B.FRM_REP_CLASS , C.SYSTEM_SHORT_NAME , C.SYSTEM_DESC , C.FREEZE_UNFREEZE SYS_FREEZE_UNFREEZE, C.SYSTEM_PATH , D.PRV_ACT , A.PRV_PRV_TYPE FROM COMMON_SYS_MAX_FRM A,FORMS_REPORTS_INFOS B, COMMON_SYSTEMS C ,PRIVILAGES_TYPES D WHERE A.CS_SYSTEM_NO=B.CS_SYSTEM_NO AND A.FRM_REP_NO =B.FRM_REP_NO AND A.FRM_REP_TYPE=B.FRM_REP_TYPE AND A.PRV_PRV_TYPE=D.PRV_TYPE AND A.CS_SYSTEM_NO=C.SYSTEM_NO AND (A.PRV_PRV_TYPE>1 OR A.FRM_REP_TYPE<>1)); / اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.