N: left" align=left>Daremos continuidade ao curso desenvolvendo o cadastro de contas a receber como mencionado anteriormente, para isso precisamos alterar o banco de dados incluindo mais uma tabela. Alterando o banco de dados de exemplo Assim como fizemos nos artigos anteriores criaremos mais uma tabela no banco de dados utilizando o aplicativo IBExpert. Após conectar ao banco de dados, clique com o botão direito sobre o item Tables e escolha a opção New Table. No alto da janela, aparecerá o nome da tabela sugerido, troque-o para “Contas_Receber”. Em seguida para criar um campo, digite o nome em Field Name, selecione seu tipo em Field Type e marque o item Not Null (caso seja necessário). Caso prefira, execute o script da Listagem 1. Listagem 1. Criação da tabela e índices da Contas_Receber CREATE TABLE CONTAS_RECEBER ( CODIGO VARCHAR(20) NOT NULL, CNPJ VARCHAR(18) NOT NULL, DESCRICAO VARCHAR(60) NOT NULL, VLR_REAL NUMERIC(15,2), VLR_PAGO NUMERIC(15,2), JUROS NUMERIC(15,2), MORA NUMERIC(15,2), DT_CADASTRO TIMESTAMP, DT_VECTO TIMESTAMP, DT_PAGTO TIMESTAMP, BANCO INTEGER, AGENCIA VARCHAR(10), CONTA VARCHAR(10), STATUS VARCHAR(1), DT_ALTERACAO TIMESTAMP ); ALTER TABLE CONTAS_RECEBER ADD CONSTRAINT PK_CONTAS_RECEBER PRIMARY KEY (CODIGO, CNPJ); ALTER TABLE CONTAS_RECEBER ADD CONSTRAINT FK_CONTAS_RECEBER_BANCO FOREIGN KEY (BANCO, AGENCIA, CONTA) REFERENCES CONTAS (BANCO, AGENCIA, CONTA) ON UPDATE CASCADE; ALTER TABLE CONTAS_RECEBER ADD CONSTRAINT FK_CONTAS_RECEBER_CNPJ FOREIGN KEY (CNPJ) REFERENCES CLIENTES (CNPJ) ON UPDATE CASCADE; Note que estamos criando uma tabela exatamente igual a criada no artigo anterior (Contas_Pagar). Poderíamos ter criado uma única tabela onde diferenciaríamos cada registro usando uma flag para indicar se o registro é uma entrada ou saída, ou seja, um campo que recebesse tal indicação. Resolvi criar tabelas diferentes, assim temos tranqüilidade no futuro, caso ocorram mudanças de conceito em nossa aplicação que façam com que ambos os lançamentos se diferenciem demais um do outro. Também estamos prevendo a criação das chaves primárias e chaves estrangeiras, necessárias para garantir a integridade do sistema. Precisamos apenas entender que cada lançamento em contas a receber é referente a cada fatura disparada contra um cliente, ou seja, é entrada de dinheiro em nosso fluxo de caixa. Isso significa que nossas chaves estrangeiras precisam ser vinculadas a tabela CLIENTES. No código a seguir (extraído da Listagem 1), criamos uma chave estrangeira incluindo BANCO, AGENCIA e CONTA em que a fatura foi paga. Isso é importante para controlarmos o saldo bancário da conta: ALTER TABLE CONTAS_RECEBER ADD CONSTRAINT FK_CONTAS_RECEBER_BANCO FOREIGN KEY ...
Quer ler esse conteúdo completo?
Tenha acesso completo