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

Last edited by Gustavo Sanford Bortolon Jun 16, 2025
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Banco de Dados

Documentação do Negócio

Documentação Técnica

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

Diagrama do Banco de Dados

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.
Clone repository
  • Arquitetura
  • Banco de Dados
  • Gerência
  • Mockups
  • Processos
  • Sprints
  • Testes
  • Home