Pular para conteúdo

Dicionário de Dados

Nesta seção é apresentado o dicionário de dados do banco de dados do sistema ReMed.io, fornecendo detalhes sobre as tabelas, campos e relacionamentos utilizados no sistema.


Sumário


Tabela armazem

Campo Tipo PK FK Nullable Descrição
id SERIAL ✔️ ID do armazém
local_armazem VARCHAR(100) Localização do armazém (único)

Tabela fornecedor

Campo Tipo PK FK Nullable Descrição
id SERIAL ✔️ ID do fornecedor
nome VARCHAR(100) Nome do fornecedor
cnpj VARCHAR(20) CNPJ do fornecedor
contato VARCHAR(100) ✔️ Contato (telefone/email)

Tabela funcionario

Campo Tipo PK FK Nullable Descrição
id SERIAL ✔️ ID do funcionário
nome VARCHAR(50) Nome completo
cpf VARCHAR(11) CPF (único)
email VARCHAR(100) Email (único)
senha_hash VARCHAR(255) Hash da senha
cargo VARCHAR(50) Cargo ou função
data_contratacao TIMESTAMP Data da contratação

Tabela medicamento

Campo Tipo PK FK Nullable Descrição
id SERIAL ✔️ ID do medicamento
nome VARCHAR(100) Nome do medicamento
descricao VARCHAR(255) ✔️ Descrição
dosagem VARCHAR(50) ✔️ Dosagem (ex 500mg)
principio_ativo VARCHAR(100) ✔️ Princípio ativo
tarja VARCHAR(50) ✔️ Cor da tarja
necessita_receita BOOLEAN Se exige receita
forma_farmaceutica VARCHAR(50) ✔️ Forma farmacêutica (ex comprimido)
fabricante VARCHAR(100) ✔️ Nome do fabricante
registro_anvisa VARCHAR(50) ✔️ Registro ANVISA

Tabela cuidado_pessoal

Campo Tipo PK FK Nullable Descrição
id SERIAL ✔️ ID do produto de cuidado pessoal
nome VARCHAR(100) Nome do produto
descricao VARCHAR(255) ✔️ Descrição
subcategoria_id INT ✔️ ✔️ FK SubcategoriaCuidadoPessoal(id)
quantidade VARCHAR(20) ✔️ Quantidade
volume VARCHAR(20) ✔️ Volume (ex 200ml)
uso_recomendado VARCHAR(100) ✔️ Ex uso diário, noturno
publico_alvo VARCHAR(50) ✔️ Ex adulto, infantil
fabricante VARCHAR(100) ✔️ Fabricante

Tabela suplemento_alimentar

Campo Tipo PK FK Nullable Descrição
id SERIAL ✔️ ID do suplemento
nome VARCHAR(100) Nome do suplemento
descricao VARCHAR(255) ✔️ Descrição
principio_ativo VARCHAR(100) ✔️ Princípio ativo (se houver)
sabor VARCHAR(50) ✔️ Sabor (ex morango, baunilha)
peso_volume VARCHAR(20) ✔️ Peso ou volume
fabricante VARCHAR(100) ✔️ Fabricante
registro_anvisa VARCHAR(50) ✔️ Registro ANVISA

Tabela item_estoque

Campo Tipo PK FK Nullable Descrição
id SERIAL ✔️ ID do item em estoque
codigo_barras VARCHAR(80) Código de barras (único)
fornecedor_id INT ✔️ FK Fornecedor(id)
preco DECIMAL(10,2) Preço
lote VARCHAR(50) Lote de fabricação
data_fabricacao DATE ✔️ Data de fabricação
data_validade DATE Data de validade
produto_medicamento_id INT ✔️ ✔️ FK Medicamento(id) (se for medicamento)
produto_cuidado_pessoal_id INT ✔️ ✔️ FK CuidadoPessoal(id) (se for produto de cuidado pessoal)
produto_suplemento_alimentar_id INT ✔️ ✔️ FK SuplementoAlimentar(id) (se for suplemento)
tipo_produto VARCHAR(20) ‘medicamento’, ‘cuidado_pessoal’ ou ‘suplemento_alimentar’
Regra CHECK - Apenas um dos três produtos pode ser preenchido por registro

Tabela item_armazenado

Campo Tipo PK FK Nullable Descrição
id SERIAL ✔️ ID do item armazenado
armazem_id INT ✔️ FK Armazem(id)
item_estoque_id INT ✔️ FK ItemEstoque(id)
quantidade INT Quantidade disponível
data_atualizacao TIMESTAMP Data da última atualização (auto)

Tabela movimentacao_estoque

Campo Tipo PK FK Nullable Descrição
id SERIAL ✔️ ID da movimentação
item_estoque_id INT ✔️ FK ItemEstoque(id)
funcionario_id INT ✔️ ✔️ FK Funcionario(id)
data_movimentacao TIMESTAMP Data da movimentação
tipo VARCHAR(20) ‘entrada’ ou ‘saida’
quantidade INT Quantidade movimentada
cpf_comprador VARCHAR(14) ✔️ CPF do comprador
nome_comprador VARCHAR(100) ✔️ Nome do comprador
receita_digital TEXT ✔️ Receita médica digital (quando aplicável)
observacoes TEXT ✔️ Observações gerais

Tabela subcategoria_cuidado_pessoal

Campo Tipo PK FK Nullable Descrição
id SERIAL ✔️ ID da subcategoria
nome VARCHAR(100) Nome (único)
descricao VARCHAR(255) ✔️ Descrição da subcategoria

Tabela restricao_alimentar

Campo Tipo PK FK Nullable Descrição
id SERIAL ✔️ ID da restrição alimentar
nome VARCHAR(50) Nome da restrição (único)

Tabela restricao_suplemento

Campo Tipo PK FK Nullable Descrição
suplemento_alimentar_id INT ✔️ ✔️ FK SuplementoAlimentar(id)
restricao_alimentar_id INT ✔️ ✔️ FK RestricaoAlimentar(id)
severidade VARCHAR(20) ✔️ ‘leve’, ‘moderada’ ou ‘grave’
observacoes TEXT ✔️ Comentários adicionais sobre a restrição