Skip to main content

Estrutura de Banco de Dados

Escolha da Unit para Criação de Tabelas

A unit utilizada para criar a tabela depende do seu escopo de uso:

  • CriaTabEsp.pas: utilizada para tabelas específicas de um módulo.

  • CriaTab.pas: utilizada para tabelas compartilhadas entre todos os módulos do sistema.

Se a tabela for utilizada apenas por um módulo, ela deve ser criada na CriaTabEsp.pas. Caso seja utilizada por mais de um módulo, deve ser criada na CriaTab.pas.


Exclusão de Campos

 ou Tabelas

AoQuando um campo ou tabela deixar de utilizarser um campo,utilizado, ele não deve ser removido da unit de criação da tabela e não deve ser executado nenhum comando SQL de exclusão (DROP).

OA campoestrutura deve permanecer naintacta estruturano dabanco tabela,de dados, mesmo sem utilização pelo sistema.


Escolha

Alteraçda Unit para Criação de Tabelas Específicas de Módulos

SempreA queunit houverutilizada umapara alteraça criação emde uma tabela criada na CriaTabEsp.pas, também é necessáriodefinida adicionarpelo aseu chamadaescopo correspondentede na unit uMatrizAlt do módulo.

Exemplos:uso:

  • CriaTabEsp.pas:

    Compras:Utilizada uMatrizAltCC

    para tabelas específicas de um único módulo.
  • CriaTab.pas:

    Vendas:Utilizada uMatrizAltVD

    para
  • tabelas
  • compartilhadas

    Financeiro:entre uMatrizAltFN

    dois ou mais módulos do sistema.

Atualização e Versionamento de Tabelas

Cenário A: Tabelas de Módulo Único (CriaTabEsp.pas)

EssaAo chamadacriar garanteou quemodificar uma tabela de módulo único, é obrigatório registrar a alteração sejana aplicadaunit duranteuMatrizAlt__.pas acorrespondente ao módulo modificado, informando o método de atualização e o número da baseversão.

  • Exemplo Prático (Módulo de dados.

    Compras

    Além- disso,CC): tambémSe éuma necessárionova seguircoluna osfor procedimentosadicionada descritosa nauma seçãotabela Criaçãoexclusiva de Compras, você deve acessar a unit uMatrizAltCC.pas e Alteraçãoincluir dea Campos.

    chamada:

Alteração
AddMatrizAlt('PLANFISC', de'5.194');

Cenário B: Tabelas Compartilhadas entre Módulos

(CriaTab.pas)

ParaQuando tabelasuma criadastabela nacompartilhada unitfor CriaTab.pas,criada quandoou houvermodificada, alterações

o

desenvolvedor

 

, é necessáriodeve identificar quaistodos os módulos serão afetados e realizarreplicar a chamada nasde suasatualização respectivasem todas as units uMatrizAlt.uMatrizAlt__.pas desses respectivos módulos.

Para

Como identificar os módulos impactados,afetados:
deve-se
    verificar
  1. Acesse a unit DDL.Classes.pas.
  2. Busque pelo nome da tabela para encontrar onde ela está registrada. Você encontrará uma estrutura semelhante a esta:
AddTabela(AMatriz, 'PLANFISC', 'Plano Fiscal');
  1. Verifique, dentro das procedures CriaMatrizSistemas__, quais delas fazem uso dessa tabela.
  2. Para cada módulo identificado, adicione a chamada AddMatrizAlt com o número da versão na sua respectiva unit de alteração.
  • DDL.ClassesExemplo Prático: Você adicionou um novo campo na tabela PLANFISC (alterando a CriaTab.pas). NelaAo estãobuscar por PLANFISC na unit DDL.Classes.pas, você identificou que ela é utilizada pelas seguintes procedures:
    • CriaMatrizSistemasCC (Módulo CC)
    • CriaMatrizSistemasEX (Módulo EX)
    • CriaMatrizSistemasVD (Módulo VD)

    Portanto, você deverá abrir as classunits proceduresuMatrizAltCC.pas, responsaveisuMatrizAltEX.pas pelae criacaouMatrizAltVD.pas dase tabelasadicionar a chamada de atualização em cada modulo.uma delas:

    Exemplo:

  • CriaMatrizSistemasCC,
CriaMatrizSistemasCE,
AddMatrizAlt('PLANFISC', CriaMatrizSistemasLF 

'5.194');

Atenção: 

cada

pelamódulo criaçãpossui um número de versão ediferente. atualizaçãCaso tenha dúvidas, consulte o guia de como identificar o número da estrutura das tabelas. As alterações realizadas na tabela devem possuir os ajustes correspondentes nessa unit, garantindo que sejam aplicadas corretamente nas bases já existentes.


Criação e Alteraçãversão de Campos

cada

Aomódulo criar uma nova tabela ou adicionar campos em uma tabela existente, é necessário verificar a unit DDL.Classes.

Nela estão as classes responsáveis pela criação e atualização da estrutura das tabelas. As alterações realizadas(disponível na tabelaoutra devem possuir os ajustes correspondentes nessa unit para que sejam aplicadas corretamente nas bases já existentes.wiki).