Banco de arquivos - EdusoftBase

Top  Previous  Next

 

       Esse banco é responsável por fazer o armazenamento de arquivos.

 

 

O nome do Banco a ser criado fica a critério do cliente, lembrando que deverá substituir o nome EDUSOFT_BASE pelo nome do Banco criado.

 

Criação dos bancos

 

SQLServer:

 

    CREATE DATABASE EDUSOFT_BASE

 

 

Oracle:

 

 

    CREATE USER "EDUSOFT_BASE"  PROFILE "DEFAULT"

        IDENTIFIED BY "EDUSOFT_BASE" DEFAULT TABLESPACE "TS_MENTORWEB"

               QUOTA UNLIMITED ON TS_MENTORWEB

        ACCOUNT UNLOCK;

     

    GRANT "CONNECT" TO "EDUSOFT_BASE" WITH ADMIN OPTION;

     

    GRANT "DBA" TO "EDUSOFT_BASE" WITH ADMIN OPTION;

 

 

Criação das tabelas

 

SQLServer:

 

 

    IF NOT EXISTS (SELECT 1 FROM SYS.TABLES WHERE NAME = 'TB_ARQUIVO')

    CREATE TABLE TB_ARQUIVO ( 

    ARQ_ID  INTEGER IDENTITY(1,1)  NOT NULL,

    ARQ_ARQUIVO  IMAGE NOT NULL,

    ARQ_TIPO  VARCHAR (50)  NULL,

    ARQ_NOMARQ  VARCHAR (200)  NULL,

    ARQ_CODTEL  VARCHAR (200)  NULL

     

    GO

     

    IF NOT EXISTS (SELECT 1 FROM SYS.TABLES WHERE NAME = 'TB_ARQUIVO_ENTIDADE')

    CREATE TABLE TB_ARQUIVO_ENTIDADE ( 

    AEN_ID  INTEGER IDENTITY(1,1)  NOT NULL,

    AEN_ARQID  INTEGER NOT NULL,

    AEN_ENTID  INTEGER NULL,

    AEN_ENTCLA  VARCHAR (255)  NULL,

    AEN_DADOS_ENTIDADE  VARCHAR (4000)  NULL

     

    GO

     

    IF NOT EXISTS (SELECT 1 FROM SYS.KEY_CONSTRAINTS K 

    INNER JOIN SYS.TABLES T ON T.OBJECT_ID = K.PARENT_OBJECT_ID 

    WHERE T.NAME = 'TB_ARQUIVO' 

     AND K.NAME = 'PK_ARQ') 

    ALTER TABLE TB_ARQUIVO ADD CONSTRAINT PK_ARQ PRIMARY KEY (ARQ_ID)

    GO

     

    IF NOT EXISTS (SELECT 1 FROM SYS.KEY_CONSTRAINTS K 

    INNER JOIN SYS.TABLES T ON T.OBJECT_ID = K.PARENT_OBJECT_ID 

    WHERE T.NAME = 'TB_ARQUIVO_ENTIDADE' 

     AND K.NAME = 'PK_AEN') 

    ALTER TABLE TB_ARQUIVO_ENTIDADE ADD CONSTRAINT PK_AEN PRIMARY KEY (AEN_ID)

    GO

     

    IF NOT EXISTS (SELECT 1 FROM SYS.FOREIGN_KEYS F 

    INNER JOIN SYS.TABLES T ON T.OBJECT_ID = F.PARENT_OBJECT_ID 

    WHERE T.NAME = 'TB_ARQUIVO_ENTIDADE' 

     AND F.NAME = 'FK_ARQ_AEN') 

    ALTER TABLE TB_ARQUIVO_ENTIDADE ADD CONSTRAINT FK_ARQ_AEN FOREIGN KEY (AEN_ARQID) REFERENCES TB_ARQUIVO (ARQ_ID)

    GO

     

    IF NOT EXISTS (SELECT 1 FROM SYS.INDEXES I 

    INNER JOIN SYS.TABLES T ON T.OBJECT_ID = I.OBJECT_ID 

    WHERE T.NAME = 'TB_ARQUIVO_ENTIDADE' 

    AND I.NAME = 'IDX_FK_ARQ_AEN') 

    CREATE INDEX IDX_FK_ARQ_AEN ON TB_ARQUIVO_ENTIDADE (AEN_ARQID)

    GO

     

    IF NOT EXISTS (SELECT 1 FROM SYS.TABLES WHERE NAME = 'TB_DOCUMENTO_AUTENTICACAO')

    CREATE TABLE TB_DOCUMENTO_AUTENTICACAO ( 

    DAU_ID  INTEGER IDENTITY(1,1)  NOT NULL,

    DAU_CODTEL  VARCHAR (30)  NOT NULL,

    DAU_VALIDADE  INTEGER NULL,

    DAU_DESCRI  VARCHAR (255)  NOT NULL,

    DAU_TIPODOC  VARCHAR (50)  NOT NULL,

    ATIVO  INTEGER NOT NULL,

    DATA_ULT_ALTERACAO  DATETIME NOT NULL,

    USUARIO_ULT_ALTERACAO  VARCHAR (255)  NOT NULL

     

    GO

     

    IF NOT EXISTS (SELECT 1 FROM SYS.KEY_CONSTRAINTS K 

    INNER JOIN SYS.TABLES T ON T.OBJECT_ID = K.PARENT_OBJECT_ID 

    WHERE T.NAME = 'TB_DOCUMENTO_AUTENTICACAO' 

     AND K.NAME = 'PK_DAU') 

    ALTER TABLE TB_DOCUMENTO_AUTENTICACAO ADD CONSTRAINT PK_DAU PRIMARY KEY (DAU_ID)

    GO

 

Oracle:

 

 

    DECLARE 

    V_COUNT NUMBER (10,0); 

    BEGIN 

            BEGIN 

                    SELECT COUNT(OBJECT_ID) INTO V_COUNT FROM DBA_OBJECTS WHERE OWNER = 'EDUSOFT_BASE' AND OBJECT_TYPE = 'TABLE' AND OBJECT_NAME = 'TB_ARQUIVO'; 

            EXCEPTION 

                    WHEN NO_DATA_FOUND THEN 

                            V_COUNT :=0; 

            END; 

            IF (V_COUNT = 0) 

            THEN 

                    EXECUTE IMMEDIATE 

                    'CREATE TABLE EDUSOFT_BASE.TB_ARQUIVO ( 

                    ARQ_ID  NUMBER (10 , 0)  NOT NULL,

                    ARQ_ARQUIVO  BLOB NOT NULL,

                    ARQ_TIPO  VARCHAR2 (50)  NULL,

                    ARQ_NOMARQ  VARCHAR2 (200)  NULL,

                    ARQ_CODTEL  VARCHAR2 (200)  NULL

                    )'; 

            END IF; 

    END;

     

    DECLARE 

    V_COUNT NUMBER (10,0); 

    BEGIN 

            BEGIN 

                    SELECT COUNT(OBJECT_ID) INTO V_COUNT FROM DBA_OBJECTS WHERE OWNER = 'EDUSOFT_BASE' AND OBJECT_TYPE = 'SEQUENCE' AND OBJECT_NAME = 'ARQ_ID'; 

            EXCEPTION 

                    WHEN NO_DATA_FOUND THEN 

                            V_COUNT :=0; 

            END; 

            IF (V_COUNT = 0) 

            THEN 

                    EXECUTE IMMEDIATE 

                    'CREATE SEQUENCE EDUSOFT_BASE.ARQ_ID MINVALUE 1 MAXVALUE 999999999999999999999999 INCREMENT  BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE'; 

            END IF; 

    END;

     

    DECLARE 

    V_COUNT NUMBER (10,0); 

    BEGIN 

            BEGIN 

                    SELECT COUNT(OBJECT_ID) INTO V_COUNT FROM DBA_OBJECTS WHERE OWNER = 'EDUSOFT_BASE' AND OBJECT_TYPE = 'TABLE' AND OBJECT_NAME = 'TB_ARQUIVO_ENTIDADE'; 

            EXCEPTION 

                    WHEN NO_DATA_FOUND THEN 

                            V_COUNT :=0; 

            END; 

            IF (V_COUNT = 0) 

            THEN 

                    EXECUTE IMMEDIATE 

                    'CREATE TABLE EDUSOFT_BASE.TB_ARQUIVO_ENTIDADE ( 

                    AEN_ID  NUMBER (10 , 0)  NOT NULL,

                    AEN_ARQID  NUMBER (10 , 0)  NOT NULL,

                    AEN_ENTID  NUMBER (10 , 0)  NULL,

                    AEN_ENTCLA  VARCHAR2 (255)  NULL,

                    AEN_DADOS_ENTIDADE  VARCHAR2 (4000)  NULL

                    )'; 

            END IF; 

    END;

     

    DECLARE 

    V_COUNT NUMBER (10,0); 

    BEGIN 

            BEGIN 

                    SELECT COUNT(OBJECT_ID) INTO V_COUNT FROM DBA_OBJECTS WHERE OWNER = 'EDUSOFT_BASE' AND OBJECT_TYPE = 'SEQUENCE' AND OBJECT_NAME = 'AEN_ID'; 

            EXCEPTION 

                    WHEN NO_DATA_FOUND THEN 

                            V_COUNT :=0; 

            END; 

            IF (V_COUNT = 0) 

            THEN 

                    EXECUTE IMMEDIATE 

                    'CREATE SEQUENCE EDUSOFT_BASE.AEN_ID MINVALUE 1 MAXVALUE 999999999999999999999999 INCREMENT  BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE'; 

            END IF; 

    END;

     

    DECLARE 

    V_COUNT NUMBER (10,0); 

    BEGIN 

            BEGIN 

                    SELECT COUNT(CONSTRAINT_NAME) INTO V_COUNT FROM DBA_CONSTRAINTS WHERE OWNER = 'EDUSOFT_BASE' AND TABLE_NAME = 'TB_ARQUIVO' AND CONSTRAINT_NAME = 'PK_ARQ'; 

            EXCEPTION 

                    WHEN NO_DATA_FOUND THEN 

                            V_COUNT :=0; 

            END; 

            IF (V_COUNT = 0) 

            THEN 

                    EXECUTE IMMEDIATE 

                    'ALTER TABLE EDUSOFT_BASE.TB_ARQUIVO ADD CONSTRAINT PK_ARQ PRIMARY KEY (ARQ_ID)'; 

            END IF; 

    END;

     

    DECLARE 

    V_COUNT NUMBER (10,0); 

    BEGIN 

            BEGIN 

                    SELECT COUNT(CONSTRAINT_NAME) INTO V_COUNT FROM DBA_CONSTRAINTS WHERE OWNER = 'EDUSOFT_BASE' AND TABLE_NAME = 'TB_ARQUIVO_ENTIDADE' AND CONSTRAINT_NAME = 'PK_AEN'; 

            EXCEPTION 

                    WHEN NO_DATA_FOUND THEN 

                            V_COUNT :=0; 

            END; 

            IF (V_COUNT = 0) 

            THEN 

                    EXECUTE IMMEDIATE 

                    'ALTER TABLE EDUSOFT_BASE.TB_ARQUIVO_ENTIDADE ADD CONSTRAINT PK_AEN PRIMARY KEY (AEN_ID)'; 

            END IF; 

    END;

     

    DECLARE 

    V_COUNT NUMBER (10,0); 

    BEGIN 

            BEGIN 

                    SELECT COUNT(CONSTRAINT_NAME) INTO V_COUNT FROM DBA_CONSTRAINTS WHERE OWNER = 'EDUSOFT_BASE' AND TABLE_NAME = 'TB_ARQUIVO_ENTIDADE' AND CONSTRAINT_NAME = 'FK_ARQ_AEN'; 

            EXCEPTION 

                    WHEN NO_DATA_FOUND THEN 

                            V_COUNT :=0; 

            END; 

            IF (V_COUNT = 0) 

            THEN 

                    EXECUTE IMMEDIATE 

                    'ALTER TABLE EDUSOFT_BASE.TB_ARQUIVO_ENTIDADE ADD CONSTRAINT FK_ARQ_AEN FOREIGN KEY (AEN_ARQID) REFERENCES EDUSOFT_BASE.TB_ARQUIVO (ARQ_ID)'; 

            END IF; 

    END;

     

    DECLARE 

    V_COUNT NUMBER (10,0); 

    BEGIN 

            BEGIN 

                    SELECT COUNT(INDEX_NAME) INTO V_COUNT FROM DBA_INDEXES WHERE OWNER = 'EDUSOFT_BASE' AND TABLE_NAME = 'TB_ARQUIVO_ENTIDADE' AND INDEX_NAME = 'IDX_FK_ARQ_AEN'; 

            EXCEPTION 

                    WHEN NO_DATA_FOUND THEN 

                            V_COUNT :=0; 

            END; 

            IF (V_COUNT = 0) 

            THEN 

                    EXECUTE IMMEDIATE 

                    'CREATE INDEX IDX_FK_ARQ_AEN ON EDUSOFT_BASE.TB_ARQUIVO_ENTIDADE (AEN_ARQID)'; 

            END IF; 

    END;

     

    DECLARE 

    V_COUNT NUMBER (10,0); 

    BEGIN 

            BEGIN 

                    SELECT COUNT(OBJECT_ID) INTO V_COUNT FROM DBA_OBJECTS WHERE OWNER = 'EDUSOFT_BASE' AND OBJECT_TYPE = 'TABLE' AND OBJECT_NAME = 'TB_DOCUMENTO_AUTENTICACAO'; 

            EXCEPTION 

                    WHEN NO_DATA_FOUND THEN 

                            V_COUNT :=0; 

            END; 

            IF (V_COUNT = 0) 

            THEN 

                    EXECUTE IMMEDIATE 

                    'CREATE TABLE EDUSOFT_BASE.TB_DOCUMENTO_AUTENTICACAO ( 

                    DAU_ID  NUMBER (10 , 0)  NOT NULL,

                    DAU_CODTEL  VARCHAR2 (30)  NOT NULL,

                    DAU_VALIDADE  NUMBER (10 , 0)  NULL,

                    DAU_DESCRI  VARCHAR2 (255)  NOT NULL,

                    DAU_TIPODOC  VARCHAR2 (50)  NOT NULL,

                    ATIVO  NUMBER (10 , 0)  NOT NULL,

                    DATA_ULT_ALTERACAO  TIMESTAMP NOT NULL,

                    USUARIO_ULT_ALTERACAO  VARCHAR2 (255)  NOT NULL

                    )'; 

            END IF; 

    END;

     

    DECLARE 

    V_COUNT NUMBER (10,0); 

    BEGIN 

            BEGIN 

                    SELECT COUNT(OBJECT_ID) INTO V_COUNT FROM DBA_OBJECTS WHERE OWNER = 'EDUSOFT_BASE' AND OBJECT_TYPE = 'SEQUENCE' AND OBJECT_NAME = 'DAU_ID'; 

            EXCEPTION 

                    WHEN NO_DATA_FOUND THEN 

                            V_COUNT :=0; 

            END; 

            IF (V_COUNT = 0) 

            THEN 

                    EXECUTE IMMEDIATE 

                    'CREATE SEQUENCE EDUSOFT_BASE.DAU_ID MINVALUE 1 MAXVALUE 999999999999999999999999 INCREMENT  BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE'; 

            END IF; 

    END;

     

    DECLARE 

    V_COUNT NUMBER (10,0); 

    BEGIN 

            BEGIN 

                    SELECT COUNT(CONSTRAINT_NAME) INTO V_COUNT FROM DBA_CONSTRAINTS WHERE OWNER = 'EDUSOFT_BASE' AND TABLE_NAME = 'TB_DOCUMENTO_AUTENTICACAO' AND CONSTRAINT_NAME = 'PK_DAU'; 

            EXCEPTION 

                    WHEN NO_DATA_FOUND THEN 

                            V_COUNT :=0; 

            END; 

            IF (V_COUNT = 0) 

            THEN 

                    EXECUTE IMMEDIATE 

                    'ALTER TABLE EDUSOFT_BASE.TB_DOCUMENTO_AUTENTICACAO ADD CONSTRAINT PK_DAU PRIMARY KEY (DAU_ID)'; 

            END IF; 

    END;