Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Wiki 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
  • Painel de Dados Nubo
  • WikiWiki
  • Wiki
  • Banco de Dados

Banco de Dados · Changes

Page history
Create Banco de Dados authored Apr 01, 2025 by Gabriel Fogaça's avatar Gabriel Fogaça
Hide whitespace changes
Inline Side-by-side
Banco-de-Dados.md 0 → 100644
View page @ e9bc40f6
# Documentação do Banco de Dados
## Visão Geral
O banco de dados foi projetado para gerenciar assinaturas de datasets e data products, garantindo rastreabilidade de transações e faturamento. Ele segue um modelo relacional estruturado para garantir consistência e escalabilidade.\
## Diagrama
![image](uploads/fe83bceb32260725636b2a9693686411/image.png)
## Estrutura do Banco de Dados
O banco é composto pelas seguintes tabelas principais:
### **User**
Gerencia os usuários do sistema, armazenando informações pessoais, credenciais de acesso e vínculo com uma conta.
### **UserRole**
Define os papéis que um usuário pode ter dentro do sistema, como administrador ou assinante.
### **Account**
Representa uma entidade (empresa ou organização) que assina datasets e realiza transações.
### **AccountRole**
Define os diferentes tipos de papéis que uma conta pode ter dentro da plataforma.
### **Subscription**
Registra as assinaturas de datasets feitas pelas contas, incluindo informações sobre período e status.
### **Transaction**
Armazena informações sobre transações financeiras realizadas dentro do sistema, vinculadas a uma conta e a um usuário responsável.
### **TransactionDetail**
Detalha os itens dentro de uma transação, associando datasets e produtos de dados adquiridos.
### **Invoice**
Registra os valores faturados das transações, garantindo rastreabilidade contábil.
### **Dataset**
Representa um dataset disponível para assinatura, contendo metadados como origem, preço e categoria.
### **DataSource**
Define a fonte de onde os datasets são obtidos, associando-os a provedores de dados.
### **DataProvider**
Representa uma entidade que fornece datasets para a plataforma.
### **DataProduct**
Define um conjunto de datasets agrupados em um produto de dados que pode ser adquirido como uma unidade.
### **DataProductItem**
Relaciona datasets individuais a um data product, permitindo composição flexível de pacotes de dados.
## Regras de Integridade e Constraints
- Todas as chaves primárias são UUIDs para garantir unicidade.
- As relações entre tabelas são definidas por chaves estrangeiras (FK) para garantir a integridade referencial.
- O campo `is_active` é utilizado para marcar registros ativos e inativos, evitando exclusão física de dados.
- O faturamento é baseado em transações e invoices, garantindo rastreabilidade e conformidade com práticas contábeis.
## Considerações Finais
O banco de dados foi estruturado para garantir flexibilidade e escalabilidade. Alteracoes futuras podem incluir:
- Auditoria de logs para rastrear ações de usuários.
- Indexação para otimização de buscas.
- Expansão do modelo de faturamento para planos diferenciados.
\ No newline at end of file
Clone repository
  • Arquitetura
  • Banco de Dados
  • Gerência
  • Mockups
  • Processos
  • Sprints
  • Testes
  • Home