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
  • Lucky Draw
  • WikiWiki
  • Wiki
  • Banco de dados

Banco de dados · Changes

Page history
Update Banco de dados authored Mar 26, 2025 by João Vitor Vogel's avatar João Vitor Vogel
Show whitespace changes
Inline Side-by-side
Banco-de-dados.md
View page @ c786ad4d
......@@ -21,7 +21,9 @@
Este repositório documenta a estrutura do banco de dados do projeto, incluindo tabelas, atributos e relacionamentos.
## Modelagem
![Modelagem](uploads/87020a62267781ef6d9db32620083491/Modelagem.png)
O modelo abaixo apresenta a modelagem do banco de dados do projeto Lucky Draw, nele podemos ver quais tabelas do banco compõem o sistema. Com isso, podemos observar os atributos de cada tabela, bem como os tipos de cada um, e o relacionamento de cada uma por meio das ligações apresentadas utilizando a mesma nomenclatura disponível no [dbdiagram.io](https://docs.dbdiagram.io/).
![imagem_2025-03-26_194848364](uploads/d800f2bcc7c4393c9acc081c826f0baf/imagem_2025-03-26_194848364.png)
## Tabelas
......@@ -32,12 +34,6 @@ Este repositório documenta a estrutura do banco de dados do projeto, incluindo
| text | Varchar | Texto da licença |
| data_created | Timestamp | Data de criação da licença |
### UserType
| Campo | Tipo | Descrição |
|--------------|-----------|------------|
| id_user_type | Integer (PK) | Identificador do tipo de usuário |
| type_name | Varchar | Tipo de usuário |
### User
| Campo | Tipo | Descrição |
|---------------|-----------|------------|
......@@ -48,10 +44,9 @@ Este repositório documenta a estrutura do banco de dados do projeto, incluindo
| password | Varchar | Senha |
| bio | Text | Biografia |
| coins | Integer | Moedas |
| user_type_id | Integer (FK) | Tipo de usuário |
| is_admin | Boolean | Tipo de usuário |
| offender_day | Integer | Dias de ofensiva |
| data_last_active | Timestamp | Última atividade |
| photo_thumb | Varchar | Miniatura da foto |
| photo | Varchar | Foto do usuário |
| license_id | Integer (FK) | Licença do usuário |
| active | Boolean | Status da conta|
......@@ -112,10 +107,15 @@ Este repositório documenta a estrutura do banco de dados do projeto, incluindo
| data_report | Timestamp | Data |
## Relacionamentos
- Cada usuário pertence a um **UserType**.
- Usuários podem possuir múltiplos **Decks** por meio da tabela **UserDeck**.
- Cada **Deck** contém várias **Cards**.
- O sistema gera um conjunto de **DailyCards**.
- Usuários podem criar **Posts** associados a cartas.
- **Posts** podem ser denunciados por usuários na tabela **Report**.
## Ferramentas
### PostgreSQL
O PostgreSQL é um Sistema Gerenciador de Banco de Dados Relacional de código aberto que proporciona escalabilidade e segurança no armazenamento e recuperação de dados. A modularidade da sua arquitetura junto a recursos como transações ACID (atomicidade, consistência, isolamento e durabilidade) e suporte para trabalhar com JSON (JavaScript Object Notation) fez com que o escolhessemos para este projeto. Além disso, o fato de ser um banco relacional facilita o aprendizado dado que é o tipo de tecnologia mais visto em disciplinas de banco no curso de Engenharia de Software.
### DBeaver
Recomendamos o uso do DBeaver neste projeto para trabalhar com o banco de dados PostgreSQL porque ele oferece uma interface intuitiva, poderosa e unificada que facilita a visualização das tabelas, execução de queries e gerenciamento do banco como um todo. Além disso, o DBeaver é gratuito, multiplataforma e possui integração nativa com PostgreSQL, o que agiliza o desenvolvimento e minimiza erros, especialmente em trabalhos colaborativos.
\ No newline at end of file
Clone repository
  • Arquitetura
  • Backend
  • Banco de dados
  • Codigo
  • Configuracao
  • Design & Mockups
  • Escopo e Cronograma
  • Frontend
  • Infraestrutura
  • Processo
  • Qualidade
  • Home