[SQL] BANCO DE DADOS DE INSTITUIÇAO FINANCEIRA
Este projeto se trata da criação de um banco de dados de uma instituição financeira fictícia, com um escopo simplificado que, mais adiante, servirá de material para a criação de uma análise a respeito dos dados (fictícios) que alimentam nosso banco.
O primeiro passo, antes mesmo de tocar em códigos, para a criação de um BD é a visualização relacional, ou seja, como as entidades (tabelas) se relacionam entre si. A partir dela, saberemos exatamente qual caminho nosso futuro código tomará.
A TB_PESSOA é a tabela central do esquema, uma vez que todas se ligam a ela, direta ou indiretamente. No nosso caso, a tabela tem somente e-mail e telefone, pois essas são características comuns às pessoas física e jurídicas.
A TB_PESSOA_FISICA tem as informações que, junto com a TB_PESSOA, formam uma pessoa física (nome, cpf e data de nascimento);
Ao mesmo tempo, a TB_PESSOA_JURIDICA, junto com a TB_PESSOA, forma o que chamamos de pessoa jurídica, que possui cnpj, entre outros.
As relações entre essas tabelas é indicada pelas chaves estrangeiras, que no caso acima é a ID_PESSOA.
Ainda temos a TB_ENDERECO, que nos dá informações relevantes da pessoa, sendo ela física ou jurídica.
A tabela que relaciona a pessoa a tabelas e características que dizem respeito à instituição financeira é a TB_CADASTRO. Uma pessoa pode ter um ou mais cadastros (por exemplo, uma como pessoa física e outra como jurídica), configurando uma relação 1-N.
A TB_CONTA é ligada diretamente a TB_CADASTRO, pois:
Um cadastro representa o vínculo de uma pessoa com a instituição financeira;
A partir desse cadastro, a pessoa pode abrir contas bancárias;
Logo, um cadastro pode estar ligado a várias contas;
Mas cada conta pertence a apenas um cadastro.
Ligada a TB_CONTA, temos TB_CARTAO, TB_TRANSACAO, TB_EMPRESTIMO e TB_INVESITMENTO.
TB_CARTAO: Armazena dados dos cartões de crédito ou débito emitidos para uma conta bancária.
Cada cartão está ligado a uma única conta (ID_CONTA);
Uma conta pode ter vários cartões.
TB_TRANSACAO: Registra todas as movimentações financeiras (Pix, compras, saques, transferências, etc.).
Toda transação está ligada a uma conta (ID_CONTA)
TB_EMPRESTIMO: Armazena os empréstimos contratados pelo cliente, como valor emprestado, juros, e status de pagamento.
Cada empréstimo está ligado a uma conta (ID_CONTA), pois o valor entra ou sai dela.
TB_INVESTIMENTO: Registra os investimentos financeiros feitos a partir da conta (como CDB, Tesouro Direto, etc.).
Cada investimento pertence a uma conta específica (ID_CONTA), de onde o dinheiro saiu e para onde voltará.
Agora podemos criar as tabelas utilizando SQL no Oracle Developer. Link: [tables.sql].
Então temos:
Depois de ponta as tabelas, começaremos a alimentar o BD com inserts fictícios. todos os inserts estarão organizados no github. Link [pasta inserts].
Após alimentar o banco de dados, partiríamos para a etapa de conectar o banco de dados a alguma ferramenta de visualização de dados. Temos diversas opções, como o Power BI, bibliotecas python, entre outros, mas nesse caso vamos utilizar o Looker Studio, que permite criar dashboards hospedados na internet para fácil compartilhamento.
Para isso, poderíamos conectar o Oracle ao Looker Studio via Google Cloud, mas como não é a finalidade deste projeto exercitar esse tipo de conexão, optaremos por algo mais simples: exportar do SQL Developer para CSV e importar no Google sheets. Como nosso banco de dados não está sendo atualizado constantemente, não precisa de uma direct query, então essa opção nos atende.
Comentários
Postar um comentário