# Script Banco de Dados

# Considerações iniciais


  • Todas os objetos (tabelas, procedures, functions...) criados devem possuir o prefixo da sua organização, no modelo ORG_[NRORG]_TABELA.
    • Para consultar seu código de organização, abra o Customer Portal (opens new window). Estará localizado no canto esquerdo do cabeçalho da página, ao lado do nome da sua organização com o formato (ORG - [NRORG]) ou no cabeçalho do menu.
    • Para um NRORG 999 e um nome de tabela PRODUTO, o prefixo seria ORG_999_PRODUTO.
  • Só será possível alterar a estrutura de objetos criados para sua organização. Os objetos já existentes desenvolvidos pela Teknisa não poderão ser modificados.
  • Será possível realizar JOIN com tabelas Teknisa normalmente e consultar seus dados.
  • Todos os comandos devem ser encerrados com /, em uma linha separada.
  • Utilize o campo NRORG, referente ao código da sua organização, se for necessário para sua regra de negócio.
  • Comandos utilizando DROP não serão permitidos.

# Criando o arquivo


  • Crie um arquivo chamado dbScript.sql na raiz do seu projeto.
  • Adicione todo o conteúdo necessário da atualização da estrutura do Banco de Dados.
  • Esse arquivo será aplicado durante o processo de Deploy, que será citado posteriormente.
  • Lembre-se de criar seu script SQL antes de realizar o Build do seu projeto (próxima seção desse guia). Ele só será aplicado se estiver contido dentro do pacote de atualização.
  • No exemplo abaixo, XXXX se trata do código da sua organização:
CREATE TABLE ORG_XXXX_PRODUTO (
  ID             NUMBER NOT NULL,
  NAME           VARCHAR2(500),  
  IDATIVO        VARCHAR2(1) DEFAULT 'S' NOT NULL,
  DTINCLUSAO     DATE DEFAULT SYSDATE,
  DTULTATU       DATE DEFAULT SYSDATE,
  NRORG          NUMBER,
  NRORGINCLUSAO  NUMBER,
  NRORGULTATU    NUMBER,
  CDOPERINCLUSAO VARCHAR2(12),
  CDOPERULTATU   VARCHAR2(12),
  CONSTRAINT PK_ORG_XXXX_PRODUTO PRIMARY KEY(ID),
  CONSTRAINT CKC_IDATIVO_ORG_XXXX_PRODUTO CHECK (IDATIVO IN ('S','N'))
)
/
CREATE SEQUENCE ORG_XXXX_PRODUTO_SEQ START WITH 1 MINVALUE 1 INCREMENT BY 1
/
ALTER TABLE ORG_XXXX_PRODUTO ADD EXAMPLE_COLUMN VARCHAR2(500)
/

# Recomendações


  • Utilize sempre um campo numérico ID como PK de sua tabela.
    • Utilize SEQUENCE para gerar seu ID.
  • Adicione um campo IDATIVO para controlar se o registro está ativo ou não, com valor default S.
  • Utilize sempre campos para auditoria:
    • Inclusão:
      • DTINCLUSAO: Data de inclusão do registro. Default: Data atual.
      • NRORGINCLUSAO: Número da organização de inclusão. Default: NRORG corrente.
      • CDOPERINCLUSAO: Código do Operador que incluiu o registro.
    • Atualização:
      • DTULTATU: Data de alteração do registro. Default: Data atual.
      • NRORGULTATU: Número da organização de alteração. Default: NRORG corrente.
      • CDOPERULTATU: Código do Operador que alterou o registro.