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
Update Banco de Dados authored Jun 14, 2025 by Luana Farias da Silva's avatar Luana Farias da Silva
Show whitespace changes
Inline Side-by-side
Banco-de-Dados.md
View page @ b363b3fe
...@@ -19,7 +19,7 @@ O banco de dados foi projetado para gerenciar assinaturas de datasets e data pro ...@@ -19,7 +19,7 @@ O banco de dados foi projetado para gerenciar assinaturas de datasets e data pro
![Diagrama do Banco de Dados](uploads/7b610f6c5a62374b1c8ed278c037a0af/bancodedados.jpeg) ![Diagrama do Banco de Dados](uploads/7b610f6c5a62374b1c8ed278c037a0af/bancodedados.jpeg)
---
## Infraestrutura ## Infraestrutura
...@@ -28,7 +28,6 @@ O banco de dados foi projetado para gerenciar assinaturas de datasets e data pro ...@@ -28,7 +28,6 @@ O banco de dados foi projetado para gerenciar assinaturas de datasets e data pro
- A estrutura foi pensada para alta disponibilidade, escalabilidade e segurança de dados. - A estrutura foi pensada para alta disponibilidade, escalabilidade e segurança de dados.
---
## Estrutura do Banco de Dados ## Estrutura do Banco de Dados
...@@ -44,8 +43,9 @@ O banco de dados foi projetado para gerenciar assinaturas de datasets e data pro ...@@ -44,8 +43,9 @@ O banco de dados foi projetado para gerenciar assinaturas de datasets e data pro
### ORM Utilizado: SQLAlchemy ### ORM Utilizado: SQLAlchemy
Neste projeto, utilizamos o **SQLAlchemy** como ORM (*Object Relational Mapper*) para facilitar a interação entre a aplicação e o banco de dados relacional, permitindo manipular dados do banco como objetos Python, reduzindo o uso de SQL cru. Neste projeto, utilizamos o **SQLAlchemy** como ORM (*Object Relational Mapper*) para facilitar a interação entre a aplicação e o banco de dados relacional, permitindo manipular dados do banco como objetos Python, reduzindo o uso de SQL cru.
---
### 🔧 Estruturas das tabelas #### Estruturas das tabelas
O banco é composto pelas seguintes tabelas principais: O banco é composto pelas seguintes tabelas principais:
### **User** ### **User**
...@@ -71,11 +71,15 @@ Armazena as informações dos usuários do sistema. Cada usuário está associad ...@@ -71,11 +71,15 @@ Armazena as informações dos usuários do sistema. Cada usuário está associad
- `account`: relacionamento com a tabela `account`, representando a conta do usuário. - `account`: relacionamento com a tabela `account`, representando a conta do usuário.
- `role_id`: relacionamento com a tabela `user_role`, indicando o tipo de permissão do usuário. - `role_id`: relacionamento com a tabela `user_role`, indicando o tipo de permissão do usuário.
---
### **UserDetails** ### **UserDetails**
### Descrição #### Descrição
Contém informações adicionais de perfil associadas a um usuário. Essa tabela estende os dados da tabela `user`, armazenando informações complementares como a imagem de perfil. Contém informações adicionais de perfil associadas a um usuário. Essa tabela estende os dados da tabela `user`, armazenando informações complementares como a imagem de perfil.
### Estrutura da Tabela #### Estrutura da Tabela
| Coluna | Tipo | Chave | Restrições | Descrição | | Coluna | Tipo | Chave | Restrições | Descrição |
|----------------|------------|---------------|-----------------------------------|----------------------------------------------------------| |----------------|------------|---------------|-----------------------------------|----------------------------------------------------------|
...@@ -83,7 +87,7 @@ Contém informações adicionais de perfil associadas a um usuário. Essa tabela ...@@ -83,7 +87,7 @@ Contém informações adicionais de perfil associadas a um usuário. Essa tabela
| `user_id` | `String` | Estrangeira | `ForeignKey(user.id)` | Referência ao usuário ao qual os detalhes pertencem. | | `user_id` | `String` | Estrangeira | `ForeignKey(user.id)` | Referência ao usuário ao qual os detalhes pertencem. |
| `profile_pic` | `String` | — | `NOT NULL` | URL ou caminho da imagem de perfil do usuário. | | `profile_pic` | `String` | — | `NOT NULL` | URL ou caminho da imagem de perfil do usuário. |
### Relacionamentos #### Relacionamentos
#### Foreign Keys #### Foreign Keys
- `user_id`: relacionamento com a tabela `user`, definindo a quem pertencem os dados complementares. - `user_id`: relacionamento com a tabela `user`, definindo a quem pertencem os dados complementares.
...@@ -92,22 +96,22 @@ Contém informações adicionais de perfil associadas a um usuário. Essa tabela ...@@ -92,22 +96,22 @@ Contém informações adicionais de perfil associadas a um usuário. Essa tabela
### **UserRole** ### **UserRole**
### Descrição #### Descrição
Define os diferentes papéis (*roles*) que um usuário pode assumir dentro do sistema. Essa tabela é usada para controle de permissões e escopo de funcionalidades. Define os diferentes papéis (*roles*) que um usuário pode assumir dentro do sistema. Essa tabela é usada para controle de permissões e escopo de funcionalidades.
### Estrutura da Tabela #### Estrutura da Tabela
| Coluna | Tipo | Chave | Restrições | Descrição | | Coluna | Tipo | Chave | Restrições | Descrição |
|--------------|-----------|-----------|---------------------|--------------------------------------------| |--------------|-----------|-----------|---------------------|--------------------------------------------|
| `id` | `Integer` | Primária | `INDEX` | Identificador único do papel. | | `id` | `Integer` | Primária | `INDEX` | Identificador único do papel. |
| `role_name` | `String` | — | `NOT NULL` | Nome do papel atribuído ao usuário. | | `role_name` | `String` | — | `NOT NULL` | Nome do papel atribuído ao usuário. |
### Valores Padrão (ENUM) #### Valores Padrão (ENUM)
- `ROLE_NORMAL`: Representa o papel de um usuário comum. - `ROLE_NORMAL`: Representa o papel de um usuário comum.
- `ROLE_ADMIN`: Representa o papel de um usuário com permissões administrativas. - `ROLE_ADMIN`: Representa o papel de um usuário com permissões administrativas.
### Relacionamentos #### Relacionamentos
- Essa tabela é referenciada pela tabela `user`, utilizando o atributo `user.role_id` para associar cada usuário ao seu respectivo papel. - Essa tabela é referenciada pela tabela `user`, utilizando o atributo `user.role_id` para associar cada usuário ao seu respectivo papel.
...@@ -116,10 +120,10 @@ Define os diferentes papéis (*roles*) que um usuário pode assumir dentro do si ...@@ -116,10 +120,10 @@ Define os diferentes papéis (*roles*) que um usuário pode assumir dentro do si
### **Account** ### **Account**
### Descrição #### Descrição
Armazena os dados das contas principais do sistema, que podem representar uma empresa, organização ou grupo ao qual os usuários estão vinculados. Cada conta possui um papel definido na tabela `account_role` e pode possuir múltiplas transações e assinaturas. Armazena os dados das contas principais do sistema, que podem representar uma empresa, organização ou grupo ao qual os usuários estão vinculados. Cada conta possui um papel definido na tabela `account_role` e pode possuir múltiplas transações e assinaturas.
### Estrutura da Tabela #### Estrutura da Tabela
| Coluna | Tipo | Chave | Restrições | Descrição | | Coluna | Tipo | Chave | Restrições | Descrição |
|---------------|-------------|------------|--------------------------------------------|-----------------------------------------------------------| |---------------|-------------|------------|--------------------------------------------|-----------------------------------------------------------|
...@@ -130,7 +134,7 @@ Armazena os dados das contas principais do sistema, que podem representar uma em ...@@ -130,7 +134,7 @@ Armazena os dados das contas principais do sistema, que podem representar uma em
| `created_at` | `TIMESTAMP` | — | `NOT NULL` | Data de criação do registro da conta. | | `created_at` | `TIMESTAMP` | — | `NOT NULL` | Data de criação do registro da conta. |
| `updated_at` | `TIMESTAMP` | — | `NOT NULL` | Data da última atualização do registro. | | `updated_at` | `TIMESTAMP` | — | `NOT NULL` | Data da última atualização do registro. |
### Relacionamentos #### Relacionamentos
#### Foreign Keys #### Foreign Keys
- `role_id`: relacionamento com a tabela `account_role`, indicando o tipo da conta. - `role_id`: relacionamento com a tabela `account_role`, indicando o tipo da conta.
...@@ -143,22 +147,22 @@ Armazena os dados das contas principais do sistema, que podem representar uma em ...@@ -143,22 +147,22 @@ Armazena os dados das contas principais do sistema, que podem representar uma em
### **AccountRole** ### **AccountRole**
### Descrição #### Descrição
Define os diferentes papéis que uma conta pode ter no sistema. Esses papéis são utilizados para controlar permissões, funcionalidades disponíveis e o nível de acesso de cada conta (ex: contas comuns ou administrativas). Define os diferentes papéis que uma conta pode ter no sistema. Esses papéis são utilizados para controlar permissões, funcionalidades disponíveis e o nível de acesso de cada conta (ex: contas comuns ou administrativas).
### Estrutura da Tabela #### Estrutura da Tabela
| Coluna | Tipo | Chave | Restrições | Descrição | | Coluna | Tipo | Chave | Restrições | Descrição |
|--------------|-----------|-----------|---------------------|--------------------------------------------------| |--------------|-----------|-----------|---------------------|--------------------------------------------------|
| `id` | `Integer` | Primária | `INDEX` | Identificador único do papel de conta. | | `id` | `Integer` | Primária | `INDEX` | Identificador único do papel de conta. |
| `role_name` | `String` | — | `NOT NULL` | Nome descritivo do papel atribuído à conta. | | `role_name` | `String` | — | `NOT NULL` | Nome descritivo do papel atribuído à conta. |
### Valores Padrão (Constantes Definidas no Código) #### Valores Padrão (Constantes Definidas no Código)
- `ROLE_NORMAL`: Representa uma conta comum, com permissões básicas. - `ROLE_NORMAL`: Representa uma conta comum, com permissões básicas.
- `ROLE_ADMIN`: Representa uma conta com permissões administrativas ampliadas. - `ROLE_ADMIN`: Representa uma conta com permissões administrativas ampliadas.
### Relacionamentos #### Relacionamentos
- Essa tabela é referenciada por `account.role_id` para definir o papel da conta no sistema. - Essa tabela é referenciada por `account.role_id` para definir o papel da conta no sistema.
...@@ -167,10 +171,10 @@ Define os diferentes papéis que uma conta pode ter no sistema. Esses papéis s ...@@ -167,10 +171,10 @@ Define os diferentes papéis que uma conta pode ter no sistema. Esses papéis s
### **Subscription** ### **Subscription**
### Descrição #### Descrição
Registra as assinaturas de produtos de dados feitas por contas do sistema. Cada assinatura está vinculada a uma conta e a um produto específico, com informações de data de início, término e status de atividade. Registra as assinaturas de produtos de dados feitas por contas do sistema. Cada assinatura está vinculada a uma conta e a um produto específico, com informações de data de início, término e status de atividade.
### Estrutura da Tabela #### Estrutura da Tabela
| Coluna | Tipo | Chave | Restrições | Descrição | | Coluna | Tipo | Chave | Restrições | Descrição |
|------------------|-------------|------------|---------------------------------------------------|----------------------------------------------------------------| |------------------|-------------|------------|---------------------------------------------------|----------------------------------------------------------------|
...@@ -183,7 +187,7 @@ Registra as assinaturas de produtos de dados feitas por contas do sistema. Cada ...@@ -183,7 +187,7 @@ Registra as assinaturas de produtos de dados feitas por contas do sistema. Cada
| `created_at` | `DateTime` | — | `DEFAULT func.now()`, `NOT NULL` | Timestamp da criação da assinatura. | | `created_at` | `DateTime` | — | `DEFAULT func.now()`, `NOT NULL` | Timestamp da criação da assinatura. |
| `updated_at` | `DateTime` | — | `DEFAULT func.now()`, atualizado com `onupdate` | Timestamp da última modificação. | | `updated_at` | `DateTime` | — | `DEFAULT func.now()`, atualizado com `onupdate` | Timestamp da última modificação. |
### Relacionamentos #### Relacionamentos
#### Foreign Keys #### Foreign Keys
- `account_id`: relacionamento com "account", utilizando o atributo `account.id` para associar uma subscription a uma conta. - `account_id`: relacionamento com "account", utilizando o atributo `account.id` para associar uma subscription a uma conta.
...@@ -196,10 +200,10 @@ Registra as assinaturas de produtos de dados feitas por contas do sistema. Cada ...@@ -196,10 +200,10 @@ Registra as assinaturas de produtos de dados feitas por contas do sistema. Cada
### **Transaction** ### **Transaction**
### Descrição #### Descrição
Armazena os detalhes de cada transação realizada por uma conta, vinculando produtos de dados adquiridos ou acessados e, opcionalmente, a assinatura usada no processo. Essa tabela detalha o que foi efetivamente movimentado em uma transação. Armazena os detalhes de cada transação realizada por uma conta, vinculando produtos de dados adquiridos ou acessados e, opcionalmente, a assinatura usada no processo. Essa tabela detalha o que foi efetivamente movimentado em uma transação.
### Estrutura da Tabela #### Estrutura da Tabela
| Coluna | Tipo | Chave | Restrições | Descrição | | Coluna | Tipo | Chave | Restrições | Descrição |
|------------------|-------------|------------|---------------------------------------------------|----------------------------------------------------------------| |------------------|-------------|------------|---------------------------------------------------|----------------------------------------------------------------|
...@@ -210,7 +214,7 @@ Armazena os detalhes de cada transação realizada por uma conta, vinculando pro ...@@ -210,7 +214,7 @@ Armazena os detalhes de cada transação realizada por uma conta, vinculando pro
| `created_at` | `DateTime` | — | `DEFAULT func.now()`, `NOT NULL` | Data e hora da criação do registro. | | `created_at` | `DateTime` | — | `DEFAULT func.now()`, `NOT NULL` | Data e hora da criação do registro. |
| `updated_at` | `DateTime` | — | `DEFAULT func.now()`, atualizado com `onupdate` | Data e hora da última atualização do registro. | | `updated_at` | `DateTime` | — | `DEFAULT func.now()`, atualizado com `onupdate` | Data e hora da última atualização do registro. |
### Relacionamentos #### Relacionamentos
#### Foreign Keys #### Foreign Keys
- `account_id`: relacionamento com a tabela `account`, utilizando o atributo `account.id` para associar uma transação á uma conta. - `account_id`: relacionamento com a tabela `account`, utilizando o atributo `account.id` para associar uma transação á uma conta.
...@@ -224,10 +228,10 @@ Armazena os detalhes de cada transação realizada por uma conta, vinculando pro ...@@ -224,10 +228,10 @@ Armazena os detalhes de cada transação realizada por uma conta, vinculando pro
### **TransactionDetail** ### **TransactionDetail**
### Descrição #### Descrição
Armazena os detalhes de cada transação realizada por uma conta, vinculando produtos de dados adquiridos ou acessados e, opcionalmente, a assinatura usada no processo. Essa tabela detalha o que foi efetivamente movimentado em uma transação. Armazena os detalhes de cada transação realizada por uma conta, vinculando produtos de dados adquiridos ou acessados e, opcionalmente, a assinatura usada no processo. Essa tabela detalha o que foi efetivamente movimentado em uma transação.
### Estrutura da Tabela #### Estrutura da Tabela
| Coluna | Tipo | Chave | Restrições | Descrição | | Coluna | Tipo | Chave | Restrições | Descrição |
|------------------|-------------|------------|---------------------------------------------------|----------------------------------------------------------------| |------------------|-------------|------------|---------------------------------------------------|----------------------------------------------------------------|
...@@ -238,7 +242,7 @@ Armazena os detalhes de cada transação realizada por uma conta, vinculando pro ...@@ -238,7 +242,7 @@ Armazena os detalhes de cada transação realizada por uma conta, vinculando pro
| `created_at` | `DateTime` | — | `DEFAULT func.now()`, `NOT NULL` | Data e hora da criação do registro. | | `created_at` | `DateTime` | — | `DEFAULT func.now()`, `NOT NULL` | Data e hora da criação do registro. |
| `updated_at` | `DateTime` | — | `DEFAULT func.now()`, atualizado com `onupdate` | Data e hora da última atualização do registro. | | `updated_at` | `DateTime` | — | `DEFAULT func.now()`, atualizado com `onupdate` | Data e hora da última atualização do registro. |
### Relacionamentos #### Relacionamentos
#### Foreign Keys #### Foreign Keys
- `transaction_id`: relacionamento com a tabela `transaction`, utilizando o atributo `transaction.id` para associar uma transaction com transaction_detail. - `transaction_id`: relacionamento com a tabela `transaction`, utilizando o atributo `transaction.id` para associar uma transaction com transaction_detail.
- `data_product_id`: relacionamento com a tabela `data_product`, utilizando o atributo `data_product.id` para associar um data_product a tabela transaction_detail. - `data_product_id`: relacionamento com a tabela `data_product`, utilizando o atributo `data_product.id` para associar um data_product a tabela transaction_detail.
...@@ -253,7 +257,7 @@ Armazena os detalhes de cada transação realizada por uma conta, vinculando pro ...@@ -253,7 +257,7 @@ Armazena os detalhes de cada transação realizada por uma conta, vinculando pro
### **Invoice** ### **Invoice**
### Descrição #### Descrição
Armazena as faturas geradas para cada transação. Cada fatura está vinculada a uma transação específica e contém o valor total cobrado, além dos timestamps de criação e atualização. Armazena as faturas geradas para cada transação. Cada fatura está vinculada a uma transação específica e contém o valor total cobrado, além dos timestamps de criação e atualização.
### Estrutura da Tabela ### Estrutura da Tabela
...@@ -266,7 +270,7 @@ Armazena as faturas geradas para cada transação. Cada fatura está vinculada a ...@@ -266,7 +270,7 @@ Armazena as faturas geradas para cada transação. Cada fatura está vinculada a
| `created_at` | `DateTime` | — | `NOT NULL` | Data e hora de criação da fatura. | | `created_at` | `DateTime` | — | `NOT NULL` | Data e hora de criação da fatura. |
| `updated_at` | `DateTime` | — | `NOT NULL` | Data e hora da última atualização da fatura. | | `updated_at` | `DateTime` | — | `NOT NULL` | Data e hora da última atualização da fatura. |
### Relacionamentos #### Relacionamentos
#### Foreign Keys #### Foreign Keys
- `transaction_id`: relacionamento com a tabela `transaction`, utilizando o atributo `transaction.id` para associar uma `transaction` a tabela `invoice`. - `transaction_id`: relacionamento com a tabela `transaction`, utilizando o atributo `transaction.id` para associar uma `transaction` a tabela `invoice`.
...@@ -278,10 +282,10 @@ Armazena as faturas geradas para cada transação. Cada fatura está vinculada a ...@@ -278,10 +282,10 @@ Armazena as faturas geradas para cada transação. Cada fatura está vinculada a
### **Dataclient** ### **Dataclient**
### Descrição #### Descrição
Armazena os dados dos clientes consumidores de produtos ou serviços de dados. Cada cliente está vinculado a uma conta no sistema e possui um código identificador único utilizado em processos de autenticação ou auditoria. Armazena os dados dos clientes consumidores de produtos ou serviços de dados. Cada cliente está vinculado a uma conta no sistema e possui um código identificador único utilizado em processos de autenticação ou auditoria.
### Estrutura da Tabela #### Estrutura da Tabela
| Coluna | Tipo | Chave | Restrições | Descrição | | Coluna | Tipo | Chave | Restrições | Descrição |
|-------------------|----------|------------|--------------------------------------------|------------------------------------------------------------------| |-------------------|----------|------------|--------------------------------------------|------------------------------------------------------------------|
...@@ -297,10 +301,10 @@ Armazena os dados dos clientes consumidores de produtos ou serviços de dados. C ...@@ -297,10 +301,10 @@ Armazena os dados dos clientes consumidores de produtos ou serviços de dados. C
### **Dataset** ### **Dataset**
### Descrição #### Descrição
Armazena os conjuntos de dados fornecidos por diferentes provedores. Cada dataset pertence a um provedor de dados e está vinculado diretamente a um único produto de dados publicado no sistema. Armazena os conjuntos de dados fornecidos por diferentes provedores. Cada dataset pertence a um provedor de dados e está vinculado diretamente a um único produto de dados publicado no sistema.
### Estrutura da Tabela #### Estrutura da Tabela
| Coluna | Tipo | Chave | Restrições | Descrição | | Coluna | Tipo | Chave | Restrições | Descrição |
|------------------|-----------|------------|----------------------------------------|--------------------------------------------------------------| |------------------|-----------|------------|----------------------------------------|--------------------------------------------------------------|
...@@ -311,7 +315,7 @@ Armazena os conjuntos de dados fornecidos por diferentes provedores. Cada datase ...@@ -311,7 +315,7 @@ Armazena os conjuntos de dados fornecidos por diferentes provedores. Cada datase
| `created_at` | `TIMESTAMP`| — | `NOT NULL` | Data de criação do registro. | | `created_at` | `TIMESTAMP`| — | `NOT NULL` | Data de criação do registro. |
| `updated_at` | `TIMESTAMP`| — | `NOT NULL` | Data da última atualização do registro. | | `updated_at` | `TIMESTAMP`| — | `NOT NULL` | Data da última atualização do registro. |
### Relacionamentos #### Relacionamentos
#### Foreign Keys #### Foreign Keys
- `data_provider_id`: relacionamento com a tabela `data_provider`, utilizando o atributo `data_provider.id` para associar um `dataset` a tabela `data_provider`. - `data_provider_id`: relacionamento com a tabela `data_provider`, utilizando o atributo `data_provider.id` para associar um `dataset` a tabela `data_provider`.
...@@ -323,10 +327,10 @@ Armazena os conjuntos de dados fornecidos por diferentes provedores. Cada datase ...@@ -323,10 +327,10 @@ Armazena os conjuntos de dados fornecidos por diferentes provedores. Cada datase
### **DataSource** ### **DataSource**
### Descrição #### Descrição
Representa as fontes físicas ou virtuais de onde os dados são originados por um provedor de dados. Cada fonte contém informações de localização geográfica e está vinculada a um provedor. Representa as fontes físicas ou virtuais de onde os dados são originados por um provedor de dados. Cada fonte contém informações de localização geográfica e está vinculada a um provedor.
### Estrutura da Tabela #### Estrutura da Tabela
| Coluna | Tipo | Chave | Restrições | Descrição | | Coluna | Tipo | Chave | Restrições | Descrição |
|-------------------|-----------|---------------|----------------------------------|-----------------------------------------------------------------| |-------------------|-----------|---------------|----------------------------------|-----------------------------------------------------------------|
...@@ -344,10 +348,10 @@ Representa as fontes físicas ou virtuais de onde os dados são originados por u ...@@ -344,10 +348,10 @@ Representa as fontes físicas ou virtuais de onde os dados são originados por u
### **DataProvider** ### **DataProvider**
### Descrição #### Descrição
Armazena os provedores de dados responsáveis por publicar e manter datasets na plataforma. Cada provedor está vinculado a uma conta do sistema e pode ter múltiplas fontes de dados (data sources) e datasets associados. Armazena os provedores de dados responsáveis por publicar e manter datasets na plataforma. Cada provedor está vinculado a uma conta do sistema e pode ter múltiplas fontes de dados (data sources) e datasets associados.
### Estrutura da Tabela #### Estrutura da Tabela
| Coluna | Tipo | Chave | Restrições | Descrição | | Coluna | Tipo | Chave | Restrições | Descrição |
|--------------|----------|------------|-------------------------------------|--------------------------------------------------------------------| |--------------|----------|------------|-------------------------------------|--------------------------------------------------------------------|
...@@ -362,10 +366,10 @@ Armazena os provedores de dados responsáveis por publicar e manter datasets na ...@@ -362,10 +366,10 @@ Armazena os provedores de dados responsáveis por publicar e manter datasets na
### **DataProduct** ### **DataProduct**
### Descrição #### Descrição
Armazena os produtos de dados disponíveis na plataforma, os quais são baseados em datasets fornecidos por provedores. Cada produto contém informações detalhadas como localização, descrição, preço e está vinculado a um dataset. Armazena os produtos de dados disponíveis na plataforma, os quais são baseados em datasets fornecidos por provedores. Cada produto contém informações detalhadas como localização, descrição, preço e está vinculado a um dataset.
### Estrutura da Tabela #### Estrutura da Tabela
| Coluna | Tipo | Chave | Restrições | Descrição | | Coluna | Tipo | Chave | Restrições | Descrição |
|---------------|-----------|------------|---------------------------------------|------------------------------------------------------------------------| |---------------|-----------|------------|---------------------------------------|------------------------------------------------------------------------|
...@@ -379,7 +383,7 @@ Armazena os produtos de dados disponíveis na plataforma, os quais são baseados ...@@ -379,7 +383,7 @@ Armazena os produtos de dados disponíveis na plataforma, os quais são baseados
| `created_at` | `TIMESTAMP`| — | `NOT NULL` | Data de criação do registro. | | `created_at` | `TIMESTAMP`| — | `NOT NULL` | Data de criação do registro. |
| `updated_at` | `TIMESTAMP`| — | `NOT NULL` | Data da última atualização do registro. | | `updated_at` | `TIMESTAMP`| — | `NOT NULL` | Data da última atualização do registro. |
### Relacionamentos #### Relacionamentos
#### Foreign Keys #### Foreign Keys
- `dataset_id`: relacionamento com a tabela `dataset`, utilizando o atributo `dataset.id` para associar um `data_product` a tabela `dataset`. - `dataset_id`: relacionamento com a tabela `dataset`, utilizando o atributo `dataset.id` para associar um `data_product` a tabela `dataset`.
...@@ -391,10 +395,10 @@ Armazena os produtos de dados disponíveis na plataforma, os quais são baseados ...@@ -391,10 +395,10 @@ Armazena os produtos de dados disponíveis na plataforma, os quais são baseados
### **DataProductItem** ### **DataProductItem**
### Descrição #### Descrição
Relaciona um produto de dados a múltiplos datasets, permitindo que um único `data_product` seja composto por diversos `dataset`s. Serve como uma tabela de associação (join table) entre `data_product` e `dataset`. Relaciona um produto de dados a múltiplos datasets, permitindo que um único `data_product` seja composto por diversos `dataset`s. Serve como uma tabela de associação (join table) entre `data_product` e `dataset`.
### Estrutura da Tabela #### Estrutura da Tabela
| Coluna | Tipo | Chave | Restrições | Descrição | | Coluna | Tipo | Chave | Restrições | Descrição |
|------------------|------------|------------|-----------------------------------------|----------------------------------------------------------------------------| |------------------|------------|------------|-----------------------------------------|----------------------------------------------------------------------------|
...@@ -404,13 +408,12 @@ Relaciona um produto de dados a múltiplos datasets, permitindo que um único `d ...@@ -404,13 +408,12 @@ Relaciona um produto de dados a múltiplos datasets, permitindo que um único `d
| `created_at` | `TIMESTAMP`| — | `NOT NULL` | Data de criação do registro. | | `created_at` | `TIMESTAMP`| — | `NOT NULL` | Data de criação do registro. |
| `updated_at` | `TIMESTAMP`| — | `NOT NULL` | Data da última atualização do registro. | | `updated_at` | `TIMESTAMP`| — | `NOT NULL` | Data da última atualização do registro. |
### Relacionamentos #### Relacionamentos
#### Foreign Keys #### Foreign Keys
- `dataset_product_id`: relacionamento com a tabela `dataset_product`, utilizando o atributo `data_set_product.id` para associar um `data_product_item` a tabela `data_set_product`. - `dataset_product_id`: relacionamento com a tabela `dataset_product`, utilizando o atributo `data_set_product.id` para associar um `data_product_item` a tabela `data_set_product`.
- `dataset_id`: relacionamento com a tabela `dataset`, utilizando o atributo `dataset.id` para associar um `data_product_item` a tabela `dataset`. - `dataset_id`: relacionamento com a tabela `dataset`, utilizando o atributo `dataset.id` para associar um `data_product_item` a tabela `dataset`.
---
## Regras de Integridade e Constraints ## Regras de Integridade e Constraints
......
Clone repository
  • Arquitetura
  • Banco de Dados
  • Gerência
  • Mockups
  • Processos
  • Sprints
  • Testes
  • Home