94 lines
3.4 KiB
Markdown
94 lines
3.4 KiB
Markdown
# Schema de Dados — Leiloeiros das Juntas Comerciais
|
|
|
|
## Tabela `leiloeiros` (SQLite)
|
|
|
|
```sql
|
|
CREATE TABLE leiloeiros (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
estado TEXT NOT NULL, -- UF: SP, RJ, MG, ...
|
|
junta TEXT NOT NULL, -- nome da junta: JUCESP, JUCERJA, ...
|
|
matricula TEXT, -- número de matrícula (pode ser NULL se não publicado)
|
|
nome TEXT NOT NULL, -- nome completo do leiloeiro
|
|
cpf_cnpj TEXT, -- CPF ou CNPJ (quando disponível)
|
|
situacao TEXT, -- ATIVO | CANCELADO | SUSPENSO | IRREGULAR
|
|
endereco TEXT, -- endereço completo
|
|
municipio TEXT, -- cidade
|
|
telefone TEXT, -- telefone de contato
|
|
email TEXT, -- e-mail
|
|
data_registro TEXT, -- data de registro na junta (ISO 8601 ou texto)
|
|
data_atualizacao TEXT, -- última atualização cadastral
|
|
url_fonte TEXT, -- URL de onde o dado foi coletado
|
|
scraped_at TEXT NOT NULL, -- timestamp da coleta (ISO 8601 UTC)
|
|
UNIQUE (estado, matricula) ON CONFLICT REPLACE
|
|
);
|
|
```
|
|
|
|
## Campos
|
|
|
|
| Campo | Tipo | Obrigatório | Valores |
|
|
|-------|------|-------------|---------|
|
|
| `id` | int | auto | PK auto-incremento |
|
|
| `estado` | text | sim | UF 2 letras maiúsculas |
|
|
| `junta` | text | sim | Nome da junta ex: JUCESP |
|
|
| `matricula` | text | não | Número de matrícula na junta |
|
|
| `nome` | text | sim | Nome completo |
|
|
| `cpf_cnpj` | text | não | Documento sem formatação preferencial |
|
|
| `situacao` | text | não | ATIVO, CANCELADO, SUSPENSO, IRREGULAR |
|
|
| `endereco` | text | não | Logradouro completo |
|
|
| `municipio` | text | não | Cidade |
|
|
| `telefone` | text | não | Formato livre |
|
|
| `email` | text | não | E-mail de contato |
|
|
| `data_registro` | text | não | Data ISO ou texto da junta |
|
|
| `data_atualizacao` | text | não | Data ISO ou texto da junta |
|
|
| `url_fonte` | text | não | URL da página coletada |
|
|
| `scraped_at` | text | sim | ISO 8601 UTC ex: 2024-03-15T10:30:00+00:00 |
|
|
|
|
## Normalização de `situacao`
|
|
|
|
Os textos das juntas são normalizados para valores padrão:
|
|
|
|
| Texto Original (exemplos) | Valor Normalizado |
|
|
|--------------------------|-------------------|
|
|
| Ativo, Regular, Habilitado, Regularizado | `ATIVO` |
|
|
| Cancelado, Baixado, Extinto | `CANCELADO` |
|
|
| Suspenso | `SUSPENSO` |
|
|
| Irregular | `IRREGULAR` |
|
|
| Qualquer outro | mantido como recebido |
|
|
|
|
## Formato de Exportação (JSON)
|
|
|
|
```json
|
|
{
|
|
"exported_at": "2024-03-15T10:30:00+00:00",
|
|
"total": 1234,
|
|
"data": [
|
|
{
|
|
"id": 1,
|
|
"estado": "SP",
|
|
"junta": "JUCESP",
|
|
"matricula": "001234",
|
|
"nome": "João da Silva Leiloeiro",
|
|
"cpf_cnpj": null,
|
|
"situacao": "ATIVO",
|
|
"endereco": "Rua das Flores, 100",
|
|
"municipio": "São Paulo",
|
|
"telefone": "(11) 3456-7890",
|
|
"email": "joao@leiloes.com.br",
|
|
"data_registro": "2010-05-20",
|
|
"data_atualizacao": null,
|
|
"url_fonte": "https://www.institucional.jucesp.sp.gov.br/tradutores-leiloeiros.html",
|
|
"scraped_at": "2024-03-15T10:30:00+00:00"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
## Índices
|
|
|
|
```sql
|
|
CREATE INDEX idx_estado ON leiloeiros (estado);
|
|
CREATE INDEX idx_nome ON leiloeiros (nome);
|
|
CREATE INDEX idx_situacao ON leiloeiros (situacao);
|
|
CREATE INDEX idx_scraped ON leiloeiros (scraped_at);
|
|
```
|