ABJ Informática
Home ADS
00:00:00

Modelagem de Dados e SQL

Infraestrutura e Banco de Dados

Representar entidades e relacionamentos do negócio e consultar dados com SQL — base para persistência confiável em sistemas como o de atividades e exportação em PDF.

O que é

Conceitos do modelo ER

Exemplo visual — diagrama ER

Figura 1 — Modelo entidade-relacionamento do Sistema de Atividades.

SQL essencial

Boas práticas

Modelo textual — dicionário de dados (campo)

────────────────────────────────────────────────────────────
DICIONÁRIO DE DADOS — CAMPO
────────────────────────────────────────────────────────────

Tabela:          [nome_tabela]
Coluna:          [nome_coluna]
Tipo lógico:     [texto | inteiro | data/hora | boolean | decimal]
Tipo físico:     [VARCHAR(255) | TIMESTAMP WITH TIME ZONE | ...]
Obrigatório:     [Sim | Não]
Chave:           [PK | FK → tabela.coluna | —]
Descrição:       [significado no negócio]
Regra / RN:      [validação, domínio de valores]
Origem RF:       [RF-xxx]
Exemplo:         [valor válido]

────────────────────────────────────────────────────────────
EXEMPLO
────────────────────────────────────────────────────────────

Tabela:          atividade
Coluna:          data_hora
Tipo lógico:     data/hora do evento
Tipo físico:     TIMESTAMPTZ NOT NULL
Obrigatório:     Sim
Chave:           —
Descrição:       Momento em que a atividade foi registrada ou alterada
Regra / RN:      Armazenar em UTC; exibir no fuso do usuário (BUG-09)
Origem RF:       RF-008, RF-012
Exemplo:         2026-05-15T14:30:00Z

Modelo textual — script SQL (consulta para PDF)

────────────────────────────────────────────────────────────
CONSULTA SQL — EXPORTAÇÃO PDF (RF-012)
────────────────────────────────────────────────────────────

-- Parâmetros: :id_usuario, :data_inicio, :data_fim (TIMESTAMPTZ)

SELECT
    a.id_atividade,
    a.data_hora,
    a.descricao,
    a.tipo,
    a.status
FROM atividade a
WHERE a.id_usuario = :id_usuario
  AND a.data_hora >= :data_inicio
  AND a.data_hora <  :data_fim + INTERVAL '1 day'
ORDER BY a.data_hora ASC;

-- Índice recomendado:
-- CREATE INDEX idx_atividade_usuario_data
--   ON atividade (id_usuario, data_hora);

-- Após gerar PDF, inserir auditoria:
-- INSERT INTO log_exportacao (id_usuario, periodo_inicio, periodo_fim, hash_arquivo)
-- VALUES (...);

Vídeo — Modelo relacional e DER

Curso em Vídeo (Guanabara): relacionamentos entre tabelas, chaves e diagrama entidade-relacionamento.

Abrir no YouTube
← Voltar aos tópicos