Você está na página 1de 16

proposta específica.

Ele possui um grupo definido de usuários e


algumas aplicações previamente concebidas nos quais esses
VISÃO GERAL SOBRE SISTEMAS DE SUPORTE À DECISÃO E usuários estão interessados. Um banco de dados de uma loja de
INTELIGÊNCIA DE NEGÓCIO E FUNDAMENTOS SOBRE varejo é diferente em tamanho e complexidade se comparado ao
ANÁLISE DE DADOS. mantido pela Receita Federal com dados fiscais de toda a
população brasileira, por exemplo.
INTRODUÇÃO Geração e manutenção dos dados: um banco de dados pode
Este capítulo tem como objetivo apresentar a vocês os conceitos ser gerado e mantido manualmente ou de forma automatizada. Por
iniciais sobre bancos de dados. Vocês aprenderão que existe exemplo, um catálogo de cartão de biblioteca é um banco de dados
diferença entre dados e informação e que, a partir deles, é possível que pode ser criado e mantido manualmente. Já um banco de
gerar conhecimento. Entender isto é importantíssimo para a dados criado e mantido por um grupo de programas de aplicação,
resolução de várias questões em provas de concursos. como um Sistema Gerenciador de Banco de Dados – SGBD, é um
exemplo de automatizado ou computadorizado.
DADO, INFORMAÇÃO E CONHECIMENTO
Para entendermos melhor o que é um banco de dados, é SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD)
necessário compreender antes a diferença que existe entre dado, Bancos de dados existem normalmente para serem utilizados por
informação e conhecimento. aplicações. São elas que realizam as consultas e fazem alterações
em cima destes dados.
SABADIN (2020) define que o dado é um conteúdo que ainda não Para tornar este processo mais simples, existe o Sistema
foi processado para gerar um significado. Também pode-se dizer Gerenciador de Banco de Dados (SGBD).
que dado é a menor unidade de conteúdo que tem significado no
mundo real. Para gerar alguma informação, é necessário, então, Definição de SGBD
realizar uma análise nestes dados e formatá-los de uma forma mais
resumida e de fácil entendimento. A partir da informação, pode-se ELMASRI E NAVATHE (2011) definem um SGBD como uma coleção
gerar conhecimento. Assim, quando conseguimos compreender de programas que permite aos usuários criar e manter um banco
informações e relacioná-las a um contexto, estamos obtendo de dados. Fique atento que este conceito é bastante cobrado em
conhecimento. provas de concursos!
Já o autor SILBERSCHATZ (2006) define um SGBD como uma
coleção de dados interrelacionados e um conjunto de programas
para acessar esses dados. O objetivo principal de um SGBD é
A partir dos conceitos do que são dados, informações e prover formas de armazenar e recuperar informação em um banco
conhecimento e qual a diferença entre ambos, precisamos definir de dados de maneira conveniente e eficiente.
agora onde os dados ficam armazenados. Ainda segundo SILBERRSCHATZ (2006), uma das principais razões
para se usar um SGBD é ter um controle central dos dados e dos
CONCEITO DE BANCO DE DADOS programas que acessam esses dados. ELMASRI E NAVATHE (2011)
enumeram várias vantagens na utilização de SGBDs, tais como:
ELMASRI E NAVATHE (2011) definem Banco de Dados (ou Base de
Dados) como “uma coleção de dados, que representam algo do  Controle de redundância;
mundo real, se relacionam entre si e são projetados, construídos e  Restrição de acesso não autorizado;
populados para atender a um grupo de usuários interessados, com  Armazenamento persistente;
um fim específico”. É interessante mencionarmos também a  Armazenamento de estruturas para o processamento eficiente
definição dada por C. J. DATE (2003), no qual “um banco de dados de consultas;
é uma coleção de dados persistentes que é usada pelos sistemas  Backup e restauração;
de uma organização”.  Múltiplas interfaces para os usuários;
 Representação de relacionamentos complexos
A partir destas definições, ELMASRI E NAVATHE (2011) destacam  entre os dados;
que existem algumas propriedades implícitas de um banco de  Garantia de restrições de integridade.
dados, são elas:
De forma resumida, temos, então, que o SGBD é um sistema de
Representação do mundo real: um banco de dados representa software de uso geral que facilita o processo de definição,
algum aspecto do mundo real, algumas vezes chamado de construção, manipulação e compartilhamento de dados entre
“minimundo”. Mudanças no minimundo provocam mudanças na diversos usuários e aplicações. Ele também tem a função de
base de dados. Por exemplo, se quisermos construir uma aplicação proteção (contra falhas de hardware e software) e de segurança
para uma Universidade, o nosso “minimundo” deveria ser (acessos não autorizados ou maliciosos) dos dados nele
representado por dados referentes à professores, alunos, cursos, armazenados, ao mesmo tempo em que permite o
disciplinas etc. compartilhamento desses dados entre vários usuários e aplicações.
Sempre que uma nova informação fosse adicionada (ingresso de
novos alunos) ou modificada (mudança de professor para uma Antes da criação do conceito de SGBD, os bancos de dados
disciplina), seria necessário atualizar essas informações na base de utilizavam apenas sistemas de arquivos, não existindo muita
dados. integração entre sistemas distintos. Isso gerava diversos
problemas, tais como, redundância de dados, concorrência de
Dados com significado inerente: um banco de dados é uma acessos, além de que toda a organização dos dados ficava
coleção logicamente coerente de dados com algum significado armazenada no programa que fazia a sua utilização. Com isso, se a
inerente. Uma variedade aleatória de dados não pode ser estrutura de dados de um arquivo fosse alterada, todos os
corretamente chamada de banco de dados. Por exemplo, não faria programas que utilizassem esse arquivo precisariam ser
sentido uma base de dados com informações sobre um cadastro de atualizados, pois deixariam de funcionar.
pessoas (nome, sobrenome, data de nascimento etc.) no mesmo Cenário impossível atualmente, não é mesmo?
local (ou na mesma tabela para casos de bancos de dados
relacionais) do cadastro de carros (modelo, cor, placa, chassi). Características de um SGBD
Dados com finalidade específica: um banco de dados é
projetado, construído e populado por dados atendendo a uma
Os dados podem ser armazenados em arquivos no formato texto, integridade do banco de dados. Assim, o DBA é responsável pelo
planilhas ou em bancos de dados. ELMASRI E NAVATHE (2011) controle geral do sistema em um nível técnico (C. J. Date, 2003).
destacam as principais características da abordagem de banco de
dados que diferem do armazenamento de dados em sistemas de Projetistas de Banco de Dados:
arquivos, são elas: São responsáveis por identificar os dados a serem armazenados e
escolher estruturas apropriadas para representar e armazenar
 Natureza de autodescrição de um banco de dados; esses dados. Também é responsabilidade dos projetistas de banco
 Isolamento entre programas e dados; de dados se comunicar com todos os potenciais usuários a fim de
 Abstração de dados; entender suas necessidades e criar um projeto que as atenda
 Suporte para múltiplas visões de dados; (Elmasri e Navathe, 2011).
 Compartilhamento de dados;
 Processamento de transação multiusuário. Usuários Finais:
São pessoas cujas funções exigem acesso ao banco para consultas,
Arquitetura de um SGBD atualizações e geração de relatórios (Elmasri e Navathe, 2011).

Conforme vimos anteriormente, uma das principais características Analistas de Sistemas:


de um SGBD é retirar da aplicação a preocupação de realizar a Determinam os requisitos de usuários finais, especialmente dos
estruturação dos dados, deixando de forma transparente o acesso usuários comuns, e desenvolvem especificações das transações
a eles. para atender
a estes requisitos (Elmasri e Navathe, 2011).
De forma simplificada, um SGBD faz a interface entre a camada Programadores de Aplicações:
física de armazenamento dos dados (discos, storage, métodos de Implementam especificações produzindo programas e, então,
acesso, clustering de dados etc.) e a sua organização lógica através testam, depuram, documentam e mantêm estes programas.
de um determinado modelo de organização. Dessa forma, o SGBD Analistas e programadores devem estar familiarizados com todas as
elimina grande parte da complexidade do gerenciamento dos capacidades fornecidas pelo SGBD para desempenhar estas tarefas
dados, fazendo com que os usuários e programadores tenham um (Elmasri e Navathe, 2011).
foco maior na construção da lógica de suas aplicações e consultas
ao invés do armazenamento dos dados. Exemplos de SGBD

Assim, SGBDs são construídos, de forma geral, por módulos com Atualmente existem vários fornecedores de bancos de dados. Cada
funcionalidades bem definidas. Cada módulo possui uma um deles possui características e algumas peculiaridades no qual
responsabilidade no processo de gerenciamento dos dados. são necessárias análises antes de decidir qual banco utilizar, sendo
Usuários e programadores interagem com estes módulos a fim de alguns destinados a projetos menores, enquanto outros não.
obter seus resultados. A figura a seguir detalha essa estrutura: Dessa forma, o custo para realizar a implantação do SGBD deve ser
levado em conta antes da contratação.
A seguir são descritos os principais SGBDs disponíveis no mercado
e que estão sempre presentes nas questões de provas de
concursos.

MySQL é um dos SGBDs de código aberto mais populares do


mundo. Com seu desempenho comprovado, confiabilidade e
facilidade de uso, o MySQL se tornou a principal escolha de banco
de dados para aplicativos baseados na web, usados por Facebook,
Twitter, YouTube, Yahoo! e muitos mais.
ORACLE é um dos bancos de dados mais robustos e confiáveis do
mundo corporativo. Possui uma vasta lista de recursos e tem a
linguagem PL/SQL para desenvolvimento de funcionalidades
internas.
PostgreSQL é um poderoso SGBD de código aberto que usa e
estende a linguagem SQL combinada com muitos recursos que
armazenam e escalam com segurança as cargas de trabalho de
dados mais complicadas.
SQL Server é um SGBD desenvolvido e comercializado pela
Microsoft.
Profissionais de Banco de Dados
Arquitetura de Três Esquemas (ANSI/SPARC)
Existem vários tipos de profissionais que estão envolvidos em um A divisão em diversos componentes (software de aplicação, SGBDs,
SGBD. Alguns têm um foco mais gerencial, enquanto outros apenas etc) é o principal objetivo dos sistemas de banco de dados,
se concentram na manipulação dos dados. proporcionando uma independência entre as estruturas
subjacentes. A arquitetura de três esquemas foi criada como sendo
C. J. DATE (2003) e ELMASRI E NAVATHE (2011) descrevem uma estratégia para formalizar essa independência.
alguns tipos de profissionais e suas atividades: ELMASRI e NAVATHE (2011) define que o objetivo da arquitetura
de três esquemas é separar o usuário da aplicação do banco de
Administrador de Dados (AD): dados físico. Nessa arquitetura, os esquemas são organizados em
Pessoa que toma as decisões estratégicas e de normas com relação três níveis, são eles:
aos dados da empresa. Nível externo (ou visão externa):
Decisões, estas, das quais informações devem ser mantidas no Inclui uma série de esquemas externos ou visões do usuário. Cada
banco de dados. esquema externo descreve a parte do banco de dados em que um
Administrador de Banco de Dados (DBA): grupo de usuários em particular está interessado e oculta o
„ É a pessoa que fornece o suporte técnico para implementar essas restante do banco de dados do grupo de usuários.
decisões. Define e implementa um sistema de controle de danos ao
banco de dados, em geral envolvendo a carga e a descarga de Nível conceitual (ou esquema conceitual):
banco de dados. Também define as restrições de segurança e

2
Descreve a estrutura do banco de dados inteiro para a comunidade A representação dos dados pode estar submetida a diferentes
de usuários, ocultando detalhes das estruturas de armazenamento níveis de abstração. ELMASRI E NAVATHE (2011) dividem estes
físico e concentrando-se na descrição de: níveis em modelos conceituais, modelos lógicos ou
 Entidades; representacionais e modelos físicos.
 Tipos de Dados;
 Relacionamentos; Modelo Conceitual
 Operações de usuários;
 Restrições. O modelo conceitual é um modelo de dados de alto nível, mais
próximo ao modo como o usuário vê os dados.
Nível interno (ou esquema interno): HEUSER (2009) também define que este é um modelo de dados
Também conhecido como nível de armazenamento, descreve a abstrato, que descreve a estrutura de um banco de dados de forma
estrutura de armazenamento físico do banco de dados. O esquema independente de um SGBD.
interno usa um modelo de dados físico e descreve os detalhes
completos do armazenamento de dados e caminhos de acesso para Assim, o modelo conceitual não se refere a características físicas ou
o banco de dados. de baixo nível como forma de acesso e armazenamento dos dados.
Ele está focado em ilustrar a realidade existente a partir de uma
Para uma melhor visualização, acompanhe o esquema abaixo: representação gráfica.

Assim, o modelo conceitual não estabelece características físicas ou


de baixo nível dos bancos de dados como forma de acesso ou
armazenamento dos dados.
Ele está focado em ilustrar uma realidade existente em um
contexto de negócio a partir de uma representação gráfica.

Neste modelo, são utilizados conceitos como entidades, atributos e


relacionamentos.

Um dos modelos de dados conceituais mais conhecidos e utilizados


na modelagem de banco de dados é o Modelo Entidade-
Relacionamento (MER). Nele, além dos conceitos vistos
anteriormente como entidade, atributos e relacionamento, são
representados também conceitos centrais como
generalização/especialização e entidade associativa. Este modelo é
É importante destacar que nessa arquitetura, os três esquemas são o mais cobrado em provas de concursos e no próximo capítulo
apenas descrições dos dados. O dado, propriamente dito, existe iremos detalhar mais sobre ele.
somente no nível físico e um usuário interage somente ao seu
próprio esquema externo. A figura a seguir ilustra um exemplo de um Diagrama de Entidade-
Relacionamento.
INDEPENDÊNCIA DE DADOS
ELMASRI e NAVATHE (2011) definem a independência de dados
como a capacidade de modificar ou alterar a definição dos
esquemas em determinado nível, sem afetar o esquema do nível
superior. A arquitetura de três esquemas auxilia na independência
de dados.

Existem dois tipos de independência de dados, são eles:


Modelo Lógico (Representativos ou de Implementação)
Independência Lógica de Dados:
É a capacidade de alterar o esquema conceitual sem mudar o O modelo lógico tem por objetivo representar as estruturas que
esquema externo ou os programas. A independência lógica é mais irão armazenar os dados dentro de um banco de dados. Este
difícil de ser alcançada que a independência física porque os modelo inclui a estrutura das tabelas, domínios, chaves e
programas são dependentes da estrutura lógica dos dados. restrições.

Independência Física de Dados: É importante destacar que o modelo lógico é iniciado somente a
É a capacidade de mudar o esquema interno sem ter de alterar o partir da estruturação do modelo conceitual. Dessa forma, o
esquema conceitual. Consequentemente, o esquema externo modelo lógico é dependente do tipo ou modelo de SGBD que será
também não precisa ser modificado. utilizado, ou seja, é levada em consideração qual abordagem será
MODELOS DE DADOS utilizada referente ao banco de dados, se Relacional, Hierárquico
Após estudarmos os principais conceitos de banco de dados, vamos ou de Rede.
nos concentrar nos diferentes tipos de modelos de dados que
possibilitam diferentes tipos de visões dos usuários. A figura a seguir ilustra um exemplo de um modelo lógico seguindo
a abordagem de Bando de Dados Relacional.
Para C. J. DATE (2003) os modelos de dados servem para
descrever a estrutura de um banco de dados, fornecendo
significado necessário para permitir a abstração de dados, uma das
características fundamentais dos bancos de dados.

A abstração de dados em um SGBD tem o intuito de retirar da visão


do usuário final informações a respeito da forma física de
armazenamento dos dados, simplificando a interação do usuário
com o sistema.
A abstração de dados, então, refere-se à supressão de detalhes da
organização e armazenamento dos dados. Modelo Físico

3
Os modelos físicos são modelos de baixo nível que descrevem os
detalhes de como os dados serão armazenados no computador.
Geralmente, estes modelos são voltados para especialistas. Assim,
o modelo físico é construído com base no modelo definido
anteriormente (modelo lógico), com o objetivo de ser aplicado
sobre um SGBD específico.
Na construção do modelo físico, são definidas características como
tipo e tamanho do campo, relacionamento, indexação e restrições.
Dessa forma, este modelo se importa em descrever as estruturas
físicas dos bancos de dados, tais como tabelas (tables), índices
(index), gatilhos (triggers), funções (functions), visões (views), etc.
A caixa a seguir ilustra um script de banco de dados em SQL
representando a criação dos detalhes dos dados internamente ao
banco de dados (campo, tipo/domínio, restrições).

Levantamento e Análise de Requisitos:


Nesta etapa, os projetistas de banco de dados entrevistam os
usuários esperados para entenderem e documentarem seus
requisitos de dados. O resultado desta etapa é um conjunto de
requisitos dos usuários escrito de forma concisa. Esses requisitos
devem ser especificados da forma mais detalhada e completa
Arquitetura de Três Esquemas possível.
 Visão Externa (Nível Externo)
 Esquema Conceitual (Nível Conceitual) Modelagem Conceitual:
 Esquema Interno (Nível Interno) Baseado na análise de requisitos é construído um modelo de dados
conceitual de alto nível na forma de um Modelo de Entidade-
Independência de Dados Relacionamento (MER).
 Lógica Aqui são descritos as entidades, atributos, relacionamentos, além
 Física de possíveis restrições. Esta fase é independente de SGBD.
Modelo de Dados
 Conceitual (alto nível) Projeto Lógico:
 Lógico (ou representativos) Nesta etapa, o modelo conceitual é convertido em modelo de
 Físico dados lógicos. O modelo lógico define como o banco de dados será
implementado por um SGBD específico, podendo ser do tipo
PROJETO DE BANCO DE DADOS Relacional, Hierárquico ou Rede. Como vimos anteriormente, o
Segundo ELMASRI E NAVATHE (2011), para se ter uma visão mais modelo lógico descreve as estruturas que estarão contidas no
completa dos modelos de dados, é importante ter conhecimento banco de dados, mas sem considerar ainda nenhuma característica
das principais fases do projeto de banco de dados. específica de SGBD, resultando em um esquema lógico de dados.

A figura a seguir ilustra o esquema geral das diferentes etapas que Projeto Físico:
serão percorridas ao longo do desenvolvimento de um novo banco Na última etapa, são especificadas as estruturas de
de dados no contexto do desenvolvimento de um novo sistema ou armazenamento internas, organizações de arquivo, índices,
aplicação. caminhos de acesso e parâmetros físicos do projeto para os
arquivos de banco de dados. Em paralelo, os programas de
aplicação são projetados e implementados como transações de
banco de dados correspondentes às especificações da transação de
alto nível. O projeto físico é um processo contínuo, que ocorre
mesmo depois de o banco de dados já estar implementado e em
funcionamento, este processo é chamado de sintonia (tunning) de
banco de dados. Aqui o modelo físico é dependente do SGBD que
será implantado, podendo ser o MySQL, Oracle, PostgreSQL ou SQL
Server, por exemplo.
Para fixar um pouco mais tudo o que vimos neste capítulo, vamos
resolver alguns exercícios de provas de concursos anteriores.

MODELAGEM CONCEITUAL
HEUSER (2009) define que o objetivo da modelagem conceitual é
obter uma descrição abstrata, independente de implementação em
computador e dos dados que serão armazenados no banco de
dados.
Temos que a abordagem Entidade-Relacionamento (ER) é a técnica
de modelagem mais utilizada na modelagem conceitual, o Modelo
Entidade-Relacionamento (MER) é modelo de dados conceitual
mais popular de alto nível e os Diagramas Entidade-

4
Relacionamento (DER) são a notação diagramática associada ao Mínima: participação ou dependência de existência.
MER.
A cardinalidade máxima, informa o número de ocorrências de
ENTIDADE instâncias de uma entidade com a outra. Para fins práticos, apenas
HEUSER (2009) define uma entidade como um conjunto de objetos duas cardinalidades máximas são representadas de cada lado dos
da realidade modelada sobre os quais se deseja manter losangos do relacionamento, as:
informações no banco de dados. Por exemplo:
De valor 1;
Existência Física: Pessoa, Carro, Casa, Empregado etc. E as de valor N.
Existência Conceitual: Empresa, Departamento, Trabalho,
Cargo, Curso etc. A cardinalidade máxima é usada para classificar os relacionamentos
Cada entidade possui um conjunto de atributos, que são as binários, aqueles nos quais os relacionamentos se dão entre duas
características que descrevem uma entidade em particular. Por entidades. São tipos de relacionamentos:
exemplo, a partir de uma entidade que representa uma pessoa, os 1:1 (um-para-um) – cada instancia de uma entidade se relaciona
atributos pertencentes a ela poderiam ser peso, altura, idade ou apenas com uma e somente uma instancia da outra entidade.
CPF.
Em um Diagrama ER, uma entidade é representada através de um Por exemplo: Na imagem abaixo temos o relacionamento que um
retângulo que contém o nome da entidade. A figura a seguir ilustra Empregado gerencia um Departamento, assim como, um
dois exemplos de entidades: Departamento é gerenciado por apenas um Empregado (Gerente).

Tipos de Entidades:
 Normal;
 Fraca (mais detalhes a seguir);
 Associativa (mais detalhes a seguir). 1:N (um-para-muitos) – uma instância se relaciona com várias
na outra entidade, mas cada instância da outra entidade só pode
RELACIONAMENTO estar relacionada a uma única ocorrência da primeira entidade.
HEUSER (2009) define que um relacionamento é a representação
de um conjunto de associações entre as ocorrências de entidades. Por exemplo: Na imagem abaixo, um Departamento controla
Dessa forma, pode-se representar as interações que foram vários Projetos, assim como, um Projeto é controlado apenas por
identificadas no processo de análise entre as entidades. No um Departamento.
Diagrama ER um relacionamento é representado por um losango
que faz a interligação de suas respectivas entidades.
O nome do relacionamento aparece dentro do losango. A figura a
seguir apresenta um exemplo contendo duas entidades,
DEPARTAMENTO e PROJETO ligados ao relacionamento
CONTROLA.

N:N (muitos-para-muitos) – uma instância se relaciona com


várias ocorrências na outra entidade e vice-versa.
Por exemplo: Na imagem abaixo, um Compositor compõe várias
Composições, assim como, uma Composição é composta por vários
Compositores.

Autorrelacionamento ou Relacionamento Recursivo

Normalmente um relacionamento associa entidades diferentes.


Porém, há um caso especial no qual existe um relacionamento Já a cardinalidade mínima se refere ao número mínimo de
entre a mesma entidade. instâncias de uma entidade associadas a uma outra entidade
Nesta situação, surge o conceito de papel que identificará o através do relacionamento. De forma prática, consideram-se
relacionamento. apenas duas cardinalidades mínimas:
Por exemplo, no relacionamento eCasadaCom (“é casada com”),
ilustrado na figura a seguir, uma ocorrência da entidade PESSOA 1 (um): se uma ocorrência de entidade sempre tiver de participar
exerce o papel de marido e a outra ocorrência exerce o papel de do relacionamento para que ela exista, então a associação é
esposa. obrigatória. Essa associação é indicada pelo número 1 (um) no
diagrama ER.
0 (zero): se a ocorrência de uma entidade nem sempre precisar
participar do relacionamento, ela é considerada uma associação
opcional. Esta associação é considerada opcional quando é indicada
É importante destacar que no relacionamento entre entidades pelo número 0 (zero) no diagrama ER.
diferentes não é necessário indicar os papéis das entidades.

Cardinalidade de Relacionamentos
É importante estabelecer a quantidade de ocorrências de cada um
dos relacionamentos. Esta propriedade é chamada de
cardinalidade, que se desdobra em cardinalidade máxima e
cardinalidade mínima, revelando diferentes características:

Máxima: razão de cardinalidade.


5
HEUSER (2009) destaca que, na prática, muitas vezes os atributos
não são representados graficamente para não sobrecarregar os
diagramas, já que entidades podem possuir um grande número de
atributos. Nesses casos é preferível o uso de representação textual.
É importante destacar também que cada atributo possui um
conjunto de valores possíveis denominado domínio, que veremos
em mais detalhes no próximo capítulo.

Classificação dos Atributos


Atributos Descritivos:
A partir da imagem anterior, podemos concluir que cada Os atributos descritivos são capazes de representar características
Empregado deve ter a ele alocada obrigatoriamente uma Mesa formadoras ou pertencentes a uma entidade.
(cardinalidade mínima 1) e que uma Mesa pode existir sem que a Por exemplo: para a entidade Pessoa, podemos ter os atributos que
ela esteja alocado um Empregado (cardinalidade mínima 0). a descrevem como: nome, idade, nascimento e sexo.

Grau de Relacionamento Atributos Nominativos:


A maioria dos exemplos até aqui mostrados são de relacionamentos Os atributos nominativos podem cumprir a função de descritivos,
binários. A abordagem ER permite que sejam definidos como também, serve para definir nomes ou rótulos de identificação
relacionamentos de grau menor ou maior do que dois. às entidades aos quais pertencem.
Por exemplo: “código do...” (código do setor, código do curso),
O grau de um relacionamento corresponde ao número de entidades “número...” (número total), “matrícula” (matrícula do aluno,
que participam do relacionamento. Assim, podemos ter matrícula do funcionário) etc...
relacionamentos unários, binários, ternários e assim por diante,
apesar de não ser muito comum encontrar diagramas com Atributos Referenciais:
relacionamentos com mais de três entidades envolvidas. Os atributos referenciais, como o próprio nome diz, fazem
referência a outra entidade. O exemplo mais comum são as chaves
A figura a seguir ilustra um exemplo de relacionamento ternário, ou estrangeiras.
seja, com 3 (três) entidades (CIDADE, DISTRIBUIDOR e Por exemplo, na entidade chamada Aluno, há um atributo
PRODUTO) participando do relacionamento DISTRIBUIÇÃO. denominado “código do curso”, no qual faz referência ao código
que identifica uma instância da entidade Curso.

Tipos de Atributos
Existem diferentes tipos de atributos em uma entidade.
São eles:

Atributos Simples (Atômicos):


São atributos unitários ou não divisíveis, ou seja, não podem ser
divididos em outros atributos.

De forma resumida, temos que os graus dos relacionamentos Atributos Compostos:


podem ser: Podem ser divididos em subpartes menores (em outros atributos),
representando, assim, atributos mais básicos com significados
Unário (grau 1): Relacionamento com a própria entidade. independentes.
Conforme vimos anteriormente, são chamados de Por exemplo: o atributo ENDEREÇO pode ser dividido em nome da
autorrelacionamento ou relacionamento recursivo. RUA, CIDADE, ESTADO e CEP. Além do mais, o atributo RUA pode
Binário (grau 2): Mais comum. É o relacionamento entre duas ser subdividido em outros três mais simples como RUA, NÚMERO e
entidades. NÚMERO_APARTAMENTO.
Ternário (grau 3): Relacionamento entre três entidades.
Este possui uma maior complexidade. Atributos de Valores Únicos (ou Monovalorados):
Ou mais... Possuem valor único para uma entidade em particular.
Por exemplo, para uma entidade do tipo Pessoa, o atributo IDADE
é um atributo único, pois toda pessoa só possui uma idade.

Atributos Multivalorados:
Podem possuir vários valores para uma mesma entidade.
Por exemplo, FORMACAO_ACADEMICA é um atributo de uma
entidade do tipo Pessoa que pode não ter nenhuma formação, uma
ou várias formações.
Um atributo multivalorado pode ter um limite mínimo e um máximo
para restringir o número de valores permitidos para cada entidade
individual.

Atributos Derivados:
ATRIBUTO Os valores destes atributos podem ser derivados de outros
HEUSER (2009) define que os atributos são dados ou informações atributos ou entidades e eles relacionados.
associadas a cada ocorrência de uma entidade ou de um Por exemplo, os atributos IDADE e DATA_NASCIMENTO.
relacionamento. O atributo IDADE é derivado de DATA_NASCIMENTO, ou seja, o
Por exemplo, nome, idade, endereço, salário ou cargo do banco de dados pode calcular o valor do atributo IDADE a partir do
funcionário. Para cada entidade em particular, ela terá um valor valor que se encontra no atributo DATA_NASCIMENTO.
para cada um de seus atributos. Por fim, o atributo DATA_NASCIMENTO é chamado de atributo
No Diagrama ER, os atributos são representados graficamente por armazenado.
círculos brancos, conforme ilustrado as figuras a seguir:
Atributos Identificadores:
6
Quando o atributo permite distinguir uma ocorrência das demais
ocorrências de uma mesma entidade, ele é considerado um
atributo identificador de entidade.
Por exemplo, o atributo CPF pode ser considerado um atributo
identificador de uma entidade do tipo Pessoa, pois, para cada
pessoa, existe
um número de CPF único. Contudo, um atributo identificador pode Na figura acima, os atributos identificadores de relacionamento
corresponder a um conjunto de um ou mais atributos ou (data e hora) distinguem uma CONSULTA entre um MÉDICO e seu
relacionamentos. PACIENTE dentre as demais consultas deste médico com os seus
demais pacientes.
É importante ficar muito atento na diferença entre os atributos
compostos e os multivalorados, pois eles são bastante cobrados em Cardinalidade de Atributos
provas de concursos. HEUSER (2009) destaca que um atributo pode possuir uma
Atributo Composto: a informação é formada por várias partes, cardinalidade, de maneira análoga a uma entidade em um
com a informação completa sendo formada por todas as partes. O relacionamento. Esta cardinalidade define quantos valores deste
exemplo mais comum é o atributo ENDEREÇO. atributo podem estar associados com uma ocorrência da entidade
Atributo Multivalorado: podem possuir vários valores em um ou relacionamento ao qual ele pertence. Por exemplo, podemos ter
mesmo atributo. Um exemplo que cai bastante em prova é o as seguintes cardinalidades:
TELEFONE, no qual a pessoa pode registrar vários telefones (fixo,
celular, comercial) no mesmo atributo. Cardinalidade (1,1): obrigatória (não precisa representar a
Identificando Entidades (Atributos-Chave) cardinalidade no diagrama);
Para a maioria das entidades, estas devem possuir um Cardinalidade (0,1): opcional;
identificador. Segundo HEUSER (2009), um identificador de Cardinalidade (0,n): opcional e multivalorada;
entidade é um conjunto de um ou mais atributos e relacionamentos Cardinalidade (1,n): obrigatória e multivalorada.
cujos valores servem para distinguir uma ocorrência da entidade
das demais ocorrências da mesma entidade. Eles podem ser
representados por círculos pretos no Diagrama ER.
Para HEUSER (2009), um identificador simples (único atributo) é
suficiente para distinguir uma ocorrência da entidade das demais
ocorrências da mesma entidade.
ENTIDADE FRACA
HEUSER (2009) define que entidade fraca é uma entidade que não
possui atributos suficientes para formar uma chave primária. A
chave primária da entidade fraca é formada pela chave primária do
conjunto de entidades fortes da relação mais o identificador do
Já para um identificador composto, HEUSER (2009) menciona que conjunto de entidades fracas.
dois ou mais atributos podem ser necessários para distinguir uma Por exemplo, a entidade DEPENDENTE é uma entidade fraca, pois
ocorrência da entidade das demais ocorrências da mesma entidade. a entidade somente existe quando relacionada a outra entidade e
HEUSER (2009) destaca também que há casos em que o usa, como parte de ser identificador, entidades relacionadas.
identificador de uma entidade é composto não somente por seus A entidade fraca é representada por um retângulo com linha dupla
atributos, mas também, através de relacionamentos em que ela conforme demonstrado na figura a seguir.
participa (relacionamento identificador).
No Diagrama ER, o relacionamento usado como identificador é
indicado por uma linha dupla ou mais densa.

Na figura anterior, podemos visualizar também outra forma de


especificar os atributos de uma relação, muitas vezes utilizadas em
provas de concursos.

GENERALIZAÇÃO E ESPECIALIZAÇÃO
Por meio deste conceito é possível atribuir propriedades
particulares a um subconjunto das ocorrências especializadas de
uma entidade genérica.
Generalização: HEUSER (2009) define que a generalização é
processo inverso à especialização. Ela é resultado da união de dois
ou mais tipos entidade de nível mais baixo (subclasse), produzindo
um tipo-entidade de nível mais alto (superclasse). Assim, ela é uma
abstração de um conjunto de entidades.
Especialização: Já a especialização, HEUSER (2009) define como
o resultado da separação de um tipo-entidade de nível mais alto
(superclasse), formando vários tipos-entidade de nível mais baixo
(subclasse).
No Diagrama ER, o símbolo para representar
generalização/especialização é um triângulo isósceles.
Na figura acima, a entidade DEPENDENTE é identificada por seu
atributo “nome” e pelo relacionamento “dependeDe” com a
entidade EMPREGADO.

Identificando Relacionamentos
Um relacionamento é identificado pelas entidades dele
participantes, bem como pelos seus próprios atributos
identificadores se porventura existirem.

7
Na figura acima, a entidade PESSOA FÍSICA possui, além de seus
atributos CPF e sexo, os atributos herdados da entidade CLIENTE
(que são os atributos código e nome), bem como o relacionamento
com a entidade FILIAL.

Níveis de Generalização e Especialização


Não há limites no número de níveis hierárquicos da
generalização/especialização. Admite-se até que uma mesma
entidade seja a especialização de diversas entidades genéricas, é a
chamada Herança Múltipla.

MODELO RELACIONAL
A seguir vamos apresentar os conceitos sobre um dos modelos de
dados mais utilizados atualmente nos sistemas de gerenciamento
ENTIDADE ASSOCIATIVA de banco de dados (SGBD), o modelo relacional. O objetivo é dar
HEUSER (2009) destaca que por definição, um relacionamento é condições para que vocês compreendam os conceitos básicos e
uma associação entre entidades. Em certas oportunidades, durante resolvam o maior número de questões nas provas de concursos
a modelagem, surgem situações nas quais é desejável permitir uma públicos.
associação entre uma entidade e um relacionamento. A ideia da
entidade associativa trata um relacionamento como se ele fosse INTRODUÇÃO
uma entidade. O modelo relacional foi introduzido por Edgar Frank “Ted” Codd, da
IMB Research, em 1970. O modelo utiliza o conceito de relação
Por exemplo, deseja-se modelar a prescrição de medicamentos matemática que se parece com uma tabela de valores. As primeiras
receitados aos pacientes, com a criação da entidade Medicamentos. implementações são início da década de 1980. O modelo revelou-
A solução, então, seria transformar o relacionamento entre se o mais flexível e adequado ao solucionar os vários problemas
MÉDICO e PACIENTE em uma entidade associativa e relacioná-la que se colocaram no nível de concepção e implementação em um
com a entidade MEDICAMENTO. banco de dados.
A notação utilizada para tanto é colocar um retângulo em torno do A estrutura fundamental do modelo relacional é a relação (tabela).
relacionamento (losango), conforme pode ser visto na figura a Uma relação é constituída por um ou mais atributos (colunas) que
seguir. traduzem o tipo de dados a serem armazenados. Cada instância do
esquema é chamada de tupla (linha). A seguir, veremos em mais
detalhes cada um destes conceitos.

CONCEITOS DO MODELO RELACIONAL


De acordo com HEUSER (2009), o modelo relacional representa o
banco de dados como uma coleção de relações.
Uma relação é semelhante a uma tabela de valores ou arquivo
plano de registros.
Fazendo uma comparação da relação com uma tabela de valores,
temos que cada linha da tabela representa uma coleção de valores
de dados relacionados. Além disso, uma linha em particular
A seguir, temos uma imagem com um resumo dos símbolos de representa um fato que normalmente corresponde a uma entidade
todos os conceitos que vimos sobre o modelo conceitual mais ou relacionamento do mundo real.
cobrado em provas de concursos, chamado de Modelo Entidade- A tabela a seguir relaciona o que contém em uma tabela de valores
Relacionamento. com os conceitos do modelo relacional.

INFORMAÇÕES DE UMA CONCEITOS DO MODELO


TABELA RELACIONAL
Tabela Relação
Linha Tupla
Coluna Atributo
Tipo Do Dado Domínio

De forma resumida, HEUSER (2009) descreve que uma tabela


(relação) é um conjunto não ordenado de linhas (tuplas), onde
cada linha é composta por uma série de colunas ou campos
(atributos). Cada campo é identificado por um nome de campo
(nome do atributo), o conjunto de campos homônimos de todas as
linhas de uma tabela forma uma coluna.

8
A imagem a seguir ilustra as informações presentes em uma CPF (VARCHAR(20)) – o atributo CPF deverá ser do tipo
relação do modelo relacional de banco de dados. VARCHAR (string) com um tamanho máxima de 20 caracteres.
NOME (VARCHAR(40)) – o atributo NOME deverá ser do tipo
VARCHAR (string) com um tamanho máximo de 40 caracteres.
MEDIA_NOTA (DOUBLE) – o atributo MEDIA_NOTA deverá ser
do tipo DOUBLE (número de ponto flutuante)

Conceitos do Modelo Relacional:


Relação: Tabela de dados.
Atributo: Nome de cada coluna da tabela.
Outros dois conceitos muito importantes da modelagem relacional é
Tupla: Linha da tabela.
o grau da relação que diz respeito ao número de atributos de uma
Instância: Conjunto de tuplas.
relação e a cardinalidade da relação que indica o número de tuplas
Domínio: Conjunto de valores permitidos.
(linhas) existentes na relação.
Grau: Número de atributos da relação.
Cardinalidade: Indica o número de tuplas (linhas) existentes na
Chaves
relação.
As chaves correspondem aos atributos identificadores que vimos
anteriormente no capítulo de modelagem conceitual. Elas permitem
Chaves:
dar uma identificação única a cada ocorrência de instância em uma
Chave Primária: Conjunto de atributos (colunas) que identifica
tabela.
unicamente uma tupla em uma relação.
Basicamente existem 3 (três) tipos de chaves em um banco de
Chave Estrangeira: Uma coluna ou conjunto de colunas que se
dados relacional, a chave primária, a chave estrangeira e a chave
referem necessariamente a uma chave primária de outra tabela.
alternativa. A seguir, vamos detalhar estes tipos com suas
Chave Alternativa: Uma coluna ou grupo de colunas da tabela
respectivas características.
que servem para identificar unicamente um registro.
Chave Primária (ou Primary Key – PK)
É um conjunto de atributos que identifica unicamente uma tupla
RESTRIÇÕES DO MODELO RELACIONAL
em uma relação.
ELMASRI e NAVATHE (2011) definem que restrições do modelo
Pode ser simples ou composta.
relacional são regras que devem ser obedecidas em todos os
estados válidos da base de dados. Elas devem ser especificadas no
Simples: é formada por apenas um campo da tabela.
esquema de banco de dados relacional para garantirem que os
Composta: é formada por mais de um campo na tabela.
dados reflitam corretamente a realidade modelada.
Um exemplo de chave primária pode ser o CPF que identifica
unicamente cada pessoa. O conjunto {Nome, CPF} também pode
São tipos de restrições:
ser uma super chave, mesmo o atributo Nome não sendo uma
 Domínio
chave primária.
 Chave
Os campos que pertencem à chave primária são obrigatórios, não
 Valores Vazios (NULL)
admitindo valor vazio ou NULL.
 Integridade
 Entidade
Chave Estrangeira (Foreign Key – FK)
 Referencial
É uma coluna ou conjunto de colunas que se referem
 Semântica
necessariamente a uma chave primária de outra tabela (ou dela
mesma no caso de recursividade), estabelecendo um
Restrições de Domínio
relacionamento entre as tabelas.
As restrições de domínio especificam que, dentro de cada tupla, o
Segundo HEUSER (2009), a existência de uma chave estrangeira
valor de cada atributo deve ser um valor indivisível do domínio. São
impõe restrições que devem ser garantidas ao executar operações
tipos de domínios os exemplos a seguir:
de alterações no banco de dados.
 Tipos de dados numéricos para inteiros (short, integer e long)
Um exemplo de chave estrangeira pode ser o “Código do curso”
 Números reais (float e double)
que se encontra em uma das colunas da tabela de Aluno e que
 Caracteres
referencia a chave primária da tabela de Cursos.
 Booleanos
 Cadeias de caracteres de tamanho fixo e variável
Chave Alternativa (ou Chave Candidata)
 Data
Uma coluna ou grupo de colunas da tabela que servem para
 Hora
identificar unicamente um registro.
 Moeda
Assim, além da chave primária criada, uma outra (alternativa)
 Entre outros.
também é utilizada para identificar o registro. Também chamada de
Chave Única (Unique Key – UK).
Restrições de Chave (Unicidade)
Como exemplo, podemos criar uma tabela com dados de Pessoas,
No modelo relacional formal, uma relação é definida como um
tendo como chave primária um número inteiro autoincrementado
conjunto de tuplas. Todos os elementos de um conjunto são
(valor diferente para cada pessoa inserida na tabela) e como chave
distintos. Logo, todas as tuplas em uma relação também precisam
única o CPF de cada pessoa.
ser distintas. Assim, não pode haver chaves com o mesmo valor.
As restrições de chave garantem a unicidade do valor da chave
Domínio
primária em cada uma das tuplas de uma relação. Isso significa
Um domínio é um conjunto de valores atômicos, ou seja, cada
que duas tuplas não podem ter a mesma combinação de valores
valor do domínio é indivisível e possui uma descrição física e outra
para todos os seus atributos.
semântica. Por exemplo:
Restrições sobre Valores Vazios (NULL)
Descrição física
ELMASRI e NAVATHE (2011) definem que restrições sobre valores
Identifica o tipo e o formato dos valores que compõem o domínio
vazios especificam se valores NULL são permitidos ou não. Por
Exemplo: VARCHAR(13), “(99)9999-9999”
exemplo, se cada tupla de uma entidade do tipo ALUNO precisar
Descrição semântica
ter um valor válido, diferente de NULL, para o atributo Nome,
Ajuda na interpretação de seus valores Exemplo: “Números de
então Nome de ALUNO é restrito a ser NOT NULL (“não nulo” ou
telefone válidos no Brasil” A seguir temos alguns exemplos de
“não vazio”).
domínios para alguns atributos:

9
Restrições de Integridade usadas para lidar com grandes conjuntos de dados.
ELMASRI e NAVATHE (2011) definem que um estado que satisfaz a
todas as restrições no conjunto definido de restrições de QUAIS SÃO OS 5VS DO BIG DATA?
integridade é chamado de estado válido. Além disso, um estado de Inicialmente, o conceito de Big Data foi contemplado por 3 V’s. que
banco de dados que não obedece a todas as restrições de são volume, velocidade e variedade.
integridade é chamado de estado inválido. Valor e veracidade são outras duas dimensões “V” que foram
Dessa forma, ELMASRI e NAVATHE (2011) classificam os tipos de adicionadas à literatura recentemente.
restrições de integridade: Os V’s adicionais são frequentemente propostos, mas estes 5V’s
são os que mais são cobrados em provas de concursos. Vamos a
Restrição de Integridade de Entidade uma breve explicação sobre cada um a seguir:
Nenhum valor de chave primária pode ser NULL;
As Restrições de Chave e as Restrições de Integridade de Entidade Volume
são atribuídas sobre relações individuais. Refere-se à enorme quantidade de dados disponível, desde
conjuntos de dados com tamanhos de terabytes a zetabytes;
Restrição de Integridade Referencial
Restrição de Integridade Referencial é atribuída entre duas relações Velocidade
e usada para manter a consistência entre tuplas nas duas relações; Refere-se a grandes quantidades de transações com alta taxa de
Esta utiliza o conceito de Chave Estrangeira (FK) visto atualização, resultando em fluxos de dados chegando em grande
anteriormente. velocidade;

Restrições de Integridade Semântica Variedade


Restrições de Integridade Semântica são especificadas e impostas Os dados vêm de diferentes fontes de dados. Além disso, os dados
em um banco de dados relacional; Por exemplo: podem vir em vários formatos, sendo dados estruturados como
Salário de um funcionário não deve ser superior ao salário de seu uma tabela de banco de dados, dados semiestruturados como um
supervisor; arquivo XML ou dados não estruturados como texto, imagens,
Número máximo de horas que um funcionário pode trabalhar em streams de vídeo, áudio, entre outros.
todos os projetos por semana é 56h. Vale destacar que estes são os três principais V’s de Big Data.
A seguir, selecionamos algumas questões sobre os conceitos que Porém, ainda há os seguintes V’s:
acabamos de aprender.
Veracidade
NOÇÕES DE BIG DATA Refere-se à qualidade, precisão ou confiabilidade dos dados. Está
Com o uso extensivo de serviços online por meio da Internet, os ligada diretamente ao quanto uma informação é verdadeira.
hábitos adotados por empresas, organizações, economias e por Valor
diferentes nações acabaram mudando a maneira como as pessoas Refere-se ao valor dos dados ou o valor que eles possuem. É
vivem e usam a tecnologia. Dessa forma, mais do que nunca, há importante entender o contexto e a necessidade para gerar a
um aumento crescente da quantidade de informações e, informação certa para as pessoas certas.
consequentemente, do armazenamento dos dados que surgem
diariamente. ESTRUTURAÇÃO DOS DADOS
Tudo isso é relativamente novo. Pois, agora, cada usuário e Os dados que alimentam a ideia de Big Data podem provir de
organização podem armazenar as informações em formato digital, diversas fontes. Na Internet, encontramos um grande volume de
diferentemente de como acontecia algumas décadas atrás. dados com conteúdos relacionados a educação, ciência,
Portanto, para lidar com esse aumento exponencial de dados, foi entretenimento, governo, finanças, saúde, entre outros. Todos
criado um mecanismo e abordagem para lidar com tudo isso, o esses dados são fontes de Big Data.
chamado Big Data. Empresas e organizações se concentram muito na coleta de dados
Neste capítulo, iremos apresentar os conceitos sobre Big Data, para garantir que possam obter informações valiosas a partir deles.
tecnologias e ferramentas. Ao final, resolveremos algumas Compreender a estrutura de dados é a chave para descobrir seu
questões de concursos públicos sobre este assunto. valor.
CASTRO e FERRARI (2016) destacam que, de forma simplificada,
CONCEITO DE BIG DATA dados são valores quantitativos ou qualitativos associados a alguns
Como um dos termos mais “badalados” do mercado hoje, não há atributos. Com relação à estrutura, eles podem ser:
consenso sobre como definir Big Data.
O termo é frequentemente usado como sinônimo de conceitos
relacionados como Business Intelligence (BI) e Mineração de Dados
(Data Mining). É verdade que todos os três termos se referem à
análise de dados, mas o conceito de Big Data difere dos demais
quando volumes de dados, número de transações e o número de
fontes de dados são tão grandes e complexos que exigem métodos
e tecnologias especiais a fim de extrair uma visão dos dados.
O Big Data pode ser definido como um conceito utilizado para
descrever um grande volume de dados, tanto estruturados quanto
não estruturados, e que aumentam dia após dia em qualquer
sistema ou negócio. No entanto, não é a quantidade de dados que
é essencial. A parte mais importante é o que as empresas ou
organizações podem fazer com esses dados. Milhares de análises
podem ser executadas sobre eles, no qual é possível realizar Dados Estruturados
previsões, inspirar novas ideias ou levar a uma melhor tomada de
decisão estratégica. Uma base de dados é estruturada quando os dados estão
Uma definição exata de Big Data é difícil de definir, pois projetos, armazenados em campos fixos em um arquivo – por exemplo, uma
empresas e profissionais de negócios a usam de maneira bem tabela, uma planilha ou um banco de dados. Assim, os dados
diferente. Com isso em mente, de modo geral, Big Data é: estruturados dependem da criação de um modelo de dados,
incluindo a descrição dos objetos juntamente com suas
Grande volume de dados; propriedades e relações.
Uma categoria de estratégias e tecnologias da computação O modelo descreve todos os tipos de dados que serão
armazenados, acessados e processados, o que inclui definir quais
10
campos de dados serão utilizados (por exemplo, nome, idade, conselhos sobre o que fazer a respeito. Eles usam modelos
gênero, endereço, escolaridade, estado civil etc.), os tipos dos sofisticados e algoritmos de aprendizado de máquina para
dados (por exemplo, numéricos, nominais, alfabéticos, monetários, antecipar os resultados de várias ações. Os fornecedores ainda
endereço etc.) e todas as restrições a eles associadas. Uma das estão em processo de desenvolvimento dessa tecnologia, e as
vantagens dos dados estruturados é a facilidade de armazenagem, maiorias das empresas ainda não começaram a usar esse nível de
acesso e análise (CASTRO e FERRARI, 2016). análise de Big Data em suas operações.

Dados Semiestruturados TECNOLOGIAS DE BIG DATA


Ferramentas
O dado semiestruturado é um tipo de dado que não possui a
estrutura completa de um modelo de dados, mas também não é Uma vez que os requisitos de computação, armazenamento e rede
totalmente desestruturado. para trabalhar com grandes conjuntos de dados estão além dos
Nos dados semiestruturados em geral são usados marcadores (por limites de um único computador, há uma necessidade de
exemplo, tags) para identificar certos elementos dos dados, mas a ferramentas para processar os dados por meio de computadores de
estrutura não é rígida. maneira distribuída, os chamados clusters.
Exemplos conhecidos de dados semiestruturados são arquivos XML Cada vez mais potência de computação e infraestrutura de
ou HTML, que definem um conjunto de regras para codificar armazenamento massivo são necessários para processar esses
documentos em um formato que pode ser lido por humanos e dados localmente ou, mais tipicamente, nos centros de dados de
máquinas, e também e-mails, que possuem campos de remetente, provedores de serviços na nuvem (cloud).
destinatário, data, hora e outros adicionados aos dados não Além da infraestrutura necessária, várias ferramentas e
estruturados do corpo da mensagem e seus anexos (CASTRO e componentes devem ser reunidos para resolver problemas de Big
FERRARI, 2016). Data. O ecossistema Hadoop é apenas uma das plataformas que
ajudam a trabalhar com grandes quantidades de dados e descobrir
Dados Não Estruturados padrões úteis para as empresas.
Dado não estruturado é aquele que não possui um modelo de
dados, que não está organizado de uma maneira predefinida ou
que não reside em locais definidos. Essa terminologia normalmente
se refere a textos livres, imagens, vídeos, sons, páginas web,
arquivos PDF, entre outros. Os dados não estruturados costumam
ser de difícil indexação, acesso e análise
(CASTRO e FERRARI, 2016).
De forma resumida, temos a tabela a seguir que diferencia os três Abaixo está uma lista de algumas das ferramentas disponíveis e
tipos de dados: uma descrição resumida de suas funções no processamento de Big
Data:
Big Data Analytics
Para a maioria das organizações, o objetivo principal de lançar uma Apache Kafka
iniciativa de Big Data é analisar os dados para melhorar os Sistema de mensagens escalonável que permite aos usuários
resultados de negócios. publicar e consumir um grande número de mensagens em tempo
A maneira como as organizações geram esses insights é por meio real por assinatura.
do uso de software analítico. Os fornecedores usam muitos termos
diferentes, como mineração de dados (data mining), inteligência de HBase
negócios (business intelligence), computação cognitiva, Armazenamento de dados de chave/valor orientado por coluna que
aprendizado de máquina (machine learing) e análise preditiva, para é executado no Hadoop Distributed File System.
descrever suas soluções de análise de Big Data.
Hive
Em geral, no entanto, essas soluções podem ser separadas em Sistema de data warehouse de código aberto para análise de
quatro categorias amplas: conjuntos de dados em arquivos Hadoop.

Análise Descritiva MapReduce


Esta é a forma mais básica de análise de dados. Ela responde à Estrutura de software para processar grandes quantidades de
pergunta: “O que aconteceu?”. Quase todas as organizações dados não estruturados em paralelo em um cluster distribuído.
realizam algum tipo de análise descritiva ao reunir seus relatórios Pig
regulares semanais, mensais, trimestrais e anuais. Tecnologia de código aberto para programação paralela de jobs
MapReduce em clusters Hadoop.
Análise de Diagnóstico
Depois que uma organização entende o que aconteceu, a próxima Spark
grande questão é “Por quê?”. É aqui que entram as ferramentas de Estrutura de código aberto e processamento paralelo para executar
análise de diagnóstico. Elas ajudam os analistas de negócios a aplicativos de análise de dados em grande escala em sistemas em
entender as razões por trás de um determinado fenômeno, como cluster.
uma queda nas vendas ou um aumento nos custos.
YARN
Análise Preditiva Tecnologia de gerenciamento de cluster no Hadoop de segunda
As organizações não querem apenas aprender lições do passado, geração.
elas também precisam saber o que vai acontecer a seguir. Esse é o
escopo da análise preditiva. As soluções de análise preditiva Alguns dos mecanismos de análise de Big Data mais usados, são:
geralmente usam inteligência artificial ou tecnologia de aprendizado
de máquina para prever eventos futuros com base em dados Apache Hive / Hadoop
históricos. Solução de preparação de dados para fornecer informações a
Muitas organizações estão investigando a análise preditiva e muitos ambientes analíticos ou armazenamentos de dados.
começando a colocá-la em produção. Desenvolvido por Yahoo, Google e Facebook.

Análise Prescritiva Apache Spark


As ferramentas de análise mais avançadas não apenas informam às
organizações o que acontecerá a seguir, mas também oferecem
11
Usado em conjunto com tarefas de computação pesadas e Atualmente, grandes empresas e organizações têm buscado
tecnologias Apache Kafka. Desenvolvido na University of California, entender melhor seus clientes para otimizar seus serviços e
Berkeley. maximizar o retorno sobre seus investimentos.
Um grande componente desse entendimento vem da análise de
Presto dados. O custo de armazená-los e processá-los diminuiu
Motor SQL desenvolvido pelo Facebook para análises ad-hoc e consideravelmente nos últimos anos e, como resultado, a
relatórios rápidos. quantidade de dados armazenados em formatos eletrônicos
cresceu em uma velocidade assustadora. Assim, com a criação de
Linguagens de Dados grandes bancos de dados, surgiu, então, a possibilidade de analisá-
Não se poderia deixar de comentar que, além das ferramentas, há los de uma forma mais detalhada.
como tecnologias de Big Data, as linguagens de dados, sendo as TURBAN et. al (2009) mencionam que, inicialmente, o termo
mais conhecidas: “mineração de dados” era utilizado para descrever o processo no
qual padrões anteriormente desconhecidos eram identificados nos
Linguagem R dados. Porém, essa definição tem sido expandida para além desses
É uma implementação da Linguagem S. Lançada em 1995, surgiu limites e, atualmente, o termo é mais usado para descrever a
com um propósito bem específico de facilitar as análises estatísticas descoberta de informações em bancos de dados.
e visualização de dados de forma que fosse mais amigável para os
usuários. Conceito de Mineração de Dados
Surgiu com este único escopo e foi adotada inicialmente por TURBAN et. al (2009) definem a mineração de dados como um
acadêmicos e depois por empresas e público no geral. Além disso, processo que usa técnicas estatísticas, matemáticas, de inteligência
tem uma sintaxe orientada a funções. artificial e de aprendizagem de máquina (ou automática) para
extrair e identificar informações úteis e conhecimento em banco de
Python dados. CASTRO e FERRARI (2016)
Inspirado na linguagem C, foi lançada em 1991 e possui um foco definem também a mineração de dados como um processo
generalista. sistemático, interativo e iterativo, de preparação e extração de
Serve desde para fazer aplicações web, como também, fazer conhecimentos a partir de grandes bases de dados.
análises de dados. A mineração de dados tem sua base na ciência da computação
Possui foco na produtividade, possuindo uma sintaxe orientada a juntamente com a estatística, utilizando avanços nas duas
objetos. disciplinas para progredir na extração de informações de grandes
bancos de dados. São utilizadas tarefas como extração de
XPath conhecimento, arqueologia de dados, exploração de dados,
Essa é uma linguagem de consulta que seleciona os nós em um processamento de padrões de dados, limpeza de dados e colheita
documento XML. de informação. Todas essas atividades são gerenciadas e
Também pode ser usada para calcular valores como strings, administradas automaticamente e permitem uma descoberta rápida
números ou valores booleanos do conteúdo de um documento até mesmo por pessoas não-especialistas.
XML.
Além de ser uma recomendação do W3C. Objetivos da Mineração de Dados
ELMASRI e NAVATHE (2011) definem que os objetivos da
Infraestrutura mineração de dados estão diretamente relacionados com a
TAURION (2013) destaca que as tecnologias atuais de tratamento descoberta do conhecimento. Eles classificam que a mineração de
de dados não são mais adequadas. dados costuma ser executada com objetivos finais ou aplicações de
Utilizando como exemplo um dos modelos mais usados até hoje, o uma perspectiva geral. Os objetivos são classificados, como:
modelo relacional, ele foi criado para acessar dados estruturados
dos sistemas internos das organizações. Não sendo possível tratar Previsão: Mostrar como certos atributos dos dados se
dados não estruturados ou pentabytes de dados. comportarão no futuro.
Para tratar dados na escala de volume, variedade e velocidade do Identificação: Padrões de dados podem ser usados para
Big Data, precisa-se de outros modelos, como os softwares de identificar a existência de um item, um evento ou uma atividade.
banco de dados NoSQL, desenhados para tratar imensos volumes Classificação: Particionar os dados de modo que diferentes
de dados estruturados e não estruturados (TAURION, 2013). classes ou categorias possam ser identificadas com base em
Segundo MACHADO (2018), nos bancos de dados NoSQL, as combinações de parâmetros.
tabelas são conhecidas como tabelas de hash distribuídas, uma vez Otimização: Otimizar o uso de recursos limitados, como tempo,
que armazenam objetos indexados por chaves, o que possibilita a espaço, dinheiro ou materiais e maximizar variáveis de saída como
busca desses objetos a partir apenas de suas chaves, diferente dos vendas ou lucros sob determinado conjunto de restrições.
bancos de dados estruturados.
O banco de dados NoSQL é desenhado para aumentar a sua escala PROCESSOS DO PROJETO DE MINERAÇÃO DE DADOS
em sentido horizontal, isso significa por meio de clusters Processo de Descoberta do Conhecimento em Bases de Dados
distribuídos em hardwares de baixo custo. (KDD) CASTRO e FERRARI (2016) destacam que a mineração de
dados é parte integrante de um processo mais amplo, conhecido
NOÇÕES DE MINERAÇÃO DE DADOS como Descoberta de Conhecimento em Bases de Dados ou, do
A mineração de dados ou, do inglês, data mining, refere-se ao inglês, Knowledge Discovery in Databases (KDD). GOLDSCHMIDT e
desenvolvimento do suporte à tomada de decisão a partir de dados PASSOS (2005) definem que ela é caracterizada como um processo
coletados, organizados e processados por uma empresa ou uma composto por três etapas operacionais básicas: Pré-Processamento,
organização. Mineração de Dados e Pós-Processamento.
Técnicas de mineração de dados estão sendo usadas por empresas A etapa de Pré-Processamento compreende todas as funções
e organizações em todo o mundo para obter um melhor relacionadas à captação, organização e ao tratamento dos dados. O
entendimento dos seus clientes, parceiros e de suas próprias objetivo principal dela é preparar os dados para os algoritmos da
operações. etapa de Mineração de Dados. GOLDSCHMIDT e PASSOS (2005)
Neste capítulo, iremos estudar o conceito, aplicações e algumas elencam as principais funções desta etapa:
das principais técnicas de mineração de dados. Ao final,
resolveremos algumas questões cobradas em concursos públicos Seleção de Dados: Refere-se à identificação das informações que
sobre este assunto. devem ser efetivamente consideradas durante o processo de KDD.
Sendo dois enfoques distintos: a escolha de atributos ou a escolha
INTRODUÇÃO À MINERAÇÃO DE DADOS de registros que devem ser considerados no processo de KDD.

12
Limpeza de Dados: Refere-se a qualquer tratamento realizado foco é entender qual o objetivo que se deseja atingir com a
sobre os dados selecionados de forma a garantir a qualidade mineração de dados. O entendimento do negócio irá ajudar nas
(completude, veracidade e integridade) dos fatos por eles próximas etapas.
representados. Informações faltantes, erradas ou inconsistentes Data Understanding (Entendimento dos Dados)
devem ser corrigidas de forma a Nessa fase, o objetivo é estudar, organizar e documentar os dados
não comprometer a qualidade dos modelos de conhecimento a que se encontram disponíveis. Os dados mapeados são explorados
serem extraídos ao final do processo de KDD. e analisados em busca de melhor entendimento sobre os dados e
Codificação dos Dados: Nesta etapa, os dados devem ser avaliação de sua qualidade.
codificados para ficarem em uma forma que possam ser usados
como entrada dos algoritmos de Mineração de Dados. Data Preparation (Prepração dos Dados)
Enriquecimento dos Dados: Consiste em conseguir mais Nessa fase, ocorre a preparação dos dados para modelagem. Esse
informação que possa ser adicionada aos registros existentes, processo consiste, principalmente, de quatro tarefas: Data
melhorando os dados, para que estes forneçam mais informações Selection (Seleção dos Dados), Data Cleaning (Limpeza dos Dados),
para o processo de descoberta de conhecimento. Construct Data (Construção dos Dados) e Integrating Data
Na segunda etapa, a Mineração de Dados realiza a busca efetiva (Integração dos Dados).
por conhecimentos úteis no contexto da aplicação de KDD. Nela,
são definidos as técnicas e os algoritmos a serem utilizados no Modeling (Modelagem)
problema em questão. A escolha da técnica depende, muitas vezes, É nesse momento que ocorre a construção do seu modelo. Essa
do tipo de tarefa de KDD a ser realizada. Veremos mais detalhes fase consiste na aplicação de fato das técnicas de mineração de
destas técnicas e algoritmos nos tópicos seguintes. dados, tendo como base os objetivos definidos no primeiro passo.
O algoritmo é selecionado, o modelo construído e os parâmetros
A etapa de Pós-Processamento abrange o tratamento do são refinados. É interessante que seja criado diferentes modelos
conhecimento objetivo na Mineração de Dados. Tal tratamento tem para avaliação na próxima fase.
como objetivo facilitar a interpretação e a avaliação da utilidade do
conhecimento descoberto. Dentre as principais funções desta etapa Evaluation (Avaliação)
estão: elaboração e organização, podendo incluir a simplificação, É nessa fase que ocorre a avaliação dos resultados com base nos
de gráficos, diagramas, ou relatórios demonstrativos; além da critérios estabelecidos no início do projeto. Considerada uma fase
conversão da forma de representação do conhecimento obtido. crítica do processo, nesta fase é necessária a participação de
A figura a seguir apresenta um resumo das etapas operacionais especialistas nos dados, conhecedores do negócio e tomadores de
executadas em processos de KDD. decisão. Diversas ferramentas gráficas são utilizadas para a
visualização e análise dos resultados (modelos).

Deployment (Distribuição ou Execução)


Nessa fase, o modelo é colocado em produção para que possa ser
utilizado pelo cliente.

TAREFAS, TÉCNICAS E ALGORITMOS DE MINERAÇÃO DE


DADOS
A mineração de dados compreende a aplicação de algoritmos sobre
os dados procurando abstrair conhecimento. Estes algoritmos são
Processo CRISP-DM fundamentados em técnicas que procuram explorar os dados de
Muitos processos têm o objetivo de definir e padronizar as fases e forma a produzir modelos de conhecimento. A forma de
atividades da Mineração de Dados. representação do conhecimento depende diretamente do algoritmo
Porém, apesar das particularidades, no geral, todos possuem a de mineração de dados utilizado.
mesma estrutura. TURBAN et. al (2009) destacam que um sistema de mineração de
Em meados dos anos 90, foi proposto o Processo CRISP-DM, do dados inteligente consegue descobrir informações em grandes
inglês Cross-Industry Standard Process of Data Mining por um bases de dados na qual consultas e relatórios não conseguem
conjunto de empresas europeias para atuar como um modelo de revelar algo efetivamente.
processo padrão, mas não patenteado. Com isso, ferramentas de mineração de dados encontram padrões
A figura a seguir ilustra, de maneira cíclica, as seis fases do em dados e podem até deduzir regras a partir deles. Esses padrões
processo CRISP-DM. e regras podem ser utilizados para direcionar a tomada de decisão
e prever as consequências das decisões.
A mineração de dados é normalmente organizada pela sua
capacidade de realizar determinadas tarefas. Elas consistem na
especificação do que queremos buscar nos dados. CASTRO e
FERRARI (2016) destacam que, em geral, essas tarefas podem ser
classificadas em duas categorias: (1) descritivas: caracterizam as
propriedades gerais dos dados; e (2) preditivas: fazem inferência a
partir dos dados objetivando predições. Nas descritivas, têm como
principais as tarefas de associação, clusterização e sumarização. Já
as preditivas, por sua vez, são compostas pelas tarefas de
classificação e regressão.

A seguir, são descritas, sucintamente, as principais tarefas, técnicas


e algoritmos de mineração de dados:

Classificação (Classification) – Uma das tarefas mais comuns


da mineração de dados, a classificação, tem o objetivo de
identificar a qual classe um determinado dado pertence. O modelo
analisa o conjunto de dados fornecidos, com cada dado já
contendo a indicação à qual classe pertence, a fim de aprender
Business Understanding (Entendimento dos Negócios) como classificar um novo dado
Nessa fase, deve ser identificado os problemas de negócio a serem (aprendizado supervisionado). Técnicas comuns utilizadas para
resolvidos, buscando os detalhes e o impacto dele no negócio. O classificação são Redes Neurais e Árvores de Decisão.
13
Árvores de Decisão (Decision Tree): TURBAN et. al (2009) qualidades semelhantes. Esta tarefa diferencia da classificação pois
definem que as Árvores de Decisão classificam dados em um não há a necessidade de que os registros sejam categorizados
número finito de classes, com base nos valores das variáveis de previamente. Além do mais, o agrupamento não tem o objetivo de
entrada. Elas são compostas basicamente de uma hierarquia de classificar, estimar ou predizer o valor de uma variável, ele apenas
declarações “se-então” e, portanto, são significativamente mais tenta identificar os grupos de dados similares.
rápidas do que as Redes Neurais. Também são mais adequadas Algumas das técnicas usadas para classificação, como redes
para dados categorizados e intervalares, pois incorporar variáveis neurais, referem-se em parte a situações que envolvem
contínuas em uma estrutura de árvore de decisão pode ser difícil. agrupamento. Algumas áreas onde as tarefas de agrupamento são
Uma árvore de decisão pode ser definida como uma raiz seguida de aplicadas, podem ser a pesquisa de mercado, o reconhecimento de
nós internos. padrões, o processamento de imagens, as pesquisas geográficas, a
Cada nó (incluindo a raiz) é rotulado com uma questão. Os arcos detecção de fraudes, entre outras.
associados a cada nó abrangem todas as respostas possíveis. Cada Associação (Association): TURBAN et. al (2009) definem que as
resposta representa um resultado provável. Um exemplo de árvore associações estabelecem relações entre itens que ocorrem juntos
de decisão pode ser visto na figura a seguir. em um determinado registro. Algumas vezes, é chamada também
de análise de cesta de supermercado (market basket) porque uma
das aplicações dessa técnica é a análise das operações de venda
para determinar um padrão do que os clientes ou consumidores
costumam comprar. CASTRO e FERRARI (2016) exemplificam da
seguinte forma:
os gerentes de marketing gostam muito de frases como “90% dos
clientes que compram um smartphone assinam um plano de dados
para seu aparelho”. Nesse caso, a regra encontrada pela
ferramenta de análise de dados e que está refletida nessa
afirmação é aquele que associa smartphone ao plano de dados.
Regras dessa natureza são chamadas de Regras de Associação ou,
do inglês Association Rules, ou seja, é a identificação de grupos de
dados que apresentam concorrência entre si (ocorrência simultânea
de dois eventos). Na tabela a seguir, há alguns exemplos de regras
de associação.
Redes Neurais (Neural Networks): As redes neurais estão
relacionadas com o desenvolvimento de estruturas matemáticas
Detecção de Anomalias ou Análise de Outliers: CASTRO e
que têm a capacidade de aprender. TURBAN et. al (2009)
FERRARI (2016) destacam que os dados conhecidos como
destacam que elas tendem a ser mais eficientes onde o número de
anomalias ou valores discrepantes (outliers) não seguem o
variáveis envolvido é maior e as relações entre elas é mais
comportamento ou não possuem a
complexa e imprecisa. As redes neurais têm vantagens e
característica comum dos dados ou de um modelo que os
desvantagens. Como desvantagem, por exemplo, é muito difícil
represente. Em algumas aplicações, como na detecção de fraudes,
fornecer uma boa justificativa para as previsões feitas por uma
os eventos raros ou anomalias podem ser mais informativos do que
rede neural. Além disso, redes neurais tendem a necessitar de
aqueles que ocorrem regularmente.
muito treinamento. Dessa forma, o tempo necessário para
treinamento tende a aumentar com o aumento do volume de
APLICAÇÕES DE MINERAÇÃO DE DADOS
dados. Assim, as redes neurais, em geral, não podem ser treinadas
A mineração de dados pode ser muito útil em diversos setores com
em bancos de dados muito grandes.
o objetivo de identificar oportunidades de negócios e criar
vantagens competitivas. A seguir, estão listados alguns setores e
Estimação (Estimation) ou Regressão (Regression):
como a mineração de dados pode
Semelhante à tarefa de classificação, no entanto, a estimação ou
ajudá-los na análise de seus dados:
regressão é utilizada quando o dado é identificado por um valor
numérico e não por uma classe. Assim, muitas vezes, esta tarefa
Comércio Eletrônico (E-commerce): Os sites de comércio
está relacionada com a identificação de métricas e a avaliação de
eletrônico usam mineração de dados para oferecer vendas cruzadas
um item específico (por exemplo, um cliente) junto às métricas
por meio de seus sites. Por exemplo, diversos sites de compras
através da especificação de pontuações. Outro exemplo de
mostram frases como “As pessoas também viram”, “Compram
utilização que também podem ser realizadas são as previsões de
juntos com frequência” para os clientes que estão interagindo com
venda de um determinado produto.
o site.
Análise Descritiva (Description) ou Sumarização de Dados:
Bancário: A mineração de dados ajuda o setor financeiro a obter
Esta análise permite medir, explorar e descrever características
uma visão dos riscos de mercado e a gerenciar a conformidade
intrínsecas aos dados. Também permitem uma sumarização e
regulatória. Ajuda os bancos a identificar prováveis inadimplentes
compreensão dos objetos base e seus atributos. Técnicas de
para decidir se emitem cartões de crédito ou empréstimos, por
visualização também são empregadas para um melhor
exemplo.
entendimento da natureza e distribuição dos dados. Como
exemplo, podemos ter uma base de dados com informações sobre
Varejo e Vendas: A mineração de dados ajuda os proprietários do
assinantes de uma determinada revista. A tarefa de sumarização
setor de vendas e varejo a saber as escolhas dos clientes. Olhando
poderia realizar uma busca por características comuns à maioria
para o histórico de compras dos clientes, as ferramentas de
dos assinantes. Por exemplo, os assinantes da revista sobre
mineração de dados mostram as preferências de compra de cada
negócios, são homens na faixa etária de 35 a 65 anos, com nível
um deles.
superior completo e que trabalham na área de finanças. Estas
informações poderiam ser utilizadas pela equipe de marketing da
Fabricação e Produção: Com a ajuda da mineração de dados, os
revista para direcionar as ofertas de assinaturas para novos clientes
fabricantes podem prever o desgaste dos ativos de produção. Eles
com as mesmas características encontradas anteriormente.
podem antecipar a manutenção, o que os ajuda a reduzi-los para
minimizar o tempo de inatividade.
Agrupamento ou Segmentação (Clustering): Tarefa que tem
como objetivo separar (particionar ou segmentar) um conjunto de
Seguros: A mineração de dados ajuda as seguradoras a
objetos em grupos (do inglês clusters) de objetos similares.
estabelecer preços lucrativos para seus produtos e a promover
TURBAN et. Al (2009) definem que o agrupamento divide um
novas ofertas para clientes novos ou existentes.
banco de dados em segmentos cujos membros compartilham

14
Educação: A mineração de dados beneficia os educadores para O objetivo central do aprendizado de máquina é o aprendizado e a
acessar os dados dos alunos, prever os níveis de desempenho e inferência. Em primeiro lugar, a máquina aprende por meio da
encontrar alunos ou grupos de alunos que precisam de atenção descoberta de padrões.
extra. Por exemplo, alunos que são fracos na disciplina de Essa descoberta é feita graças aos dados. Uma parte crucial do
matemática. cientista de dados é escolher cuidadosamente quais dados serão
fornecidos à máquina. A lista de atributos usada para resolver um
Investigação Criminal: A mineração de dados pode detectar problema é chamada de vetor de recursos.
anomalias em uma grande quantidade de dados. A máquina usa alguns algoritmos sofisticados para simplificar a
Os dados criminais, por exemplo, incluem todos os detalhes de um realidade e transformar essa descoberta em um modelo. Portanto,
crime. Para a polícia, a mineração de dados é útil para estudar os o estágio de aprendizagem é usado para descrever os dados e
padrões e tendências e prevê eventos futuros com melhor precisão. resumi-los em um modelo.
A partir do que foi estudado anteriormente, vamos resumir alguns Por exemplo, uma máquina poderia tentar entender a relação entre
conceitos fazendo uma comparação entre Mitos versus Realidade o salário de um indivíduo e a probabilidade de ele ir a um
sobre a mineração de dados. restaurante mais refinado. O modelo então seria a máquina
encontrar uma relação positiva entre o salário e o indivíduo ir a um
restaurante sofisticado.
NOÇÕES DE APRENDIZADO DE MÁQUINA Quando o modelo é construído, é possível testar o quão poderoso
O aprendizado de máquina é uma das tendências mais recentes da ele é em dados nunca vistos antes.
tecnologia atualmente. Do inglês Machine Learning, este é um Os novos dados são transformados em um vetor de recursos que
ramo da inteligência artificial (IA) que já está revolucionando o passam pelo modelo e dão uma previsão.
software moderno e mudando a forma como as empresas fazem Essa é a “mágica” do aprendizado de máquina. Não há necessidade
negócios. de atualizar as regras ou treinar novamente modelo. Pode-se usar
Neste capítulo, iremos aprender alguns conceitos básicos sobre o modelo previamente treinado para fazer inferências sobre novos
aprendizado de máquina e, ao final, resolveremos algumas dados.
questões de concursos públicos sobre este tema.
ABORDAGENS DE APRENDIZADO DE MÁQUINA
CONCEITO DE APRENDIZADO DE MÁQUINA O aprendizado de máquina pode ser agrupado em algumas
O aprendizado de máquina é focado na construção de aplicativos categorias, são elas:
que aprendem com os dados e melhoram sua precisão ao longo do
tempo, sem serem programados para isso. Em ciência de dados, Aprendizagem Supervisionada
um algoritmo é uma sequência de etapas de processamento Um algoritmo utiliza dados de treinamento para aprender a relação
estatístico. de determinadas entradas com uma determinada saída. Pode-se
No aprendizado de máquina, os algoritmos são “treinados” para usar o aprendizado supervisionado quando os dados de saída
encontrar padrões e recursos em grandes quantidades de dados, a forem conhecidos.
fim de tomar decisões e fazer previsões com base em novos dados. Assim, o algoritmo irá prever novos dados.
Quanto melhor for o algoritmo, mais precisas serão as decisões e
previsões à medida que ele processa mais dados. Por exemplo, se quisermos usar o aprendizado supervisionado para
O aprendizado de máquina também está intimamente relacionado à ensinar um computador a reconhecer fotos de gatos, forneceríamos
mineração de dados, pois um computador recebe dados como a ele um conjunto de imagens, algumas rotuladas como “gatos” e
entrada e utiliza um algoritmo para formular suas respostas. outras como “não são gatos”. Os algoritmos de aprendizado de
Uma tarefa típica do aprendizado de máquina é fornecer uma máquina ajudariam o sistema a aprender a generalizar os conceitos
recomendação. Para quem tem conta na Netflix, por exemplo, para que pudesse identificar gatos em imagens que não havia
todas as recomendações de filmes ou séries são baseadas nos encontrado antes.
dados históricos do usuário. Assim, as empresas de tecnologia Há duas categorias de algoritmos de aprendizagem supervisionada
utilizam o aprendizado de máquina para melhorar a experiência do que processam um conjunto de dados previamente rotulado para
usuário com recomendações personalizadas. extrapolar os comportamentos dos dados não rotulados, são os:
O aprendizado de máquina também é usado para uma variedade
de outras tarefas, como detecção de fraude, manutenção preditiva, Algoritmos de Classificação
automatização de tarefas e assim por diante. Veremos mais Como vimos no capítulo de Mineração de Dados, os algoritmos de
aplicações do aprendizado de máquina em um tópico posterior. Classificação têm o objetivo de identificar a qual classe um
determinado dado pertence.
COMO FUNCIONA O APRENDIZADO DE MÁQUINA Por exemplo, imagine que se deseja prever o gênero de um
A programação tradicional difere significativamente do aprendizado determinado cliente em uma loja online de varejo. Primeiro, será
de máquina, pois, nela, um programador codifica todas as regras necessário coletar dados do cliente sobre altura, peso, trabalho,
ou algoritmos. salário, compras realizadas etc. Sabendo que o gênero dos clientes
Cada regra é baseada em uma base lógica e a máquina executará só poderá ser masculino ou feminino, o objetivo dos algoritmos de
uma saída seguindo esta instrução. Classificação será atribuir uma probabilidade de ser homem ou
Quando o sistema se torna muito complexo, mais regras precisam mulher (ou seja, o rótulo) com base nas informações (dados que
ser escritas. Dependendo da complexidade do problema, a foram coletados). Quando o modelo aprender a reconhecer homem
manutenção pode se tornar insustentável pelo programador. ou mulher, ele poderá ser utilizado para fazer uma previsão a partir
Já o aprendizado de máquina é o cérebro onde ocorre todo o de dados coletados de novos clientes. Por exemplo, se o modelo
aprendizado. A forma como a máquina aprende é semelhante à do prediz “masculino = 70%”, significa que o algoritmo tem 70% de
ser humano. Por exemplo, os humanos aprendem com a certeza de que o novo cliente é do gênero masculino e 30% é do
experiência, correto? gênero feminino. Assim, a loja poderá exibir produtos relacionados
Quanto mais sabemos, mais facilmente podemos prever sobre algo. ao gênero com uma maior probabilidade do cliente se interessar.
Por analogia, quando enfrentamos uma situação desconhecida, a
probabilidade de sucesso é inferior a uma situação conhecida. Algoritmos de Regressão
As máquinas são treinadas da mesma forma. Para realizar uma Semelhante aos algoritmos de Classificação, a Regressão é utilizada
previsão, a máquina necessita enxergar um exemplo conhecido quando o dado é identificado por um valor numérico e não por uma
previamente. Assim, quando oferecemos à máquina um conjunto classe.
de exemplos semelhantes, ela pode descobrir um resultado de Por exemplo, um analista financeiro pode querer prever o valor de
forma mais consistente. uma ação com base em uma variedade de características como
desempenhos anteriores da ação, índices macroeconômicos etc.

15
Assim, a partir destas informações, os algoritmos irão ser treinados
para estimar o preço das ações com o menor erro possível. Marketing
Antes da era dos dados de massa (o chamado Big Data), os
Aprendizagem Não Supervisionada pesquisadores desenvolveram ferramentas matemáticas avançadas,
Na aprendizagem não supervisionada, um algoritmo explora dados como análise bayesiana, para estimar o valor de um cliente. Com o
de entrada sem receber uma variável de saída explícita. Ou seja, o crescimento dos dados, o departamento de marketing utiliza a
objetivo é que o sistema desenvolva suas próprias conclusões a inteligência artificial, como o aprendizado de máquina, para
partir de um determinado conjunto de dados. otimizar o relacionamento com o cliente e os anúncios dos
Por exemplo, se um gerente de uma loja de varejo tivesse um produtos, por exemplo.
grande conjunto de dados de vendas online, ele poderia usar o
aprendizado não supervisionado para encontrar associações entre
esses dados que poderiam ajudá-lo a melhorar o marketing dos
produtos.
O resultado dos algoritmos poderia informar algo como “As vendas
de home theater estão relacionadas às vendas de aparelhos de
televisão.”.
Uma categoria de algoritmos de aprendizagem não supervisionada
que processa um conjunto de dados para encontrar um padrão
interno, sem consultar dados prévios é o Agrupamento ou
Clustering.

Aprendizagem Semissupervisionada
O aprendizado semissupervisionado oferece um meio-termo entre o
aprendizado supervisionado e o não supervisionado. Durante o
treinamento, ele usa um menor conjunto de dados rotulados para
orientar a classificação e a extração de recursos de um conjunto de
dados maior e não rotulado.
A aprendizagem semissupervisionada pode resolver o problema de
não haver dados rotulados suficientes (ou não ser capaz de rotular
dados suficientes) para treinar um algoritmo de aprendizagem
supervisionada.
Voltando ao exemplo do gato, imagine que você tenha um grande
número de imagens, algumas das quais foram rotuladas como
“gato” e “não é gato” e outras não. Um sistema de aprendizagem
semissupervisionado usaria as imagens rotuladas para fazer
algumas suposições sobre quais das imagens não rotuladas incluem
gatos. As melhores suposições seriam então realimentadas no
sistema para ajudá-lo a melhorar suas capacidades e o ciclo
continuaria.

Aprendizado por Reforço


O aprendizado por reforço é um modelo de aprendizado de
máquina comportamental semelhante ao aprendizado
supervisionado, mas o algoritmo não é treinado usando dados de
amostra. Este modelo aprende à medida que avança por meio de
tentativa e erro. Uma sequência de resultados bem-sucedidos será
reforçada para desenvolver a melhor recomendação ou política
para um determinado problema. Por exemplo, se a tarefa for
sugerir um artigo de notícias a um usuário, um algoritmo de
aprendizado por reforço obterá feedback constante do usuário,
sugerindo alguns artigos de notícias e, em seguida, construirá um
“gráfico de conhecimento” de quais artigos a pessoa gostará.

APLICAÇÕES DE APRENDIZADO DE MÁQUINA

Automação
O aprendizado de máquina funciona de forma totalmente
autônoma em qualquer área sem a necessidade de qualquer
intervenção humana. Por exemplo, robôs executando as etapas
essenciais do processo de uma fábrica.

Indústria Financeira
O aprendizado de máquina está se tornando cada vez mais popular
no setor financeiro. Os bancos estão usando principalmente para
encontrar padrões de dados entre os clientes, mas também para
evitar fraudes.

Governo
O governo usa o aprendizado de máquina para gerenciar a
segurança pública e os serviços públicos.

Saúde
A saúde foi uma das primeiras áreas a utilizar o aprendizado de
máquina com a detecção de imagem.
16

Você também pode gostar