Escolar Documentos
Profissional Documentos
Cultura Documentos
Índice
1 Apresentação................................................................................................................................... 3
2 Formato dos Dados e Atualizações..................................................................................................3
Formato dos Dados......................................................................................................................... 4
Tabelas Auxiliares e Conversão de Dados...................................................................................5
Tabela UFS.............................................................................................................................. 5
Tabela CIDADES...................................................................................................................... 6
Tabela BAIRROS......................................................................................................................6
Tabela CEPS............................................................................................................................ 7
Tabela PAISES......................................................................................................................... 7
Tabela LOGRADOUROS...........................................................................................................7
3 Utilizando a Base no Software DBeaver...........................................................................................9
Criando a Conexão a Base de Dados – Abrindo o Arquivo............................................................10
Abrindo os DADOS no MODO TABELA......................................................................................12
Visualizando e Exportando os Dados........................................................................................15
VER DADOS – Abrindo a tabela Para visualização e filtros...................................................16
Aplicando Filtros nos Dados.................................................................................................17
EXPORTAÇÃO DE DADOS..........................................................................................................20
Exportando Dados Para Outros Sistemas.............................................................................21
Utilizando o arquivo DAT SQLite em outros Sistemas...................................................................23
Atualizações e Considerações Finais.............................................................................................23
1 Apresentação
Este produto, é uma Base de Dados, mantida e atualizada pelo autor, baseada no Diretório
Nacional de Endereçamento (DNE) e nos Código de Endereçamento Postal (CEP) criado e mantido
pelos Correios.
O principal objetivo desta base de dados, é permitir um fácil preenchimento de dados de
endereçamento por sistemas computacionais, ou a higienização e homogeneização de cadastros e
de outras bases de dados contendo endereços, para os mais diversos fins, entre eles a conversão
dos diversos padrões de endereçamento usado por entidades públicas do Brasil no processamento
de dados e informações.
Criada e distribuída através de um formato simples, e que permite a exportação e
conversão dos dados para mais de 55 formatos, tornando-a compatível com a grande maioria dos
sistemas existentes no mercado, e podendo ser convertida para praticamente qualquer sistema de
gerenciamento de bancos de dados, tanto locais, como bases de dados SQL e NoSQL ou mesmo
embarcada em softwares comerciais, sites e outros sistemas.
DIGITO REPRESENTAÇÃO
0 Região metropolitana de São Paulo, SP
1 Litoral e Interior de SP
2 RJ e ES
3 MG
4 BA e SE
5 PE, AL, PB, RN
6 CE, PI, MA, PA, AP, AM, RR, AC
7 DF, GO, RO, TO, MT, MS
8 PR, SC
9 RS
OBS Atualmente, somente áreas urbanas, com mais de 50 mil habitantes
são codificadas por ruas e avanidas. As demais possuem um cep único.
1 A NORMALIZAÇÃO de uma base de dados é a aplicação de uma série de procedimentos para garantir que as suas tabelas
estejam bem estruturadas e não contenham nenhum tipo de anomalia, seja de inclusão, atualização ou exclusão.
Tabela UFS
A tabela UFS é composta pelos seguintes dados:
- cod_uf o código atribuído a cada UF pelo padrão do
IBGE
- desc_uf é o nome por extenso do UF, composto
somente por letras, sem acentuação gráfica
- sigla é a abreviação, do nome dos estados, sendo EX
para outros países (Exterior) como usado pela RBF e pelo IBGE
- UPDT é a data de atualização dos códigos e siglas, os
valores NULL significam que ela segue esse padrão desde a
criação das bases.
- cep_ini e cep_fim são os possíveis valores para a faixa de CEP que são válidas para o
preenchimento correto de outras bases de dados, e devem ser ordenados textualmente (ordem
alfabética), seguindo o padrão 0,1,2,3,4,5,6,7,8,9 de forma crescente.
Alguns UF possuem mais de 1 faixa de CEP não continua, dai, podem haver 2 registros com
valores distintos. Para obtenção de uma listagem única, de UF sem a filtragem deve-se buscar
distintos valores do cod_uf obtendo assim todos os valores possíveis de CODIGO, SIGLA e NOME
das unidades federadas.
SELECT DISTINCT COD_UF AS CODIGO_IBGE, SIGLA, DESC_UF AS NOME
FROM UFS
O comando acima, gera a listagem de UFS com os respectivos valores de CODIGO_IBGE, SIGLA
e NOME que pode ser usada para higienizar ou complementar cadastros com base no CEP ou IBGE
permitindo a conversão e padronização entre as duas bases.
Tabela CIDADES
A tabela CIDADES, tem como único objetivo, validar os
antigos CP de 5 dígitos, para convertê-los para valores válidos de
CEP com 8 dígitos.
O campo cidade_nome segue os valores usados pelos
CORREIOS para a composição do nome, usando a codificação
UTF8 para uso de acentuação gráfica.
O campo uf_sigla é a validação de qual UF a cidade
pertence, já que algumas cidades podem ter o mesmo nome em
UFS diferentes.
Os campos cep_ini e cep_fim são respectivamente os valores iniciais e finais de CEP e devem
ser ordenados do mesmo modo que na tabela UFS
Os códigos de CIDADE do IBGE desde 2011 seguem exatamente os mesmos nomes da tabela
dos CORREIOS usando a codificação UTF8 não havendo mais a necessidade de atualização ou
separação destes código em relação aos correios, a higienização deve ser feita pelo campo
cidade_nome da tabela logradouros.
Tabela BAIRROS
A tabela BAIRROS foi descontinuada, pois a partir de 2011 o IBGE deixou de atualizar a base
de bairros, passando a utilizar a classificação por mesorregião, e esta não segue a distribuição de
cidades e bairros usada nos correios, dai não é mais possível sua conversão e higienização usando
os dados do IBGE.
Para tratativas, devem ser usadas somente a validação do CP ou seja, os primeiros 5 dígitos
do CEP.
SELECT DISTINCT BAIRRO_NOME, SUBSTRING(LOGRADOURO_CEP,0,6) AS CP,
CIDADE_NOME, UF_SIGLA
FROM LOGRADOUROS
WHERE BAIRRO_NOME != ''
ORDER BY UF_SIGLA, CIDADE_NOME, BAIRRO_NOME
O comando acima permite gerar a listagem de bairros usada atualmente pelos correios, com
base nas cidades que usam a classificação por ruas e avenidas.
Tabela CEPS
A tabela CEPS possui os CEP genéricos possíveis para as respectivas cidades, podem ser
usados para um primeiro estágio de higienização de bases, usando como padrão o cidade_id
usado pelo IBGE e SEFAZ até 2011.
Depois de preencher o cidade_id é possível fazer a higienização com base no nome da cidade
usado na base dos correios, e a validação de dados usando os valores de inicio e fim do CEP na
tabela cidades.
Tabela PAISES
A tabela países, possui todos os códigos usados a nível de logística internacional para
identificação de países e territórios a nível mundial, e algumas das principais conversões entre esta
tabela. Para fins de higienização de bases de dados, onde a origem dos cadastros foi baseada nas
bases do BACEN ou bases dos CORREIOS esta tabela possibilita maior facilidade de conversão.
Existe uma segunda tabela PAISES_IBGE é uma tabela específica com os dados de países,
exatamente como no cadastro IBGE e tem por finalidade a padronização de dados e conversão de
dados provenientes de bases do próprio IBGE que tem por finalidade a conversão para os demais
formatos.
Essas conversões de dados, são necessárias, pois, por exemplo os dados do BACEN
reconhecem como países por exemplo a UNIÃO EUROPEIA já que esta possui um identificador para
transferências monetárias, porém, do lado dos correios não existe uma identificação para ela,
sendo que pode originar diversos destinos diferentes conforme a localidade.
Tabela LOGRADOUROS
A tabela LOGRADOUROS é o ponto mais importante para a base de dados em questão, é com
base nela, que vamos fazer o preenchimento dos endereços através do CEP, sua estrutura possui
características especiais, devido a não estar normatizada, como já explicamos anteriormente.
- logradouro_cep é o CEP, seguindo a estrutura determinada pelos correios, composto
sempre por 8 digitos, e ela é a chave de acesso a tabela e a todos os registros.
- logradouro_tipo é uma identificação própria dos correios, até 2015 ele era composto pelo
formato do cep, por exemplo Rua, Avenida desde 2015 vem sendo atualizado para 5 valores
possíveis, a saber: OUTROS, GRANDES CLIENTES, AGENCIAS CORREIOS, CEP UNICO, CEP COMUM.
CEP COMUM – são todos os CEP que podem ser usados para preencher o endereço completo.
CEP UNICO – são CEP que pertencem a toda a cidade, quando a cidade não é codificada por
logradouros. Nestes casos, quando a consulta retorna um CEP deste tipo, é necessário que os
dados de LOGRADOURO e BAIRRO sejam preenchidos manualmente, somente os dados de CIDADE
e UF podem ser autocompletados.
AGENCIAS CORREIOS – São CEP especiais, os últimos 3 dígitos devem ser 900 a 999 e
representam endereços próprios dos correios, inclusive com o número, e podem ser usados para
entregas realizadas pelos correios, porém, são inválidos para o preenchimento de endereços.
Muitos sistemas de e-commerce filtram essas faixas terminadas nesta sequência de dígitos,
para evitar fraudes. São dados válidos, porém, encomendas enviadas para estes endereços ficam
aguardando a retirada da mercadoria nas agências, o que em muitos casos acabou se mostrando
se tratar de algum tipo de fraude. Verifique conforme o seu uso se esses dados podem ser
preenchidos, ou descartados.
GRANDES CLIENTES – São ceps especiais que recebem grandes volumes de encomendas, ou
servem como concentradores de encomendas, geralmente shoppings e condomínios.
OUTROS – São todos os demais CEPS, que ainda não foram atualizados para o novo padrão, e
podem se comportar de maneira análoga ao CEP COMUM ou ao CEP UNICO, e podem ser usados
do mesmo modo.
- logradouro_completo e logradouro_complemento – são 2 campos de uso específico para
sinalização, e validação, por exemplo lado PAR ou LADO IMPAR ou até numero X, a partir do
numero X e não são usados para preenchimento ou autocomplemento dos dados.
- logradouro_nome – é o campo usado para o preenchimento dos dados de autocompletar
do endereço, se estes possuem o numeral, significa que este CEP é exclusivo para este número no
logradouro, e podem ser preenchidos também.
- bairro_nome – é o bairro como determinado pelos correios, também usado para o
autocompletar de endereço.
- cidade_nome – é o nome da CIDADE a que o CEP pertence, usado também para o
autocompletar de endereço.
- uf_sigla – é a sigla a UF correspondente ao CEP
- data_atualização – é o timestamp unix da ultima atualização dos dados daquele CEP pelos
correios.
Abaixo, temos uma consulta que pode ser usada para pesquisa na base de dados afim de
trazer o autocompletar para o endereço através do CEP. Para estas situações, CEP não constante
na tabela deve ser considerado inválido.
SELECT
COALESCE(LOGRADOURO_CEP, '') AS CEP,
COALESCE(LOGRADOURO_TIPO, '') AS TIPO,
COALESCE(LOGRADOURO_NOME, '') AS LOGRADOURO,
COALESCE(LOGRADOURO_COMPLEMENTO, '') AS COMPLEMENTO,
COALESCE(LOGRADOURO_NOME, '') AS UNIDADE,
COALESCE(BAIRRO_NOME, '') AS BAIRRO,
COALESCE(CIDADE_NOME, '') AS CIDADE,
COALESCE(UF_SIGLA, '') AS UF,
'BRASIL' AS PAIS,
DATETIME(DATA_ATUALIZACAO, 'UNIXEPOCH') AS ATUALIZADO_EM
FROM LOGRADOUROS L
WHERE L.LOGRADOURO_CEP = '01001000'
ORDER BY L.LOGRADOURO_TIPO DESC
LIMIT 1
Ao acessar sua compra, além do link principal em amarelo, onde é possível baixar a base de
dados (em formato SQLite3) em um arquivo .DAT você também pode fazer o Download deste
manual de utilização.
Logo abaixo, nos links em vermelho é possível ver alguns softwares que também rodam nas
principais plataformas do mercado como Windows, Linux e MacOS e que vão auxiliá-lo a tirar o
máximo de proveito do produto adquirido.
Para a base de dados, o Software DBeaver é de extrema utilidade, permitindo abrir o arquivo
de dados diretamente no seu computador, juntamente com outras bases de dados permitindo a
conversão dos dados entre as diferentes bases de dados, e mesmo a ligação a servidores de
hospedagem ou a exportação dos dados em diversos formatos que podem ser usados para a
manipulação dos dados.
São centenas de possibilidades de conversão, e transferências de dados entre os diversos
formatos. Atualmente o DBeaver suporta a conexão com mais de 55 formatos de bancos de dados
e servidores de bancos de dados do mercado, os mais conhecidos são o MySQL, MariaDB, Oracle,
MS-SQL Server, PostgreSQL, Firebird, Azure Database, Google BigQuery, Informix, Elastic Search,
SQLite3, e mais de 10 formatos de exportação de arquivos entre eles o CVS (usado pelo excel e por
sistemas de planilhas), XML DB usado por dezenas de sistemas de ERP e Bancos de Dados
comerciais, JSON amplamente utilizado para importação e conversão de dados e APIs, SQL Dump
usado para inserção e criação das tabelas e bases de dados em diversas bases de dados relacionais
que seguem o padrão SQL92, XML tradicional com hierarquia de registros e tabelas, TXT usado
para transferências de dados em texto, compatível com centenas de sistemas do mercado desde a
década de 1970.
Após o download do sistema através do link, na versão compatível com a sua plataforma de
Sistema Operacional, basta seguir o passo a passo para a instalação e execução deste no seu
computador.
Esta é a tela principal do DBeaver, na parte superior temos a área de menus de contexto, para
acesso as configurações do software, na lateral direita a área de navegação das bases de dados e
projetos, e na área central a área de contexto, que vai sendo modificada conforme o contexto em
uso. Caso você não esteja vendo a área de
PROJETOS ou tenha acidentalmente fechado,
basta clicar sobre o menu Janela (Window) ->
Mostrar Visão → Explorador de Projetos (como
na imagem ao lado).
Ou se preferir, pode ligar e desligar as
visualizações selecionando os 4 checkbox de
telas de contexto logo acima.
Algumas QUERIES ou CONSULTAS e FILTROS em SQL foram mostrados neste tutorial, a titulo
ilustrativo, ou para facilitar a exportação de dados ou visualizações específicas. Nosso suporte
também pode fornecer alguma query pronta conforme a necessidade, ou dentro do próprio
arquivo DAT pode existir a tabela METADADOS_CONSULTAS contendo o comando SQL pronto e
um resumo do seu resultado ou forma de uso.
CRIAR→Conexão: cria uma nova conexão com um banco de dados, dentro da pasta.
CRIAR → Nova Pasta: Cria uma nova pasta dentro da pasta selecionada.
CRIAR → Outro: Permite criar outros objetos, como visualizações ou projetos, é uma
funcionalidade específica e não vamos entrar em detalhes do seu funcionamento.
ABRIR FOLDER: Abre a pasta atual (o mesmo efeito de clicar sobre a seta a esquerda)
NAVEGUE DAQUI: Abe o conteúdo dentro da área de contexto, para a navegação, como se
fosse um explorador de arquivos, onde é possível acessar algumas funcionalidades específicas de
alguns formatos de bancos de dados. No contexto do SQLite, permite explorar o conteúdo do
arquivo.
Pronto, agora, sua conexão a base de dados está pronta para ser utilizada, vamos ver algumas
opções de visualização e filtragem dos dados e também, como fazer a exportação destes para
outros sistemas.
RENOMEAR: Também faz a alteração física no arquivo do nome da tabela, o que pode tornar
algumas query que dependam dessa tabela inutilizáveis, até que o nome original seja retornado.
Lembrando que a maioria dos sistemas é sensível a letras maiúsculas e minusculas.
É possível expandir no explorador as tabelas, abrindo contextos específicos de dados de
campos (colunas), indexadores (índices) e outros dados, por ser um contexto específico para
analistas de dados ou desenvolvedores, não vamos explorar essas opções.
A opção Exibir Número de Valores Distintos, faz com que o o DBeaver mostre a quantidade de
possíveis valores para serem filtrados naquela coluna, e também pode tornar o sistema mais lento,
na exibição dos resultados dependendo do tamanho da base de dados que está sendo lida, e do
número de opções daquela coluna.
Estes dois totalizadores, podem ser úteis para aplicações de dados estatísticos ou avaliação de
resultados e só devem ser usados nesses contextos.
O botão CLEAR ALL limpa a seleção de valores, e o botão APLICAR CRITÉRIOS DE FILTRAGEM
faz com que sejam exibidos nos resultados somente os valores que estão marcados. Ou seja, é
possível escolher entre a lista de possibilidades quais os valores desejados.
Por exemplo, você precisa fazer um filtro para 2 colunas, LOGRADOURO_TIPO e UF_SIGLA
onde sejam exibidos somente os registros de AGENCIAS CORREIOS e o estado de SP. Como o
número de opções possíveis para LOGRADOURO_TIPO possui uma quantidade maior de opções e
de registros, para uma melhor performance você deve primeiro aplicar o filtro de UF e
posteriormente o filtro de TIPO. Lembre-se que isso é só uma sugestão, se você usar primeiro uma
ou outra, o conjunto de resultados não se altera, porém o tempo total de processamento pode ser
ligeiramente superior ou inferior.
No contexto de filtros, ainda temos 2 outros menus que podem ser acessados, para permitir
outros filtros e combinações, eles ficam separados, no segundo bloco, pois são filtros dependentes
de uma determinada célula, ou seja, de um valor no conjunto de resultados.
VALOR DA CÉLULA – quando clicamos sobre uma célula, seu valor fica realçado, e marcado
com uma borda mais grossa, indicando que ela está selecionada. Se com essa seleção feita, acessar
o menu de contexto de filtros, e selecionar a opção valor da célula, esta segunda caixa de opções
permite usar o valor atual para basear os resultados. No nosso caso, selecionamos uma célula que
tem o valor ‘Rua’ na coluna LOGRADOURO_TIPO e as opções seguintes são os critérios de filtragem
que podem ser de 5 tipos, como segue:
campo = ‘valor’ → filtra todos os registros que sejam iguais a valor.
Para identificar o tipo de campo, os ícones em azul do lado da primeira coluna, mostram o
formato dos dados, ABC indicam campos de texto, 123 campos numéricos. Outros sistemas de
bancos de dados podem possuir outros tipos de dados, e permitirem valores e filtros diferentes.
Depois de aplicados os filtros, a linha superior do conjunto de resultados apresenta a forma
textual ou programática de aplicar esses filtros ao conjunto de resultados. No exemplo acima,
existem 2 filtros aplicados (logradouro_tipo = 'GRANDES CLIENTES') AND (uf_sigla = 'SP')
Veja, você pode escrever seus próprios filtros cada filtro, fica dentro de um () e para agrupar
mais de um filtro é usada a palavra AND por exemplo, você poderia criar filtros complexos com o
mesmo campo, intervalos de valores (aplicando um filtro maior e outro de menor) no mesmo
campo. Enfim, são inúmeras possibilidades.
EXPORTAÇÃO DE DADOS
Existem 2 formas de exportar dados pelo sistema de API do software DBeaver uma é a
exportação de todo o conjunto de resultados, e outra é a exportação dos dados já com os filtros
aplicados.
Para exportar o conjunto de dados, como apresentado na tela, ou seja, já com os filtros
aplicados, vamos utiliza a barra de opções que fica embaixo do conjunto de resultados, como
abaixo:
Os itens importantes para o nosso contexto são somente os que estão destacados, mais a
direita temos o ícone de CONTAGEM DE RESULTADOS e o VALOR DO NÚMERO DE LINHAS quando
vamos fazer a exportação, dependendo do sistema existe a necessidade de limitar a quantidade de
resultados, seja por questões de politicas ou por questões de velocidade de processamento ou
mesmo limitações físicas dos sistemas de origem e destino dos dados.
Quando clicamos sobre o ícone de CONTAGEM o sistema vai analisar todo o conjunto de
dados, verificando quantos registros (linhas) satisfazem nossos filtros e atualiza o campo NUMERO
DE LINHAS, estes valores são somente informativos, porém eles determinam o tamanho final do
arquivo de destino.
O ícone central (seta para baixo) permite escolher se o resultado a ser exportado é um
formato BANCO DE DADOS/ARQUIVO ou NAVEGADOR padrão é BANCO DE DADOS/ARQUIVO e
vamos explicar ele mais a frente de modo mais detalhado.
Quando selecionado o modo NAVEGADOR o conjunto de dados é exportado em formato
HTML e é mostrado diretamente no navegador, permitindo ser salvo em PDF ou mesmo impresso
diretamente ou compartilhado de maneira simples.
Através da exportação CSV centenas de bancos de dados como MySQL, ORACLE, MSSQL,
POSTGRES e outros podem receber os dados de maneira simples, alguns sistemas de ERP e
softwares de CRM ou específicos também aceitam o formato para a troca de dados através de
exportação e importação. O sistema DBeaver e o SQLite permitem que dados nesse formato sejam
importados diretamente para as bases de dados e combinados com as tabelas existentes, ou que
sejam gerados relatórios em conjunto com esses dados.
Caso tenha alguma dúvida as opções padrão geralmente são amplamente aceitas, e devem
atender a grande maioria dos sistemas de destino.
Este passo é totalmente dependente do destino, e de suas limitações ou politicas.