Dados Estruturados e Não Estruturados

No segundo episódio da primeira temporada da Grade Mestre, você aprendeu a diferença entre dados e informações. Agora, sabe qual é a diferença entre dados estruturados e não estruturados? Descubra neste artigo, o episódio 3 da nossa série.

Diferença entre Dados Estruturados e Não Estruturados

Existem 3 formas de classificar os dados de acordo com sua estrutura:

  • Dados estruturados
  • Dados semi-estruturados
  • Dados não estruturados

A imagem acima mostra uma diferença visual, sugerindo que os dados estruturados são organizados em um padrão fixo, enquanto os não estruturados são seguem uma estrutura rígida. Os semi-estruturados fica entre os extremos: não são estruturados de forma rígida, mas também não são totalmente desestruturados.

Vamos ver agora em detalhes cada classificação de dados e depois os compararemos novamente.

Dados Estruturados

Dados estruturados são aqueles organizados e representados com uma estrutura rígida, a qual foi previamente planejada para armazená-los.

Pense em um formulário de cadastro com os campos: nome, e-mail, idade e uma pergunta que admite como resposta sim ou não. O campo nome será um texto, uma sequência de letras com ou sem a presença de espaços em branco, que terá um limite máximo e não poderá conter números ou símbolos. O campo e-mail também terá o padrão textual, mas formado por uma sequência de caracteres (e não só letras, pois admitirá números e alguns símbolos) e terá que ter obrigatoriamente um arroba. Idade é um campo que aceita apenas um número inteiro positivo, enquanto o campo referente a pergunta armazena um valor binário (pense um 1 bit, que pode ser 0 ou 1. Valor 0 para não, 1 para sim). Assim, cada campo possui um padrão bem definido, que representa uma estrutura rígida e um formato previamente projetado para ele. Destaco 2 pontos:

  • Os dados de um mesmo cadastro estão relacionados (dizem respeito a mesma pessoa). Em outras palavras, os dados estruturados de um mesmo bloco (registro) possuem uma relação.
  • Registros ou grupos de dados diferentes (como de pessoas diferentes), possuem diferentes valores, mas utilizam a mesma representação estrutural homogênea para armazenar os dados. Ou seja, possuem mesmo atributos (pense como sinônimo de campos no exemplo acima) e formatos, mas valores diferentes.

Agora, veja, banco de dados é um exemplo de dados estruturados, mas existem outros. O formulário de cadastro, mesmo que salvasse os dados em outro recurso fora banco de dados (como em um arquivo), também é um exemplo de dados estruturados por conter campos definidos por uma estrutura rígida e previamente projetada, se enquadrando na definição.

Exemplos de Dados Estruturados

O exemplo mais típico de dados estruturados é um banco de dados. Nele, os dados são estruturados conforme a definição de um esquema, que define as tabelas com seus respectivos campos (ou atributos) e tipos (formato). O esquema pode ser pensado como uma meta-informação do banco de dados, ou seja, uma descrição sobre a organização dos dados que serão armazenados no banco. É exatamente como no exemplo do formulário que, normalmente, está interligado com um banco de dados.

Dados Não Estruturados

Qual é o oposto de uma estrutura rígida e previamente pensada? Uma estrutura flexível e dinâmica ou sem estrutura. Exemplo mais comum? Um documento ou um arquivo.

Pense em um arquivo feito em um editor de texto. Você pode adicionar quanto texto quiser, sem se preocupar com campos, restrições e limites. O arquivo pode conter também imagens, como gráficos e fotos, misturado com textos. Imagens, assim como vídeos ou arquivos de áudio, são também exemplos de dados não estruturados.

Assim, é fácil concluir que as redes sociais, as quais possuem um enorme volume de dados, como textos, imagens e vídeos criados diariamente por usuários, representam outro exemplo de dados não estruturados. Atualmente, mais de 80% do conteúdo digital gerado no mundo é do tipo não estruturado. Essa informação está nesse artigo.

Exemplos de Dados Não Estruturados

Normalmente, basta pensar em uma situação de dados que não seguem estrutura para termos exemplos de dados não-estruturados, mas é preciso tomar um pouco de cuidado com essa análise.

Em computação, todo dado, seja ele um arquivo ou um campo rígido, terá que ter algum tipo de estrutura, mesmo que mínima. Um arquivo é um tipo de estrutura mínima, pois é a unidade básica de armazenamento de um sistema operacional, mas ela é genérica, pois aceita diferentes tipos de dados. Em resumo, quase tudo cairá em um arquivo, mesmo porque um vídeo tem que gravar em arquivo seus dados com um codificador (codec), um áudio também e assim por diante. Pensem, portanto, na estrutura interna do arquivo, se ela existe e é rígida, ou não.

Assim, possivelmente, a maior parte dos arquivos que você pensar serão não-estruturados. Vamos aos exemplos:

  • Textos diversos (páginas da internet, relatórios, documentos, e-mails, mensagens em aplicativos como Whats App etc)
  • Imagens (fotos, gráficos, ilustrações, desenhos etc)
  • Arquivos de áudio (música, streaming etc)
  • Arquivos de vídeo (filmes, seriados, feitos por usuários etc)
  • Redes sociais (blogs, Facebook, Twitter, Instagram, Linkedin etc)

Diferença entre Dados e Não Estruturados

Sei que você já entendeu, mas vou reforçar a informação imaginando três situação com duas possíveis soluções e consequências.

Situação 1

Situação 1: “Ao final de um evento presencial, cadastrarei pessoas interessadas em fazer um curso online com uma empresa. Para reservar uma vaga, preciso do nome, e-mail e idade da pessoa.

Solução A: Desenvolvi um sistema com campos em um formulário que cadastra os dados em um banco de dados. Planejei e criei previamente o banco de dados, o integrando com o sistema do formulário.

Solução B: Abri meu editor de texto e saí escrevendo os dados da galera. Coloquei cada dado em uma linha e tracei uma reta ao final de cada registro para separar as pessoas.

Situação 2

Situação 2: “Durante o cadastro, algumas pessoas acreditavam que o curso seria presencial, no lugar que tinha ocorrido o evento e não online, de forma que, para esse público, eles preferem aulas presenciais. Entrei em contato com meu cliente, a empresa que solicitou o cadastro dos interessados, e eles então me pediram que eu armazenasse o endereço de todos os interessados para saber se eles moram perto de alguma outra unidade da empresa.

Solução A: Disse ao cliente que isso não seria possível. Não temos como inserir outra informação, como endereço, se não reformularmos o esquema do banco de dados para aceitar esse novo atributo, bem como editar a interface para inclusão de mais um campo, interligado ao atributo do banco. A estrutura de dados é rígida, por isso precisa ser previamente pensada e não será alterada na hora, em tempo real.

Solução B:  Simples, criei uma linha a mais para cada registro e o editor de texto caiu como uma luva para essa demanda maluca em cima da hora. O arquivo de texto me permitiu qualquer tipo de cadastro, pois não impõe nenhuma estrutura interna rígida.

Situação 3

Situação 3: “O cliente deseja obter os dados em forma de relatório, com o número total de cadastros e cada registro em uma linha da planilha.

Solução A:  Simples, basta executar alguns comandos de banco de dados e teremos isso em segundos. O fato dos dados estarem estruturados ajuda muito tarefas como essa.

Solução B:  Terei que contar manualmente, além de transpor manualmente para o formato de relatório também. Mesmo que eu faça um programa para fazer essa tarefa por mim, ainda assim, faremos uma busca em dados não estruturados.

Importante

É claro que forcei a barra no exemplo, pois a situação 1 e 2 correspondem a uma total falha de comunicação entre a divulgação do curso e os interessados. Na prática, no mundo real, a maioria dos cadastros são feitos com banco de dados e penso que seria bem improvável um fornecedor de tecnologia oferecer uma solução de cadastro em um editor de texto, como o Word ou o bloco de notas.

Dados Semi-Estruturados

Apresentam uma representação heterogênea, ou seja, possuem estrutura, mas ela é flexível. Assim, pensando no exemplo acima, ela agrega um pouco dos dados lados em termos de benefícios. Facilita o controle por ter um pouco de estrutura, mas também permite uma maior flexibilidade.

Um exemplo típico é um arquivo em XML (eXtensible Markup Language, que significa, em português, linguagem de marcação estendida), o qual possui nós, que são rótulos de abertura e fechamento, este precedido com o símbolo “/”, com os dados inseridos entre os nós. Vamos exemplificar.

Imagine o seguinte texto bruto (digo, por estar em um editor de texto):

Nome: Leandro Pinho Monteiro

E-mail: leandro@mentalguild.com.br

Rua Siqueira Bueno, 1134, Mooca, São Paulo.

Agora, pensem nesses dados não-estruturados transpostos para um arquivo XML. O conteúdo da arquivo ficará ssim:

<?xml version=”1.0″ encoding=”UTF-8″ ?>

<cadastro>

<nome>Leandro Pinho Monteiro</nome>

<e-mail>leandro@mentalguild.com.br</e-mail>

<endereço>Rua Siqueira Bueno, 1134, Mooca, São Paulo</endereço>

</cadastro>

A primeira linha serve para avisar que o arquivo contém uma estrutura XML e que usa codificação de caracteres unicode.

Outros exemplos de arquivos com dados semi-estruturados:

  • JSON – Javascript Object Notation,
  • RDF – Resource Description Framework,
  • OWL – Web Ontology Language.

Dados semi-estruturados possuem também outras classificações internas e características, mas esse assunto é mais avançado e será visto na temporada de banco de dados. Para quem tem fome de conhecimento e quer navegar bem profundo nesse tema, deixo esse artigo aqui.

Resumo visual

Para concurseiros

Na prova de Perito Criminal Federal de 2018, o tema da redação, que corresponde a produção de um texto de até 30 linhas que responda 3 perguntas do enunciado, foi bancos de dados NoSQL. Esse tipo de banco está ganhando cada vez mais notoriedade, pois é capaz de lidar com dados não-estruturados. No contexto da prova, a argumentação foi de que, com operações como a Lava Jato, um volume muito grande de dados não-estruturados foi apreendido como prova. A análise desse material é computacional complexa, pois demanda muito processamento, requerendo soluções próprias para esse tipo de dado.

Para interessados em Big Data

O tema deste artigo facilmente introduz outros na área de banco de dados. Um deles é, certamente, Big Data. Deixo aqui uma leitura interessante sobre o mesmo tema, mas como uma ótica de Big Data.

Esse outro, ao final, faz alguns comentários interessantes sobre o mercado de TI focado em dados.

Ficha Técnica

Série: Grade Mestre de Ciência da Computação, Temporada 1, Episódio 3.

Área: Tecnologia da Informação

Matéria (disciplina) da grade mestre: 1. Fundamentos de TI

Tópico: 1.1 Informática, TI, Dados, Hardware e Software

Checkpoint: (C) Dados Estruturados e Não Estruturados

Vídeo: aqui

 

Referências

GRIMES, Seth. Unstructured Data and the 80 Percent Rule. Disponível em: <http://breakthroughanalysis.com/2008/08/01/unstructured-data-and-the-80-percent-rule/>. Acesso em: 04 de fev. de 2019.

TAYLOR, Christiane. Structured vs. Unstructured Data. Disponível em: <https://www.datamation.com/big-data/structured-vs-unstructured-data.html>. Acesso em: 04 de fev. 2019.

MELLO, Ronaldo dos Santos; DORNELES, Carina Friedrich; KADE, Adrovane; BRAGANHOLO, Vanessa de Paula; HEUSER, Carlos Alberto. Dados Semi-Estruturados. Disponível em: <https://www.ime.usp.br/~jef/semi-estruturado.pdf>. Acesso em: 04 de fev. 2019.

Sobre o Autor

Leandro Pinho Monteiro

Leandro Pinho é engenheiro de computação, graduado em Ciência da Computação na Universidade Estadual de Maringá (UEM) e mestre em Engenharia da Computação na Faculdade de Engenharia Elétrica e Computação (FEEC) da UNICAMP, ambas formações com foco em Computação Gráfica. Possui experiência no desenvolvimento de sistemas interativos 3D para pontos de venda, marketing e eventos. Atualmente trabalha como consultor de tecnologia e é o responsável pela coordenação dos cursos oferecidos na Universidade da Tecnologia.