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
    • Metrics
    • 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
  • Sem Barreiras
  • WikiWiki
  • Wiki
  • Banco de Dados

Last edited by Leonardo Forner Jun 23, 2024
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Banco de Dados

Home Escopo Processo Design/Mockups Configuração Arquitetura Gerência BD Qualidade Frontend Backend Analytics

Descrição

O PostgreSQL é um Sistema Gerenciador de Banco de Dados Relacional (SGBDR) de código aberto que oferece um ambiente altamente escalável e seguro para armazenamento e recuperação de dados. Sua arquitetura modular e flexível, combinada com recursos avançados como transações ACID e suporte a JSON, tornou-o uma escolha preferencial para este projeto.

Banco de Dados - Sem Barreiras

O banco de dados fornece uma estrutura organizada e eficiente para armazenar e gerenciar todas as informações relevantes, como dados sobre usuários, estabelecimentos, deficiências, acessibilidades, classificações e postagens. Sua utilização facilita a organização, consulta e compartilhamento de informações cruciais para promover a acessibilidade e inclusão.

Tabelas e Relações

User: Armazena informações sobre os usuários.

UserDisability: Relaciona usuários e suas deficiências.

Disability: Mantém registros das diferentes deficiências que os usuários podem ter.

Accessibility: Armazena informações sobre os tipos de acessibilidade que os estabelecimentos podem ter dispostos.

DisabilityAccessibility: Relaciona deficiências e as acessibilidades necessárias.

Establishment: Contém dados sobre os estabelecimentos onde os usuários podem frequentar.

EstablishmentAccessibility: Entidade associativa que registra as acessibilidades presentes em um estabelecimento.

Post: Registra as postagens feitas pelos usuários sobre os estabelecimentos.

Modelagem

Esquema Conceitual

O modelo conceitual é desenvolvido independentemente das especificações de hardware, como capacidade de armazenamento de dados, localização ou especificações de software, como fornecedor e tecnologia de SGBD. O foco é representar os dados como o usuário os verá no “mundo real”.

image

Descrição

Relacionamentos:

  • Um usuário pode possuir 0 ou muitas deficiências (0:N)
  • Uma deficiência pode constar em 0 ou muitos usuários (0:N)
  • Um estabelecimento pode ter 1 ou muitas acessibilidades (1:N)
  • Uma acessibilidade pode constar em 0 ou muitos estabelecimentos (0:N)
  • Um usuário pode avaliar 0 ou muitos estabelecimentos (0:N)
  • Um estabelecimento pode ser avaliado por 0 ou muitos usuários (0:N)
  • Uma deficiência é representada por 1 ou muitas acessibilidades (1:N)
  • Uma acessibilidade representa 1 deficiência (1:1)

Esquema Lógico

A modelo lógico é usado para definir a estrutura dos elementos de dados e definir relacionamentos entre eles. O modelo de dados lógicos adiciona mais informações aos elementos conceituais do modelo de dados. A vantagem de usar um modelo de dados lógico é fornecer uma foundation para formar a base para o modelo físico. drawSQL-image-export-2024-04-26

Schemas

Table User
  • user_id (uuid, primary key)
  • email (text unique, not null)
  • password (text, not null)
  • name (text, not null)
  • cellphone (text, not null)
  • birthdate (text, not null)
  • occupation (text, not null)
  • image (--)
  • active (boolean, not null, default 'true')
  • is_admin (boolean, not null, default 'false')
  • created_at (timestamp, not null)
Table Disability
  • disability_id (uuid, primary key)
  • description (text)
Table UserDisability
  • disability_id (uuid, foreign key)
  • user_id (uuid, foreign key)
Table Accessibility
  • accessibility_id (uuid, primary key)
  • description (text not null)
Table DisabilityAccessibility
  • disability_id (uuid, foreign key)
  • accessibility_id (uuid, foreign key)
Table Establishment
  • establishment_id (uuid, primary key)
  • ùser_id (--)
  • cnpj (text, unique, not null)
  • name (text, not null)
  • type (text, not null)
  • description (text, not null)
  • ad_number (numeric, not null)
  • ad_street (text, not null)
  • ad_city (text, not null)
  • ad_state (text, not null)
  • ad_cep (text, not null)
  • image (--)
  • verified_owner (--)
  • status (enum, not null)
  • active (boolean, not null, default 'true')
  • created_at (timestamp, not null)
Table EstablishmentImage
  • image_id (uuid, primary key)
  • establishment_id (uuid, foreign key)
  • image (--)
  • description (text, not null)
Table EstablishmentAccessibility
  • establishment_id (uuid, foreign key)
  • accessibility_id (uuid, foreign key)
Table Post
  • post_id (uuid, primary key)
  • user_id (uuid, foreign key)
  • establishment_id (uuid, foreign key)
  • content (text)
  • like_deslike (char, default '0')
  • created_at (timestamp, not null)
Clone repository

SemBarreiras-Logo__1_

Sem Barreiras

Home

Escopo

Processo

Design/Mockups

Configuração

Arquitetura

Gerência

Banco de Dados

Qualidade

Frontend

Backend