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

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-06-17__1_

Schemas

Table User
  • user_id (uuid, primary key)
  • email (text unique, not null)
  • password (text, not null)
  • name (text, not null)
  • phone (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)
  • description (text)
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)
  • longitude(numeric, not null)
  • latitude (numeric, not null)
  • additionalDetails (text, not null)
  • image (--)
  • verified_owner (--)
  • status (enum, not null)
  • active (boolean, not null, default 'true')
  • created_at (timestamp, not null)
  • phone (text, 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)
  • rating (char)
  • reported (boolean, not null, default = false)
  • 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