Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Vincula
  • Wiki
  • Wiki
  • Banco de Dados

Banco de Dados · Changes

Page history
Create Banco de Dados authored Aug 23, 2025 by Flávia Carvalho Tavaniello's avatar Flávia Carvalho Tavaniello
Show whitespace changes
Inline Side-by-side
Banco-de-Dados.md 0 → 100644
View page @ 7af0f2c6
O banco de dados escolhido foi o PostgreSQL que roda dentro de um container Docker, o que garante que todos os desenvolvedores possuam o mesmo ambiente. Foi escolhido o banco de dados relacional devido a integridade e coesão que os dados devem apresentar entre si para que sejam utilizados e manipulados ao longo da aplicação. Além disso, a nível de código, foi utilizada a biblioteca SQLAlchemy, responsável por facilitar o mapeamento das entidades como classes de Python.
Em relação a modelagem, existem oito tabelas que se relacionam no projeto conforme a imagem abaixo.
![BANCO_VINCULA__1_](uploads/9a6726e421cdfec119af3238b2f304b0/BANCO_VINCULA__1_.jpeg)
- **User:** armazena as informações sobre os usuários da aplicação. Possui campo de _id _(chave primária), _name_, _password_ e _role_(indica o cargo do usuário no sistema e vai ser usado para níveis de permissão na aplicação)
- **Case:** armazena as informações de cada caso a ser investigado. Possui campo de _id _(chave primária), _case_number _(utilizado pelo MP para identificar um caso), _name_, _description_, _status_, _creation_date_, _update_date_ e _owner_ (indica quem é o dono do caso, pois é uma chave estrangeira para a tabela de User).
- **Archive:** armazena as informações dos arquivos submetidos pelo usuário para poderem compor o caso. Possui campo de _id_ (chave primária), _url_ (vai indicar o arquivo em si), _creation_date_ e _case_id_ (relaciona o arquivo com o caso do qual faz parte)
- **Suspect:** são as pessoas suspeitas de um caso. Possui _id_ (chave primária), _name_, _cpf_cnpj_, _phone_number_ e _case_id_ (para poder relacionar o registro com o caso do qual faz parte)
- **Analyzed_person:** é uma tabela auxiliar para armazenar os dados de pessoas ou empresas citadas ao longo dos arquivos de fontes externas, como o simba, sittel e o rif. Possui atributo de _id_ (chave primária), _cpf_cnpj_, _name_, _phone_, _address_.
- **Data_simba_detailed_extract:** armazena as informações provenientes do SIMBA. Possui atributo de _id_ (chave primária), _fk_analysed_person_ (chave estrangeira para tabela de analyzed_person), _name_ e _fk_archive_id_ (chave estrangeira para a tabela de Archive).
- **Data_sittel:** armazena as informações provenientes do SITTEL. Possui atributo de _id_ (chave primária), _originating_number_ (número que fez a ligação), _destination_number_ (número que recebeu a ligação), _fk_subscriber_origin_ (relaciona na tabela de analyzed_person quem é o dono da linha que fez a ligação), _fk_assigned_origin_ (relaciona na tabela de analyzed_person quem foi a pessoa que de fato fez a ligação), _fk_subscriber_destination_ (relaciona na tabela de analyzed_person quem é o dono da linha que recebeu a ligação), _fk_assigned_destination_ (relaciona na tabela de analyzed_person quem é que de fato recebeu a ligação), _fk_archive_id_ (chave estrangeira para a tabela de Archive).
- **Data_riffs:** armazena as informações provenientes do RIF. Possui atributo de _id_ (chave primária), _indexer_, _rif_number_, _name_involved_, _fk_analysed_person_ (chave estrangeira para tabela de analyzed_person), _type_envolved_, _fk_archive_id_ (chave estrangeira para a tabela de Archive).
Clone repository
  • Arquitetura
  • Banco de Dados
  • Convenções e Diretrizes
  • Designs e Mockups
  • Tecnologias
  • Home