Manual DPS BaseEANS935k
Manual DPS BaseEANS935k
Índice
1 Apresentação................................................................................................................................... 3
2 Formato dos Dados e Atualizações..................................................................................................3
Formato dos Dados......................................................................................................................... 4
Tabelas Auxiliares.......................................................................................................................6
Tabela EMPRESAS...................................................................................................................6
Tabela FILIAIS.........................................................................................................................7
Tabela REGIME....................................................................................................................... 9
Tabela SIMPLESNACIONAL...................................................................................................10
Tabela SOCIOS......................................................................................................................10
Tabela PAISES....................................................................................................................... 11
OUTRAS TABELAS.................................................................................................................11
3 Utilizando a Base no Software DBeaver.........................................................................................12
Criando a Conexão a Base de Dados – Abrindo o Arquivo............................................................13
Abrindo os DADOS no MODO TABELA......................................................................................15
Visualizando e Exportando os Dados........................................................................................18
VER DADOS – Abrindo a tabela Para visualização e filtros...................................................19
Aplicando Filtros nos Dados.................................................................................................20
EXPORTAÇÃO DE DADOS..........................................................................................................23
Exportando Dados Para Outros Sistemas.............................................................................24
Utilizando o arquivo DAT SQLite em outros Sistemas...................................................................26
4 Diagrama da dados COMPLETO......................................................................................................27
5 ANEXOS.......................................................................................................................................... 28
ANEXO 1 – CALCULO DO DV DO CNPJ...........................................................................................28
IMPLEMENTANDO O DV EM LINGUAGENS DE PROGRAMAÇÃO...................................................29
JAVASCRIPT............................................................................................................................... 29
PHP........................................................................................................................................... 31
PYTHON.................................................................................................................................... 32
6 Considerações Finais e Dados do Autor.........................................................................................34
1 Apresentação
Este produto, é uma Base de Dados, desenvolvida e mantida pelo autor, que foi compilada
com base nas bases de dados de Cadastro de Medicamentos e Produtos ANVISA, e também
através da coleta e consulta de dados em diversos portais e entidades, bem como através do
cadastro centralizado de produtos do código de barras internacional EAN. Para os dados fiscais são
utilizados as tabelas fornecidas e atualizadas pelo IBPT (Instituto Brasileiro Pesquisa Tributaria) que
fornece os dados de acordo com vários critérios através do portal da entidade na internet em
https://deolhonoimposto.ibpt.org.br/ e caso você precise de dados mais específicos ou porte de
empresa basta substituir a tabela correspondente dentro do arquivo.
Todas as imagens são fornecidas pelos próprios sites dos fabricantes e/ou disponibilizadas em
sites de e-commerce, e só foram tratadas para serem inseridas dentro do formato padrão de
dados fornecido na base. Existem 4 arquivos de imagem, que vamos descrever afrente de modo
bem específico.
O principal objetivo desta base de dados, é permitir um fácil preenchimento de dados de
cadastro de produtos para supermercadistas, farmácias, lojas de conveniência, lojas de utilidades e
empresas que utilizam e/ou revendem produtos utilizando o padrão EAN. Os nomes dos produtos
são simplificados e estão em 2 formatos, sendo 1 com acentos para uso em impressão e
comunicação, e outro sem acentuação, para ser usado em emissões fiscais e documentos ou
transferências entre diferentes idiomas. É um facilitador para a completude dos cadastros, e
também um mode de higienização e homogeneização de cadastros e de outras bases de dados.
Através do sistema que foi desenvolvido, é possível realizar a filtragem e classificação dos
dados, pelo seu código EAN (codigo de barras), pela descrição ou por parte dela, pelo NCM, tipo de
embalagem, Marca registrada (marca) quendo existente, e pela categorização internacional que é
a categoria do produto muito utilizado para classificação em supermercadistas.
Devido a estruturação dos dados, é possível a conversão dos diversos padrões e a unição com
as bases de dados fiscais, de modo independente, ou seja, você pode substituir ou alterar a carga
tributária para diversos perfis de empresa e regimes de apuração para fazer simulações de carga
de impostos média para diversas situações, tornando a base também muito útil para consultorias
fiscais e empresas de contabilidade e advocacia que queiram prestar consultoria tributária para um
grande número de clientes.
Através do sistema fornecido, é possível, inserir novos produtos e expandindo a base não só
para os produtos padronizados pelo EAN DE ORIGEM como também para produtos de fabricação
própria ou artesanais que não possuem identificador internacional EAN, ou que utilizam outros
formatos de codificação.
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 de bancos de dados e de arquivos, 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.
Como pode ser visto pelo diagrama, TODOS os campos que compoem cada uma das tabelas e
como eles podem ser interligados para o levantamento das informações.
Os campos de DATA como INICIO E TERMINO da vigência dos dados de impostos do NCM
estão todos representados seguindo o padrão YYYYMMDD que é o formato utilizado pela maioria
dos sistemas onde YYYY representa o ANO sempre com 4 dígitos, MM o MÊS sempre com 2 dígitos,
e o DD representa o DIA também sempre com 2 dígitos, este formato conhecido como
TIMESTAMP1 facilita a ordenação e a visualização por seres humanos, conforme o tipo de banco de
dados, você pode querer fazer a conversão para outros formatos como o UNIXEPOACH ou EPOACH
consulte o manual ou especificação técnica do seu sistema de Banco de Dados para verificar qual o
melhor formato para o seu uso.
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.
1 TIMESTAMP ou CARIMBO DE TEMPO é um formato de representação de datas e horas por sistemas informatizados que
permite sua ordenação tanto sendo analisado como um valor numérico, como com um valor de texto.
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.
Depois disso basta clicar sobre o botão de CONCLUIR e pronto, sua base de dados já estará
pronta para ser consultada, filtrada, exportada ou manipulada diretamente ou através de
consultas realizadas através da linguagem SQL. O SQLite é totalmente compatível com todas as
instruções SQL92 inclusive com suporte de transações, e as principais funções de manipulação e
conversão de dados e formatos.
O uso da linguagem SQL e de suas variações para a manipulação, seleção, inserção, alteração,
exclusão ou contextualização e criação de tabelas ou de visualizações foge ao contexto e
abrangência deste tutorial, e caso você queira se aprofundar neste assunto, existe vasto material
disponível na internet e também cursos específicos sobre o tema em diversos níveis.
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.
DESCONECTAR: Se houverem conexões ativas(conectadas) dentro da pasta, fecha todas as
conexões. Caso não existam conexões ativas, esse item não aparece.
COPIAR: Copia o nome da pasta, para a área de transferência.
COLAR: Se houver um item na área de transferência que possa ser usado dentro do contexto
de navegação como conexões ou outras pastas, o conteúdo será colado dentro da pasta atual.
EXCLUIR: Exclui todas as subpastas ou conexões, essa ação, só exclui o acesso de dentro do
DBeaver, não removendo os arquivos de dados ou bancos de dados, ou seja, não remove
fisicamente o arquivo DAT ou outro arquivo de base de dados.
RENOMEAR: Permite alterar o nome da pasta selecionada.
ATUALIZAR: Recarrega o conteúdo da pasta, verificando se as conexões ativas continuam
ativas, ou renovando o token de acesso a servidores que precisem manter conexões abertas,
alguns servidores como o MySQL e PostgreSQL podem fechar conexões que estejam abertas,
porém sem trafego, de acordo com configurações do servidor, caso você clique sobre atualizar a a
configuração da conexão estiver setada para reconectar o DBeaver pode fazer uma nova conexão.
Ao clicar com o botão
direito sobre uma conexão, o
menu de contexto muda,
permitindo algumas opções
específicas da conexão ou de
manipulação dos dados,
vamos detalhar elas, as que
possuem uma funcionalidade
igual a do contexto de pasta,
vamos “pular” pois já foi
explicado anteriormente.
EDITOR SQL: Todas as opções do menu de editor, vão abrir o modo programático ou modo
SQL onde é possível executar as consultas (querys) ou outros comando da linguagem SQL como
criação de novas tabelas, visualizações e até mesmo a programação de SCRIPTS (transactions) que
automatizam uma série de processos na manipulação dos dados. Por se tratar de uma
funcionalidade avançada, não vamos entrar em detalhes sobre este modo, vamos diretamente ao
item ABRIR CONSOLE SQL, onde ao clicar sobre essa opção, será aberto na área de contexto um
lugar destinado ao desenvolvedor (programador) rodar comandos SQL diretamente na base de
dados aberta.
Alguns exemplos de QUERY foram mostradas acima e todas devem ser escritas exatamente
como apresentado, pois a linguagem SQL92 (usada pelo SQLite) é sensível a maiúsculas e
minúsculas. No sistema operacional WINDOWS algumas versões não são sensíveis a diferenças de
caixa do texto, e podem rodar consultas mesmo que escritas tanto com letras maiúsculas como
minuscula como com qualquer variação delas.
Em algumas situações, a tabela METADADOS_CONSULTAS pode conter algumas consultas que
podem ser copiadas e coladas diretamente no CONSOLE SQL para a execução de funções ou filtros,
ou, nossa equipe de suporte pode fornecer alguma consulta ou instrução específica para ser
rodada na console, por exemplo para criar modelos de exportação de dados, ou relatórios de
dados específicos para o cliente, ou mesmo criar tabelas ou outros conteúdos. Nestes casos o
próprio suporte vai auxiliar com a execução e utilização dentro da CONSOLE SQL.
EDITAR CONEXÃO: Em alguns sistemas de bancos de dados, permite acesso as configurações
avançadas da conexão, mudanças de credenciais, usuário e senha, parâmetros de conexão e
outros específicos. No nosso caso, não existe a necessidade de nenhuma alteração nestas
configurações, pois utilizamos sempre o padrão, caso sua configuração de computador seja muito
diferente (idiomas que usam o LTR – escrita da direita para esquerda) ou que o usuário necessite
de alguma configuração por exemplo para leitores de tela, você pode informar nosso suporte que
pode te auxiliar com as configurações específicas para nossos arquivos de dados. Alterações
inadvertidas nas configurações de servidores de bancos de dados, ou nas configurações pode
tornar o acesso aos dados inacessíveis ou causar corrupções de dados, principalmente em sistemas
que rodam remotamente.
INVALIDAR/RECONECTAR: Vai fechar e reabrir a conexão a base de dados, restaurando os
padrões de acesso ao definido na conexão. No caso do SQLite ele fecha e abre o apontador do
arquivo trazendo novamente a posição para o inicio do arquivo ou da tabela atual, e fazendo uma
nova leitura dos dados do disco rígido.
VER DIAGRAMA: Em casos de bases que suportam a visualização UML mostra o DIAGRAMA
UML de conexão. A maioria dos nossos arquivos de bases de dados, não possui nenhuma restrição
implícita ou explícita através do diagrama UML, o que permite uma maior flexibilidade na
exportação e tratamento dos dados por terceiros, caso precise você pode implementar seu próprio
diagrama, inclusive ligando com novas tabelas ou bases de dados. Como essa é uma funcionalidade
muito específica, mais destinada a analistas de dados ou desenvolvedores, não vamos entrar neste
contexto neste manual.
O Software DBeaver é feito para lidar com grandes volumes de dados, diferente de um
sistema de planilha, ele não possui uma limitação do número de linhas e colunas, sendo essa
limitação dependente do sistema de banco de dados que está conectado. A grande maioria dos
sistemas possui valores de limite muito acima das necessidades cotidianas e algumas centenas de
vezes maior que os sistemas de planilhas, dai esses limites são mais voltados ao equipamento do
que ao software.
Para essa tela, temos 2 grupos de controles que são de grande valia, um são os FILTROS e
ORDENAÇÕES que ficam na parte superior e outro é a exportação dos dados que fica na parte
inferior. Vamos ver com mais detalhes cada uma das opções, dando inicio com o contexto superior
que é a aplicação dos filtros.
Para ter acesso ao menu de contexto dos
FILTROS e ORDENAÇÕES você deve clicar sobre o
ícone de seta para baixo, ao lado no nome da
coluna que será usada para filtro ou ordenação.
Para ordenar, basta ticar sobre o checkbox de
uma ou da outra opção, onde ASC é ASCENDENTE
ou CRESCENTE, ou seja os valores serão exibidos do
menor para o maior.
Já a opção DESC ou DESCENDENTE é em
valores decrescentes, ou seja do maior para o
menor.
Quando existe um filtro para a coluna aplicado, a barra de titulo superior, exibe o nome da
coluna filtrada em negrito. Para remover o filtro em questão, basta selecionar a opção com o ícone
de uma seta vermelha, Remover Filtro Para ‘…’ que o filtro daquela coluna será removido. Para
remover todos os filtros e ordenações da tabela atual, basta selecionar o ícone da Pena, Remover
todos os filtros/ordenações que tudo será removido e todas as linhas voltam a ser exibidas.
Quando a coluna possuir valores vazios, será apresentado um bloco no menu de contexto que
na imagem é o terceiro bloco, e contém 2 opções IS NULL e IS NOT NULL estes dois filtros possuem
um significado diferente, quando IS NULL está selecionado serão mostradas somente as linhas que
nunca tiveram nenhum valor atribuído, já quando selecionado IS NOT NULL serão exibidas
somente as linhas onde existam valores indiferente do que seja, para a coluna.
O conceito de NULO (NULL) é um pouco abstrato, pois valores vazios, são entendidos por
mecanismos de bancos de dados, como existentes, porém de valor vazio. Enquanto valores nulos
equivale a não existir um valor que possa ser representado ou que nunca foi preenchido.
Analogamente ao sistema eleitoral brasileiro, o conceito de vazio seria similar ao voto em branco,
enquanto o conceito de nulo equivale ao voto nulo.
A opção Salvar Configurações de Filtro permite salvar os filtros aplicados, e a ordenação dos
dados para que possam ser aplicados ao abrir novamente a tabela. De modo que é possível,
sempre retornar a configuração salva. Essa opção é salva dentro da aplicação DBeaver, e não
interfere no arquivo de dados, nem nos bancos de dados, somente no computador e usuário
atuais.
Por exemplo, você precisa fazer um filtro para 2 colunas, LOGRADOURO_TIPO e UF onde
sejam exibidos somente os registros de AVENIDAS 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.
Campo <> ‘valor’ → Filtra os registros que sejam diferentes de valor.
Campo > ‘valor’ → Filtra os campos que sejam maiores que, em valores numéricos, são
valores maiores, já em campos textuais são valores que quando ordenados alfabeticamente, sejam
maiores, em campos data são datas posteriores.
Campo < ‘valor’ → Filtra os campos que sejam menores que, em valores numéricos, são
valores menores, já em campos textuais são valores que quando ordenados alfabeticamente,
sejam anteriores, em campos data são datas anteriores.
Campo LIKE ‘%valor%’ → O filtro LIKE é um filtro especial para valores textuais, e significa que
contenha, no campo referente ao valor, existe também um caractere conhecido como caractere
curinga (%) que tem um significado especial. Por exemplo ‘%maçã%’ significa que queremos todos
os campos que contenham o texto ‘maca’ em qualquer parte do campo, ou seja, retornaria
registros para maçã, armação. Se usarmos o filtro ‘maçã%’ somente retornaria por exemplo
registro como maçã fuji, maçã gala. Se usar o filtro ‘%maçã’ seriam retornados valores como
banana maçã, geleia de maçã, maçã.
Os mesmos filtros acima estão também
disponíveis quando selecionamos o menu
CUSTOMIZADO sendo que a diferença é que será
aberto a caixa de contexto como ao lado, para que
você possa digitar o valor desejado.
Ao clicar em OK o filtro digitado será aplicado,
caso esteja um valor vazio, somente a caixa de
dialogo é fechada, e nenhum filtro será aplicado.
Por fim, temos uma outra opção, que é a de
PERSONALIZAR FILTROS… onde vai se abrir um novo menu de contexto, como o da figura abaixo:
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.
Através da exportação dos dados, você também pode utilizar o sistema de gerenciamento de
banco de dados que desejar, porém, essa opção acaba gerando maior tempo na atualização, já que
existe a necessidade de exportação para o formato intermediário e depois a importação dos
mesmos na base final.
Você também pode utilizar a API do DBeaver, para exportar dados para outros sistemas e
bancos de dados, basta adicionar a conexão ao sistema de destino, e nas opções de exportação
selecionar o modelo de BANCO DE DADOS que o DBeaver já vai abrir as opções específicas da API
do banco de destino permitindo uma fácil exportação, que pode ser feita de maneira automática,
tanto substituindo todos os dados, como se o banco de destino permitir, somente os dados
alterados.
E-Mail: [email protected]
WEB: www.brasap.com.br – Desenvolvimento de Sistemas
WEB: www.digitalproductsshop.com.br