O que cada tabela guarda
Quatro tabelas principais. Cada uma tem um papel diferente. Entender isso evita confusão na hora de montar queries.
empresas
Guarda os dados da pessoa jurídica em si — não do endereço, mas do "dono" do CNPJ. Pense como o cadastro mestre da empresa.
Cada linha representa um CNPJ base (os 8 primeiros dígitos). Uma empresa como a Magazine Luiza tem 1 único registro aqui, mesmo tendo 1.000 lojas.
| Campo | Tipo | O que é |
|---|---|---|
cnpj_base | varchar(8) | 🔑 PK — os 8 primeiros dígitos do CNPJ |
razao_social | text | Nome oficial da empresa |
natureza_juridica | text | ⭐ Código do tipo jurídico. 2135 = MEI |
porte | text | Tamanho da empresa (50 = MEI, 49 = EPP) |
capital_social | text | Capital social declarado |
situacao_cadastral | text | Situação na RFB (02 ativa, 04 baixada...) |
estabelecimentos
Guarda os dados de cada CNPJ completo — endereço, telefone, situação, município. É aqui que ficam as filiais.
Por isso tem mais registros que empresas: uma empresa com 10 lojas tem 1 linha em empresas e 10 linhas aqui.
Esta tabela não tem natureza_juridica. Pra saber se uma empresa é MEI, você precisa fazer JOIN com empresas.
| Campo | O que é |
|---|---|
cnpj_base | 🔗 FK → empresas.cnpj_base (8 dígitos) |
cnpj_ordem | 4 dígitos seguintes do CNPJ |
cnpj_dv | 2 dígitos finais (dígitos verificadores) |
matriz | 1 = Matriz 2 = Filial |
situacao | 02 ativa · 03 inapta · 04 baixada · 08 suspensa |
cidade | ⭐ Código do município. Ex: 4625 = Ipatinga |
uf | Sigla do estado. Ex: MG, SP, RJ |
logradouro | Nome da rua/avenida |
bairro | Bairro |
cep | CEP (8 dígitos, sem traço) |
cnae_principal | Código da atividade econômica principal |
dt_inicio | Data de início de atividade |
ipatinga
Cadastro municipal de Ipatinga — base do ISSQN/NFS-e. Contém as empresas que pagam ISS no município.
O campo chave é cpfcnpj — um texto de 14 dígitos que representa o CNPJ completo (sem pontuação).
| Campo | O que é |
|---|---|
cpfcnpj | 🔑 CNPJ de 14 dígitos (texto, sem pontos) |
situacao | Situação no município: Ativo, Baixado... |
logradouro | Endereço declarado ao município |
bairro | Bairro declarado ao município |
cep | CEP declarado ao município |
telefone | Telefone de contato |
email | E-mail de contato |
municipios
Tabela de decodificação: transforma o código numérico de estabelecimentos.cidade num nome legível.
SELECT * FROM municipios WHERE nome ILIKE '%IPATINGA%'
-- Resultado:
-- codigo: 4625 | nome: IPATINGA