INÍCIO SOBRE EXPERTISE PORTFÓLIO BLOG CONTATO
Idioma
Post Teste

Modelagem e Implementação de um Banco de Dados para Sistema Jurídico

01/06/2025

img_inicio

Este post detalha a arquitetura e o desenvolvimento de um banco de dados relacional projetado para o ecossistema jurídico, criado em parceria com Adriano Silva como projeto final da disciplina de Banco de Dados I na UDESC. O trabalho envolveu todas as etapas do ciclo de vida dos dados: desde a modelagem conceitual e regras de negócio até a implementação física e construção de uma API.

O Problema e o Escopo

A área do Direito lida diariamente com um volume massivo de informações fragmentadas. A proposta deste projeto foi estruturar um repositório centralizado que organize processos, trâmites, documentos e os diversos atores envolvidos, otimizando o acesso às informações para profissionais da área.

Para manter o domínio de informação organizado e escalável, o modelo foi dividido em quatro núcleos arquiteturais:

  • Núcleo do Processo: Composto pelas entidades Processo e Tramite (com especializações em Audiencia e Decisao), representando o histórico cronológico dos eventos.
  • Atores e Participantes: Utilizando o conceito de generalização na entidade base Pessoa, com ramificações estruturadas para Advogado e Agente Judiciario (especializado em Juiz e Servidor Publico).
  • Estrutura Organizacional: Mapeamento da hierarquia e localização jurisdicional através das entidades Comarca e Vara.
  • Fundamentação e Conteúdo: As entidades Documento e Lei, que representam os artefatos e a base legal dos eventos processuais.

Integridade e Regras de Negócio

A confiabilidade de um sistema jurídico exige restrições rigorosas no banco de dados. Algumas das principais regras de negócio mapeadas no Dicionário de Dados incluem:

  • Lotação e Hierarquia: Um Juiz deve estar lotado em uma única Vara (1:N), e uma Vara pertence a uma única Comarca (1:N).
  • Fluxo Processual: Todo Processo deve tramitar sob a responsabilidade de um único Juiz e possuir pelo menos um Tramite associado para existir no sistema.
  • Relacionamentos Complexos: A defesa de uma parte em um processo exige um relacionamento ternário (N:N:N) conectando Advogado, Pessoa e Processo.

Abaixo está a representação visual do Esquema Entidade-Relacionamento Estendido (EER):

Esquema Conceitual EER

Construindo a API Relacional em Java

A segunda fase do projeto consistiu em abstrair a complexidade do banco através de uma aplicação. A API foi desenvolvida em Java adotando o padrão arquitetural MVC (Model-View-Controller), garantindo a separação de responsabilidades entre a lógica de acesso aos dados, as regras da aplicação e a interface com o usuário.

A aplicação consome um subconjunto do banco de dados (no mínimo 5 tabelas relacionadas) e fornece funcionalidades completas de manipulação:

  • Inserção e remoção de registros em todas as tabelas mapeadas.
  • Listagens simples e consultas analíticas complexas envolvendo JOINs, subconsultas e funções de agregação.

Interface da API

Considerações finais

Em sumo, esse trabalho de conclusão final da disciplina de BAN1 foi crucial para relembrar e sintetizar todo conteúdo teórico e prático visto no decorrer do semestre. O repositório do projeto está disponível no GitHub, contendo todo o código fonte e os artefatos do banco de dados.

Disciplina: Banco de Dados I

Instituição: Universidade do Estado de Santa Catarina (UDESC) - Centro de Ciências Tecnológicas (CCT)

Autores: Adriano Silva, Herton Silveira

Professora: Dra. Rebeca Schroeder Freitas

Ano: 2025

PostgreSQL Java Modelagem Relacional MVC UDESC API