Вы находитесь на странице: 1из 360

AlfaCon Concursos Públicos

CONTEÚDO PROGRAMÁTICO
ÍNDICE
Noções de Sistemas Operacionais���������������������������������������������������������������������������������������������������������������������2
Definição�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������2
Kernel����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������2
Linguagem de Controle (Interpretador de Comandos)������������������������������������������������������������������������������������������������3
É Possível Instalar Mais de um Sistema Operacional no Mesmo Computador?�������������������������������������������������������3
Dual Boot����������������������������������������������������������������������������������������������������������������������������������������������������������������������������3
Máquina Virtual����������������������������������������������������������������������������������������������������������������������������������������������������������������3

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
1
AlfaCon Concursos Públicos

Noções de Sistemas Operacionais


Definição
Um sistema operacional é um programa que atua como intermediário entre o usuário e o
hardware de um computador. O propósito de um sistema operacional é propiciar um ambiente
no qual o usuário possa executar outros programas de forma conveniente, por esconder detalhes
internos de funcionamento e eficiência, por procurar gerenciar de forma justa os recursos do sistema
(Silberschatz, Galvin e Gagne, 2000, p.22].
Conclui-se que sistema operacional é um software necessário (software básico) para que o com-
putador (hardware) funcione corretamente.
Os sistemas operacionais podem ser conceituados de duas formas: topdown e bottom-up.
No modo topdown (“de cima a baixo”) que é o modo de visão do usuário, o sistema operacional
é um software que permite a interação entre o hardware e os programas aplicativos. Assim para o
usuário, o sistema operacional fornece:
→ Acesso ao sistema.
→ Possibilidade de criar e gerenciar arquivos e diretórios.
→ Ambiente para execução de programas.
→ Acesso aos dispositivos de entrada e saída.
→ Acesso ao conteúdo de arquivos.
→ Detecção de erros.
Já no modo bottom-up (“de baixo a cima”), é considerado um gerenciador de recursos. Isso
porque controla a utilização dos recursos de hardware pelas aplicações como também quais e quando
as aplicações podem ser executadas.
Podemos citar como recursos:
→ Tempo de CPU.
→ Espaço em memória.
→ Espaço em disco.
→ Acesso aos dispositivos de comunicação.
→ Bibliotecas de software.

Kernel
O kernel é o núcleo de um sistema operacional. Ele é responsável por controlar os dispositivos
de hardware do computador, ou seja, é no Kernel onde estão os drivers dos dispositivos de entrada e
saída, por exemplo.
Os drivers são camadas de software responsáveis pela implementação de rotinas específicas que
permitem o acesso, a inicialização e o gerenciamento de um determinado dispositivo. Outro fator a ser
considerado com relação aos drivers é o alto grau de dependência do sistema operacional e o restante do
kernel do sistema em que será instalado. A implementação dos drivers, leva em consideração o sistema
operacional, para que as corretas instruções de acesso ao dispositivo estejam presentes no driver. O alto
grau de dependência entre os driver e o restante do kernel do sistema fazia com que em sistemas mais
antigos, ao ser instalado um novo driver, o kernel tinha que ser recompilado e em seguida, reinicializa-
do o sistema. Com a modernização dos sistemas operacionais, não há mais a necessidade de reiniciali-
zar o sistema após uma instalação, pois os drivers são carregados dinamicamente.
Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
2
AlfaCon Concursos Públicos

Linguagem de Controle (Interpretador de Comandos)


Um dos utilitários mais importantes para um sistema operacional é o interpretador de
comandos (ou shell), é a forma mais direta de um usuário se comunicar com o sistema operacional
(SO). É oferecida por todos os SO para que, por meio de comandos simples, o usuário possa ter
acesso a rotinas específicas do sistema.
Os comandos, quando digitados (ou executados) pelo usuário, são interpretados por um
programa denominado interpretador de comandos ou shell. A linha de comando é reconhecida, o
shell verifica sua sintaxe, envia mensagens de erro e faz chamadas de rotinas dos sistemas.
O usuário dispõe, assim, de uma interface interativa direta com o sistema operacional, para
realizar tarefas básicas como acessar um arquivo em disco ou consultar um diretório.
As linguagens de controle evoluíram no sentido de permitir uma interação mais amigável, utilizando
interfaces gráficas, colocando os programas em uso em janelas e utilizando ícones para comunicação com
o usuário. Quando você cria uma pasta, renomeia ou apaga um arquivo, clica em cima de uma planilha ou
texto para editá-los, você está interagindo com o shell e utilizando recursos dessa linguagem de comando.

É Possível Instalar Mais de um Sistema Operacional no Mesmo Computador?


Sim. Basta escolher o procedimento a ser utilizado. Por exemplo, Dual Boot ou por meio de uma
máquina virtual.

Dual Boot
Dual Boot é o nome dado ao processo que permite que mais de um sistema operacional seja
instalado no mesmo HD, por exemplo. Nesse caso, o HD precisa passar por um processo chamado
de particionamento de disco, ou seja, o HD será dividido em partes lógicas independentes. Sendo
assim, é possível instalar em cada partição um sistema operacional diferente. A grande vantagem
do processo Dual Boot é o fato de o computador não perder desempenho, mesmo tendo mais de um
sistema operacional instalado. Isso acontece porque apenas um sistema será carregado por vez. O
funcionamento desse processo depende da utilização de um gerenciador de boot.
Gerenciador de boot é um software capaz de iniciar o processo de carregamento do sistema ope-
racional em um computador. Assim, ao ligar o computador, o gerenciador de boot será carregado e o
usuário poderá escolher qual sistema operacional deseja inicializar naquele momento. Entre os geren-
ciadores de boot mais conhecidos e cobrados em prova, podemos citar o Grub e o Lilo, por exemplo.

Máquina Virtual
Uma máquina virtual é um arquivo de computador (normalmente chamado de imagem) que
se comporta como um computador de verdade. Em outras palavras, é a criação de um computador
dentro de um computador. Ela é executada em uma janela, assim como outros programas, propor-
cionando ao usuário final a mesma experiência na máquina virtual que ele teria no sistema opera-
cional host. Isso gera um ambiente ideal para teste de outros sistemas operacionais, incluindo lança-
mentos beta e para acessar dados infectados por vírus, por exemplo.
Diversas máquinas virtuais podem ser executadas simultaneamente no mesmo computador
físico, o que pode afetar o desempenho da máquina.

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
3
AlfaCon Concursos Públicos

CONTEÚDO PROGRAMÁTICO
ÍNDICE
Sistema Operacional Windows 10���������������������������������������������������������������������������������������������������������������������2
Menu Iniciar�����������������������������������������������������������������������������������������������������������������������������������������������������������������������2
Barra de Tarefas�����������������������������������������������������������������������������������������������������������������������������������������������������������������2
Alterar as Configurações da Barra de Tarefas���������������������������������������������������������������������������������������������������������������2
Área de Notificação�����������������������������������������������������������������������������������������������������������������������������������������������������������3
Central de Ações����������������������������������������������������������������������������������������������������������������������������������������������������������������3
Alterar as Configurações de Notificação de Remetentes Individuais������������������������������������������������������������������������4
Modo Tablet������������������������������������������������������������������������������������������������������������������������������������������������������������������������4
Windows Hello�������������������������������������������������������������������������������������������������������������������������������������������������������������������5

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
1
AlfaCon Concursos Públicos

Sistema Operacional Windows 10


Menu Iniciar

Além dos novos detalhes gráficos, visualmente falando, o retorno do Menu Iniciar é uma grande
novidade do Windows 10. O espaço se apresenta agora como uma mistura bem interessante do Menu
Iniciar clássico, presente até o Windows 7, e da tela Iniciar, disponível nas versões 8 e 8.1 do sistema
operacional. Porém, o Windows 10 permite que você use tanto o Menu Iniciar quanto a tela Iniciar, a
mesma utilizada no Windows 8.
Para isso, abra o Menu Iniciar e clique em “Configurações”. Na janela que abriu em seu compu-
tador, clique em “Personalização” e depois vá até a seção “Iniciar”. Lá, ative a opção “Usar tela inteira
de Iniciar” conforme mostra a figura a seguir. Depois, é só clicar sobre o ícone do Windows no canto
da tela ou então usar a tecla do Windows presente em seu teclado para abrir a tela Iniciar. Obviamen-
te, é possível restaurar esta função para o modo padrão do Windows 10 a qualquer momento.

Barra de Tarefas
Use a barra de tarefas para mais do que ver os apps e saber a hora. Você pode personalizá-la de
várias maneiras — altere a cor e o tamanho, fixe seus apps favoritos nela, mova-a na tela e reorganize
ou redimensione os botões da barra de tarefas. Você também pode bloquear a barra de tarefas para
manter suas opções, verificar o status da bateria e minimizar todos os programas abertos momenta-
neamente para poder dar uma olhada em sua área de trabalho.

Alterar as Configurações da Barra de Tarefas


Personalize a barra de tarefas por meio dela mesma. Se você quiser alterar vários aspectos da
barra de tarefas de uma só vez, use Configurações da barra de tarefas. Pressione e segure ou clique
com o botão direito do mouse em um espaço vazio da barra de tarefas e selecione Configurações da
barra de tarefas. Essa configuração também poderá ser realizada por meio do caminho: Iniciar >
Configurações > Personalização > Barra de Tarefas.

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
2
AlfaCon Concursos Públicos

Área de Notificação
A tradicional área de notificação do Windows também ganhou novidades no Windows 10.
Agora, você pode personalizá-la de forma avançada, selecionando quais ícones devem ser exibidos
ali e também permite gerenciar individualmente os ícones de notificações de cada aplicativo. Para
isso, clique com o botão direito do mouse em qualquer ponto da Barra de Tarefas e vá em “Configu-
rações da barra de tarefas”. Na tela de personalização, você conta com várias opções, então leia com
atenção cada uma delas e ative ou desative alguns recursos conforme julgar necessário.

Central de Ações

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
3
AlfaCon Concursos Públicos

A central de ações no Windows 10 é onde você encontrará suas notificações e ações rápidas.
Altere suas configurações a qualquer momento para ajustar como e quando você vê notificações,
além de quais aplicativos e configurações são as suas principais ações rápidas.
Para isso, acesse:

Alterar as Configurações de Notificação de Remetentes Individuais


Em Receber notificações destes remetentes, siga um destes procedimentos:
→ Ative ou desative um remetente de notificação.
→ Selecione o nome do remetente e ative ou desative as barras de notificação, a privacidade da tela
de bloqueio e os sons de notificação, além de definir a prioridade das notificações.

Modo Tablet
O modo tablet deixa o Windows mais fácil e intuitivo de usar com touch em dispositivos tipo
conversíveis, ou quando você não quer usar teclado e mouse. Para ativar o modo tablet, selecione
central de ações na barra de tarefas e depois Modo tablet.
O menu Iniciar e os aplicativos (incluindo programas mais antigos) são abertos em tela inteira,
o que oferece a você mais espaço para trabalhar. Para usar dois aplicativos lado a lado, arraste um
aplicativo para um lado. Você verá onde ele será ajustado, juntamente com qualquer aplicativo que
estiver aberto que possa se ajustar do lado dele.
Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
4
AlfaCon Concursos Públicos

Windows Hello
A ativação do Windows Hello permite fazer logon com seu rosto ou impressão digital. Entre de
modo mais rápido e mais seguro em seu laptop, por exemplo.
Para isso, acesse:
Iniciar > Configurações > Contas > Opções de entrada.

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
5
AlfaCon Concursos Públicos

CONTEÚDO PROGRAMÁTICO
ÍNDICE
Sistema Operacional Windows 10���������������������������������������������������������������������������������������������������������������������2
Visão de Tarefas�����������������������������������������������������������������������������������������������������������������������������������������������������������������2
Histórico de Atividades do Windows 10��������������������������������������������������������������������������������������������������������������������2
Desativando o Histórico de Atividades����������������������������������������������������������������������������������������������������������������������3
Multitarefas��������������������������������������������������������������������������������������������������������������������������������������������������������������������4
Desligar, Suspender ou Hibernar o Computador�����������������������������������������������������������������������������������������������������4

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
1
AlfaCon Concursos Públicos

Sistema Operacional Windows 10


Visão de Tarefas

No Windows 10, foi incluído um recurso chamado Visão de Tarefas, uma espécie de visualização
panorâmica do sistema na qual é possível pré-visualizar todas as janelas abertas naquele momento.
Para acessar esse recurso, além do botão disponível na barra de tarefas, o usuário poderá utilizar a
combinação de teclas: logotipo do Windows + Tab.
Acessando o recurso Visão de Tarefas, é possível adicionar novas áreas de trabalho virtuais ao
sistema. Ou seja, é possível ter diversas áreas de trabalho funcionando simultaneamente dentro do
Windows 10. Ter várias áreas de trabalho é ótimo para manter organizados os projetos em anda-
mento e não relacionados, por exemplo.
Se preferir, o usuário poderá criar novas áreas de trabalho por meio do teclado, utilizando a com-
binação de teclas: logotigo do Windows + Ctrl + D.
Além disso, é possível alternar entre as diversas áreas de trabalho virtuais, utilizando a combina-
ção de teclas: logotipo do Windows + Ctrl + Setas direcionais (esquerda ou direita).

Histórico de Atividades do Windows 10


O histórico de atividades ajuda a acompanhar o que você faz em seu dispositivo, como os apps e
serviços que você usa, os arquivos que você abre e os sites que você visita. Seu histórico de atividades
é armazenado localmente em seu dispositivo, e se você se conectar ao dispositivo com uma conta
Microsoft e conceder sua permissão, o Windows enviará seu histórico de atividades para a Micro-
soft. A Microsoft usa os dados do histórico de atividades para fornecer experiências personalizadas
(como ordenar suas atividades por duração de uso) e sugestões relevantes (como prever suas neces-
sidades com base no histórico de atividades). Para configurar o recurso histórico de atividades, o
usuário poderá acessar o caminho: Iniciar > Configurações > Privacidade > Histórico de atividades.

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
2
AlfaCon Concursos Públicos

Os recursos do Windows 10 a seguir usam seu histórico de atividades:


→ Linha do Tempo. Veja uma linha do tempo de atividades e retome as atividades no seu dispositi-
vo. Por exemplo, digamos que você estava editando um documento do Word em seu dispositivo,
mas não conseguiu terminar antes de sair do escritório. Se você marcou a caixa de seleção Ar-
mazenar meu histórico de atividades neste dispositivo na página de configurações do Histórico
de Atividades, você pode ver essa atividade do Word na Linha do Tempo no dia seguinte, e pelos
próximos dias, e a partir daí, pode continuar trabalhando nela. Se você marcou a caixa de seleção
Enviar meu histórico de atividades à Microsoft e não conseguiu terminar antes de sair do es-
critório, você não só pode ver essa atividade do Word na Linha do Tempo por até 30 dias, como
também pode continuar trabalhando nela posteriormente em outro dispositivo.
→ Cortana. Ao coletar o histórico de atividades apenas em seu dispositivo, a Cortana permite que
você retome de onde parou nesse dispositivo. Se você optar por enviar suas atividades para a nuvem,
poderá retomar as atividades iniciadas em outros dispositivos de onde parou. A Cortana o notifi-
cará sobre essas atividades para que você possa retomá-las rapidamente em seu dispositivo, e com
a sincronização ativada, em seus outros dispositivos. Observe que para a experiência “Retomar de
onde você parou” entre dispositivos funcionar, você precisa ter a permissão Histórico de navegação
selecionada como Ativado na Cortana. Para fazer isso, abra a tela inicial da Cortana a partir da caixa
de pesquisa na barra de tarefas e selecione Configurações > Permissões e Histórico > Gerenciar as
informações que a Cortana pode acessar neste dispositivo > Histórico de navegação.
→ Microsoft Edge. Quando você usar o Microsoft Edge, seu histórico de navegação será incluído
em seu histórico de atividades. O histórico de atividades não será salvo durante a navegação com
guias ou janelas InPrivate.
Desativando o Histórico de Atividades
Para parar de salvar o histórico de atividades localmente no dispositivo, selecione Iniciar , e se-
lecione Configurações > Privacidade > Histórico de atividades. Nessa página, desmarque a caixa de
seleção Armazenar meu histórico de atividades neste dispositivo.
Para parar de enviar seu histórico de atividades à Microsoft, selecione Iniciar e selecione Confi-
gurações > Privacidade > Histórico de atividades. Nessa página, desmarque a caixa de seleção Enviar
meu histórico de atividades à Microsoft.

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
3
AlfaCon Concursos Públicos

Multitarefas
Com o recurso Multitarefa é possível organizar a forma como várias janelas podem ser exibidas
ao mesmo tempo na tela. Por exemplo, arraste janelas para os lados ou cantos da tela, e elas serão di-
mensionadas automaticamente para se ajustarem perfeitamente, lado a lado. Esse recurso pode ser
configurado a partir do caminho: Iniciar Configurações Sistema Multitarefas

Desligar, Suspender ou Hibernar o Computador


Há muitas maneiras de desligar o computador. Você pode desligá-lo completamente, suspendê-
-lo ou hiberná-lo.
→ Suspender – O computador permanece ligado, mas com baixo consumo de energia. Os aplica-
tivos ficam abertos, assim, quando o computador é ativado, você volta instantaneamente para o
ponto em que estava.
→ Hibernar – Desliga o computador, mas os aplicativos permanecem abertos. Quando o computa-
dor for ligado, você voltará para o ponto em que estava.
→ Desligar – Fecha todos os aplicativos e depois desliga o computador.

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
4
AlfaCon Concursos Públicos

CONTEÚDO PROGRAMÁTICO
ÍNDICE
Sistema Operacional Windows 10���������������������������������������������������������������������������������������������������������������������2
Cortana�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������2
Ativar o Modo “Ei Cortana”����������������������������������������������������������������������������������������������������������������������������������������2
Atalho de Teclado����������������������������������������������������������������������������������������������������������������������������������������������������������2
Permissões���������������������������������������������������������������������������������������������������������������������������������������������������������������������3
Para Configurar As Permissões, Abra A Cortana E Selecione Configurações. Depois, Em Permissões.��������3
Segurança do Windows (Windows Defender)��������������������������������������������������������������������������������������������������������������3
Explorador de Arquivos����������������������������������������������������������������������������������������������������������������������������������������������������3

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
1
AlfaCon Concursos Públicos

Sistema Operacional Windows 10


Cortana
A Cortana é a assistente digital da Microsoft. Ela tem o objetivo de ajudar você a realizar tarefas.
Para começar, selecione o ícone da Cortana na barra de tarefas ou digite um comando na barra de
pesquisa. Se não souber o que dizer, tente perguntar “O que você pode fazer?”
Aqui estão algumas coisas que a Cortana pode fazer por você:
→ Enviar lembretes com base na hora, em locais ou em pessoas.
→ Rastrear times, interesses e voos.
→ Enviar e-mails e SMSs.
→ Gerenciar seu calendário e manter você atualizado.
→ Criar e gerenciar listas.
→ Tocar músicas, podcasts e estações de rádio.
→ Bater papo e jogar.
→ Abrir qualquer aplicativo no sistema.
Ativar o Modo “Ei Cortana”
Abra a Cortana e selecione Configurações. Depois, em Ei Cortana, mude a opção para Ativado.

Atalho de Teclado
É possível habilitar a tecla de atalho Windows + C para permitir que a Cortana escute comandos. Para
isso, abra a Cortana e selecione Configurações. Depois, em Atalho de teclado, mude a opção para Ativado.

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
2
AlfaCon Concursos Públicos

Permissões
Para Configurar As Permissões, Abra A Cortana E Selecione Configurações. Depois, Em Permissões.

Segurança do Windows (Windows Defender)


O Windows 10 oferece proteções de segurança internas, abrangentes e contínuas em que
você pode confiar – incluindo o Windows Defender Antivírus, o firewall e muito mais. Mantendo-
-se atualizado, você tem a proteção e os recursos mais recentes assegurados – sem custo adicional.
Principais recursos da Central de segurança do Windows Defender:
→ Proteção contra vírus e ameaças (vírus, spyware, ransomware, entre outras ameaças);
→ Firewall;
→ Opções da família.
Por meio da seleção Opções da família, é possível ativar controles dos pais. Com isso, os pais podem:
→ Ajudar a proteger seus filhos on-line (escolha os sites que seus filhos podem visitar quando eles
estiverem navegando na web usando o Microsoft Edge);
→ Definir bons hábitos de tempo de tela (escolha quando e por quanto tempo seus filhos podem
usar seus dispositivos);
→ Controlar a vida digital de seus filhos (obtenha relatórios semanais das atividades de seus filhos on-line);
→ Permitir que seus filhos comprem aplicativos e jogos apropriados (escolha o que eles podem ver e
comprar para seus dispositivos).

Explorador de Arquivos
O Explorador de Arquivos é um gerenciador de arquivos e pastas que, como a própria defini-
ção explica, tem como principal função exibir os arquivos e pastas existentes no computador.
É possível acessar o explorador de arquivos de várias maneiras, como, por exemplo, por meio da
barra de tarefas ou por meio do menu Iniciar ou ainda por meio da combinação de teclas Windows + E.
Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
3
AlfaCon Concursos Públicos

Veja a seguir algumas alterações importantes para o Windows 10:


→ Quando o Explorador de Arquivos for aberto, você entrará no Acesso rápido. As pastas usadas
com frequência e os arquivos usados recentemente ficam listados ali. Assim, você não precisa
procurar por uma série de pastas para encontrá-los.

→ Se você quiser que uma pasta apareça no Acesso rápido, clique nela com o botão direito do mouse
e selecione Fixar no Acesso rápido. Desafixe-a de lá quando não precisar mais dela.

→ Para desativar arquivos recentes ou pastas frequentes, vá para a guia Exibir e selecione Opções.
Na seção Privacidade, desmarque as caixas de seleção e selecione Aplicar. Agora o Acesso rápido
só mostrará suas pastas fixas.

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
4
AlfaCon Concursos Públicos

→ Meu computador agora é chamado Este Computador, e ele não aparecerá na área de trabalho por padrão.
→ O OneDrive agora faz parte do Explorador de Arquivos (O OneDrive é o armazenamento on-line
gratuito que vem com sua conta Microsoft. Salve seus arquivos em pastas do OneDrive e você
poderá acessá-los de seu computador, tablet ou telefone).

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
5
AlfaCon Concursos Públicos

CONTEÚDO PROGRAMÁTICO
ÍNDICE
Sistema Operacional Windows 10���������������������������������������������������������������������������������������������������������������������2
Explorador de Arquivos����������������������������������������������������������������������������������������������������������������������������������������������������2
Nomes de Arquivos�������������������������������������������������������������������������������������������������������������������������������������������������������2
Restrições ao Atribuir Nomes�������������������������������������������������������������������������������������������������������������������������������������2
Lixeira����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3
Propriedades da Lixeira�����������������������������������������������������������������������������������������������������������������������������������������������3

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
1
AlfaCon Concursos Públicos

Sistema Operacional Windows 10


Explorador de Arquivos
De vez em quando, você pode querer alterar o local onde os arquivos ficam armazenados no
computador. Por exemplo, talvez você queira mover os arquivos para outra pasta ou copiá-los para
uma mídia removível, a fim de compartilhar com outra pessoa.
A maioria das pessoas copia e move arquivos usando um método chamado Arrastar e Soltar.

Ao usar o método Arrastar e Soltar, note que algumas vezes o arquivo ou a pasta é copiado
e, outras vezes, ele é movido. Se você estiver arrastando um item entre duas pastas que estão no
mesmo disco rígido, os itens serão movidos para que duas cópias do mesmo arquivo ou pasta não
sejam criadas no mesmo local. Se você estiver arrastando o item para uma pasta que esteja em outra
unidade, o item será copiado.

Nomes de Arquivos
Os nomes de arquivos do Windows são divididos em duas partes por um ponto: a primeira é o nome
do arquivo, e a segunda é uma extensão de três ou quatro caracteres que define o tipo de arquivo. Em
Informática.docx, por exemplo, a primeira parte do nome do arquivo é Informática e a extensão é docx.
As extensões dizem ao computador qual aplicativo criou ou pode abrir o arquivo e qual ícone
deve ser usado para o arquivo. Por exemplo, a extensão .docx instrui o computador de que o Micro-
soft Word pode abrir o arquivo e que um ícone do Word deve ser exibido quando você visualizá-lo
no Explorador de Arquivos.
Restrições ao Atribuir Nomes
1º – Os nomes não podem conter alguns caracteres especiais, são eles: / (barra) , \ (barra invertida), :
(dois pontos), * (asterisco), ? (interrogação), | (barra vertical), “ (aspas duplas),
< (menor que), > (maior que).
2º – O nome do arquivo incluindo o seu caminho, ou seja, o local em que está armazenado, não pode
ultrapassar 260 caracteres.
3º – Arquivos que estão abertos não podem ser renomeados.

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
2
AlfaCon Concursos Públicos

Lixeira
Quando você exclui um arquivo do disco rígido do seu computador, ele apenas é movido para a
Lixeira onde fica temporariamente armazenado até a Lixeira ser esvaziada. Com isso, você tem a opor-
tunidade de recuperar arquivos excluídos acidentalmente e restaurá-los para os locais originais. Para
excluir arquivos sem passar pela lixeira, basta utilizar a combinação de teclas SHIFT + DELETE.
Propriedades da Lixeira
→ Tamanho – Por padrão, o Windows 10 realiza um cálculo para definir o tamanho da lixeira da
unidade. Nesse caso, funciona assim: 10 % de 40 GB + 5 % do restante da unidade. Porém, é im-
portante destacar que o usuário poderá alterar o tamanho da lixeira.
→ Não mover arquivos para a lixeira – Caso essa opção seja ativada pelo usuário, a lixeira da unidade
será desabilitada. Por padrão, a lixeira vem habilitada.
→ Exibir caixa de diálogo de confirmação de exclusão – No Windows 10, por padrão, essa opção
vem desativada, ou seja, ao excluir um arquivo para a lixeira, o Windows 10 não solicita confir-
mação de exclusão. Porém, a qualquer momento o usuário poderá ativar a caixa de exclusão.
→ Para acessar as propriedades da lixeira, basta clicar com o botão direito do mouse sobre o ícone da
lixeira presente na área de trabalho e, em seguida, escolher a opção Propriedades.

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
3
AlfaCon Concursos Públicos

CONTEÚDO PROGRAMÁTICO
ÍNDICE
Classificação de Software�����������������������������������������������������������������������������������������������������������������������������������2
Software Livre��������������������������������������������������������������������������������������������������������������������������������������������������������������������2
4 Liberdades de Software Livre�����������������������������������������������������������������������������������������������������������������������������������3
Software Proprietário��������������������������������������������������������������������������������������������������������������������������������������������������������4
Freeware������������������������������������������������������������������������������������������������������������������������������������������������������������������������������4
Shareware����������������������������������������������������������������������������������������������������������������������������������������������������������������������������4
Demo�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������4
Beta��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������4

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
1
AlfaCon Concursos Públicos

Classificação de Software
Em termos técnicos, podemos dizer que o conceito de classificação de software está atrelado ao tipo
de licença empregada a um software quando ele é registrado. Esse conceito é associado a uma forma
de registrar um programa, como se fosse de uma obra literária ou musical, por exemplo, mas que nesse
caso é voltado para softwares (programas de computador). Em termos mais simples, podemos dizer
que Classificação de Software é a “patente de registro” empregada a um programa de computador.
Quando se desenvolve um programa de computador, são gerados vários códigos de programação
para se chegar ao produto final, que é um software. E quando se deseja registrar um programa, serão
registrados em nome do autor os códigos de programação gerados para criar esse programa e qual
é a finalidade dessa obra em específico, se é um editor de texto, um jogo simples, um navegador de
internet, por exemplo. Trazendo para um caso prático, imagine que você acabou de desenvolver um
software e precisa registrar esse programa em seu nome ou no nome da sua empresa, para requerer
seus direitos sobre essa obra quando necessário garantir sua propriedade intelectual, sendo isso ga-
rantido por lei. Então, para isso acontecer, você deve ir até uma agência específica, que desempenha
esse papel, e apresentar seus códigos de programa do software para registrar o programa conforme
sua necessidade. Uma observação muito importante é que um desenvolvedor de software não é
obrigado a registrar um programa em seu nome ou em nome da sua empresa, podendo fazer uso do
programa a qualquer momento ou compartilhá-lo na web livremente, mas não será possível requerer
seus direitos sobre aquela obra quando for necessário.
Existem vários tipos específicos de classificação de um programa, podendo um software ser
registrado para aquisição de forma gratuita ou comercializada e também é possível registrar um
software para que os seus códigos-fonte, códigos de programação, sejam disponibilizados ou não
para quem faz uso do programa. Para cada tipo de registro, existe um nome técnico descrito na In-
formática, são eles: Software Livre e Software Proprietário, que são os principais tipos de classifica-
ção de software e também os tipos que mais aparecem em provas de concurso; e Software Gratuito,
Comercial e Software em Domínio Público, que são formas de classificação existente, que não são
tão frequentes em provas de concurso. Para cada tipo de classificação e software, existem regras es-
pecíficas que geralmente são apresentadas para o candidato em questões. Vejamos agora especifica-
mente cada um dos tipos de classificação de software.

Software Livre
O tipo de classificação de Software Livre é muito confundido pelos alunos, pois associam os
programas assim registrados a uma forma gratuita de aquisição, em outras palavras, programas
classificados como Software Livre são sempre gratuitos. Cuidado, pois isso não é verdade, pode ou
não ser gratuito, ou seja, os programas registrados como Software Livre podem ser disponibilizados
de forma gratuita ou da forma comercializada. Quem deverá impor essa condição de aquisição ao
software é o fabricante do programa. Isso significa que não é uma regra os programas classificados
como livres serem adquiridos de forma gratuita.
A principal característica de um Software Livre diz respeito à propriedade do código-fonte,
códigos de programação, em que estes códigos não estarão disponíveis somente para o desenvolve-
dor do programa ou para a empresa fabricante. Software Livre tem como principal característica os
códigos-fonte estarem disponíveis para os usuários que adquirirem o programa.
Devido ao fato de termos acesso aos códigos de programação de um Software Livre, podemos
dizer então que esse tipo de classificação de software é caracterizado pela possibilidade de estudar-
mos os códigos-fonte quando necessário, pois se temos acesso aos códigos-fonte do programa, isso
se torna possível. Outra característica, que também está relacionada ao fato de termos acesso aos
códigos-fonte, é a possibilidade de adaptar esse software para as nossas necessidades, pois se temos
acesso aos códigos de programação, então podemos alterá-lo ou adaptá-lo, e se não soubermos pro-
gramar, então contratamos um serviço particular para realizar essas ações.

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
2
AlfaCon Concursos Públicos

Quando alteramos um código-fonte original, incluindo ou excluindo alguma informação, então


criamos uma nova versão a partir do programa original. Entretanto, devemos observar que no
conceito de classificação de Software Livre não utilizamos o termo “nova versão”, e sim “distribui-
ção”, ou seja, quando alteramos um programa já existente acabamos criando uma distribuição espe-
cífica. Então, é correto afirmar que a classificação de Software Livre permite a livre distribuição, ou
seja, é possível criarmos “versões” a partir do programa original, como já mencionado.
Neste ponto do material, convém alertar o estudante a tomar muito cuidado com as associações
que a banca pode fazer com tipo de licença de Software Livre. Geralmente, são apresentadas questões
afirmando que o Software Livre promove a inclusão digital, o que é um erro. Inclusão digital é um
processo global, como se fosse uma norma internacional, que garante o acesso de toda a popula-
ção mundial à tecnologia da informação. Em termos mais simples, essa norma estabelece que as
pessoas de todo o mundo não podem ser privadas de acessarem recursos computacionais, como, por
exemplo, computadores e a Internet. A classificação de Software Livre garante o acesso ao código-
-fonte de um software, e não o acesso a computadores e à Internet. Então, se a banca apresentar ao
candidato a informação de que Software Livre promove a inclusão digital, a questão estará errada.
Os programas registrados como Software Livre são “controlados” por uma fundação que se
dedica à eliminação das restrições de códigos sobre os programas e promove o desenvolvimento
de softwares com a classificação de distribuição livre. Essa fundação é a Free Software Foundation
(FSF), que em Português significa Fundação para o Software Livre. A FSF apoia integralmente os
projetos da GNU, que é, basicamente, outra fundação que se dedica à criação de programas de clas-
sificação livre, como, por exemplo, o sistema operacional Linux. Em termos mais simples, podemos
dizer que tanto a FSF (Free Software Foundation) quanto a GNU são fundações que se dedicam aos
registros e controles de softwares livres.
Quando um programa for registrado como Software Livre, ele precisará passar pelo crivo de 4
características básicas que irão defini-lo como Software Livre e que deverão acompanhá-lo durante
sua utilização pelos usuários. Essas características são chamadas de 4 liberdades de software, criadas
pela FSF e que acompanham os programas de Software Livre. Vejamos agora as principais caracte-
rísticas das 4 liberdades de software.
4 Liberdades de Software Livre
Essas características serão aplicadas aos programas classificados como Software Livre.
→ Liberdade número 0, ou também conhecida como primeira execução de liberdade, é caracterizada pela
possibilidade de o usuário de um software classificado como livre executar o programa para qualquer
finalidade desejada. A liberdade de executar o programa significa que qualquer tipo de pessoa ou or-
ganização é livre para usá-lo em qualquer tipo de sistema computacional, ou para qualquer tipo de
trabalho e propósito, sem que seja necessário comunicar ao desenvolvedor ou qualquer outra entidade
específica. Nessa liberdade, é o propósito do usuário que importa, não aquele do desenvolvedor.
→ Liberdade número 1, ou também conhecida como segunda execução de liberdade, é caracteriza-
da pela possibilidade de o usuário de um software classificado como livre estudar os códigos-fon-
te do programa para compreender como ele funciona e também adaptar um código-fonte para as
suas necessidades. Por exemplo, você adquire, para sua empresa, um programa que realiza cadas-
tros de clientes, com nome, sexo e idade, mas você precisa cadastrar também endereços e isso não
está incluso nos códigos originais do programa adquirido. Então, você pode poderá modificar
o programa original incluindo essa nova função para atender às necessidades da sua empresa e
não poderá ser acionado judicialmente por alterar o programa original. Lembrando que Software
Livre tem o código-fonte aberto e essa liberdade é apenas uma confirmação de que adaptar e
estudar o código-fonte não serão ações ilícitas.

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
3
AlfaCon Concursos Públicos

→ Liberdade número 2, ou também conhecida como terceira execução de liberdade, é caracteri-


zada pela possibilidade de o usuário de um software classificado como livre redistribuir cópias,
ou seja, compartilhar os programas e os códigos-fonte sem problema algum, de modo que você
possa ajudar ao seu próximo. Por exemplo, você utiliza a suíte de escritório LibreOffice para
editar textos e planilhas e pode repassar para seus amigos esses aplicativos sem problema algum.
Essa característica é uma afirmação de que Software Livre promove a distribuição de software, e
não a inclusão digital, como visto anteriormente.
→ Liberdade número 3, ou também conhecida como quarta execução de liberdade, é caracteriza-
da pela possibilidade de o usuário de um software classificado como livre melhorar, adaptar, o
software e compartilhar com o público essas melhorias realizadas. O que difere a segunda e a
terceira liberdades da quarta é que essa liberdade afirma a possibilidade de compartilhar as me-
lhorias para todo o público, e não apenas para o uso de quem aperfeiçoou, como na segunda
liberdade, além da possibilidade de distribuir os códigos melhorados ao público, e não apenas os
códigos originais, como descrito na terceira liberdade.

Software Proprietário
De um modo geral, pode-se classificar como software proprietário todo aquele que não se
enquadra, de alguma forma, nas definições de software livre e de código aberto, fornecidas pela Free
Software Foundation e pela Open Source Initiative, respectivamente (GNU, 2011). Usualmente, o
software proprietário tem restrições sobre reprodução, distribuição ou uso dele. Portanto, é conside-
rado como software proprietário aquele que, sendo gratuito ou não, entre outras características, não
nos permite acesso ao seu código fonte.

Freeware
Software gratuito ou freeware é qualquer programa de computador cuja utilização não
implica o pagamento de licenças de uso ou royalties. Apesar de ser chamado de free (do inglês livre),
esse software não é software livre, isso acontece porque além do código-fonte não ser aberto ainda
possui licenças restritivas, limitando o uso comercial, por exemplo. Portanto, podemos definir
Freeware como sendo um software gratuito que possui suas funcionalidades completas por tempo
ilimitado sem custo monetário. Sua licença pode restringir o tipo de uso, como uso para fins não
lucrativos, não comerciais, uso acadêmico, entre outros.

Shareware
São softwares que funcionam por um determinado período de tempo (chamado período de avaliação)
e depois o usuário deve decidir se adquire ou não o produto, ou seja, é o famoso “gratuito para testar”.

Demo
Como o próprio nome já diz, versão demo é uma demonstração do produto. Existem no
mercado diversas empresas desenvolvedoras de programas e jogos que disponibilizam esse tipo de
versão. A versão demo tem limitações de uso e não possui todos os recursos do programa. É muito
comum a distribuição dessas versões para jogos. Diferentemente do Shareware, a versão demo não
possui prazo determinado para a sua utilização.

Beta
Quando um programa ainda está na sua fase de desenvolvimento e a empresa desenvolvedora quer
testar as suas funcionalidades e descobrir possíveis falhas de programação, a empresa lança uma versão beta,
ou seja, se você não quer ser a cobaia, não instale em seu computador um programa versão beta.

Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
4
alfaconcursos.com.br

SUMÁRIO
SISTEMA OPERACIONAL GNU/LINUX ................................................................................................................ 2
O QUE É LINUX? ............................................................................................................................................. 2
PROJETO GNU ................................................................................................................................................ 2
DISTRIBUIÇÕES LINUX.................................................................................................................................... 2
AMBIENTE GRÁFICO ...................................................................................................................................... 3
ÁRVORE DE DIRETÓRIOS DO LINUX ............................................................................................................... 3

MUDE SUA VIDA!


1
alfaconcursos.com.br

SISTEMA OPERACIONAL GNU/LINUX


O QUE É LINUX?
O Linux é um sistema operacional de computadores criado no modelo de
desenvolvimento de Código Aberto. Apesar de o termo ser utilizado para designar todo o
conjunto de componentes que formam um sistema operacional, Linux refere-se mais
precisamente ao componente central do sistema, denominado kernel (ou núcleo). Seu
criador, o programador finlandês Linus Torvalds, publicou a primeira versão do Linux em 5
de outubro de 1991. Sua intenção foi criar um kernel para o projeto GNU.
O Linux foi disponibilizado sob a Licença Pública Geral (GPL) GNU. Qualquer pessoa
pode executar, estudar, modificar e redistribuir o código-fonte, ou até mesmo vender cópias
do código modificado, desde que façam isso sob a mesma licença.

PROJETO GNU
Em 1983, o programador americano Richard Stallman iniciou o projeto GNU para criar
um sistema operacional de código aberto que funcionasse do mesmo modo que o sistema
operacional Unix. O Unix foi um sistema que definiu conceitos técnicos utilizados por diversos
sistemas operacionais inspirados nele. O Unix original foi desenvolvido na década de 1970
pelos pesquisadores Ken Thompson e Dennis Ritchie (entre outros), no centro de pesquisas
Bell Labs da empresa AT&T. O projeto GNU é uma dessas variantes do Unix original, porém
com a premissa de ser desenvolvido em Código Aberto.
A partir da década de 1990, o projeto GNU – equipado com o kernel Linux – deu origem a
inúmeros sistemas operacionais de código aberto, cada um organizando, aprimorando e
criando novos programas à sua maneira. Esses sistemas operacionais são chamados
Distribuições Linux.

DISTRIBUIÇÕES LINUX
Além de conter o kernel Linux e programas GNU, uma distribuição Linux normalmente
agrega outros recursos para tornar sua utilização mais simples. Além de oferecerem um
conjunto completo de aplicativos prontos para uso, as distribuições mais populares podem
atualizar e instalar novos programas automaticamente. Esse recurso é chamado gestão de
pacotes. O gestor de pacotes da distribuição elimina o risco de instalar um programa
incompatível ou mal intencionado.

As principais distribuições Linux são:


 Debian.
 CentOS.
 Ubuntu.
 Manjaro Linux.
 Fedora.
 Linux Mint.

MUDE SUA VIDA!


2
alfaconcursos.com.br

Um aplicativo é um programa cuja finalidade não está diretamente associada com o


funcionamento do computador, mas com alguma tarefa de interesse do usuário. As
distribuições Linux oferecem diversas opções de aplicativos para as mais diferentes
finalidades: aplicativos de escritório, Internet, edição de áudio e vídeo, etc.
Sempre há mais de uma opção de aplicativo para uma mesma finalidade, ficando a cargo
do usuário escolher a que mais lhe agrada.
Cada distribuição oferece uma coleção de aplicativos já instalados por padrão. Além
desses aplicativos pré-instalados, todas as distribuições populares possuem um gestor de
pacotes com uma vasta coleção de aplicativos disponíveis para instalação, chamada
repositório de pacotes.

AMBIENTE GRÁFICO
É um software feito para facilitar e tornar prática a utilização do computador por meio
de representações visuais do Sistema Operacional. Para Windows temos apenas o ambiente
gráfico padrão. Para Linux temos vários ambientes gráficos, entre eles, o KDE, Unity, Xfce,
Lxde, Cinnamon e o Gnome.

ÁRVORE DE DIRETÓRIOS DO LINUX


O primeiro choque para quem está chegando agora é a estrutura de diretórios do Linux,
que não lembra em nada o que temos no Windows. No Windows temos os arquivos do
sistema concentrados nas pastas Windows e Arquivos de programas, e você pode criar e
organizar suas pastas da forma que quiser.
No Linux é basicamente o contrário. O diretório raiz está tomado pelas pastas do sistema
e espera-se que você armazene seus arquivos pessoais dentro da sua pasta no
diretório/home.
Mas, as diferenças não param por aí. Para onde vão os programas que são instalados se
não existe uma pasta central como a "Arquivos de programas"? E para onde vão os arquivos
de configuração se o Linux não possui nada semelhante ao registro do Windows?
A primeira coisa com que você precisa se habituar é que no Linux os discos e partições
não aparecem como unidades diferentes, como o C:, D:, E: do Windows. Tudo faz parte de um
único diretório, chamado diretório raiz ou simplesmente "/" (BARRA).

MUDE SUA VIDA!


3
alfaconcursos.com.br

Principais diretórios e seus conteúdos:

/ – diretório raiz  Todos os arquivos e diretórios do sistema Linux instalado no


computador partem de uma única origem: o diretório raiz. Mesmo que estejam armazenados
em outros dispositivos físicos, é a partir do diretório raiz – representado pela barra (/) – que
você poderá acessá-los.

/bin  Armazena os comandos essenciais para o funcionamento do sistema. Esse é um


diretório público, ou seja, os comandos armazenados nesse diretório podem ser utilizados por
qualquer usuário do sistema.

/sbin  Assim como o /bin, este diretório armazena executáveis, mas com um
diferencial: são aplicativos utilizados por administradores de sistema com o propósito de
realizar funções de manutenção e outras tarefas semelhantes.

/boot  Arquivos relacionados à inicialização do sistema, ou seja, o processo de boot do


Linux, quando o computador é ligado, ficam em /boot.

/dev  Armazena os arquivos de dispositivos (um dispositivo é todo o componente de


hardware). No Linux, os dispositivos físicos são tratados como arquivos. Esses arquivos são
um tipo especial no sistema de arquivos e se encontram no diretório /dev.

/etc  Armazena arquivos de configurações.

/tmp  Armazena arquivos temporários.

/home  Nesse diretório ficam os arquivos pessoais, como, por exemplo, documentos e
fotografias. Vale destacar que o diretório pessoal do superusuário não fica no mesmo local, e
sim em /root.

/root  Diretório home do superusuário.

Referências Bibliográficas

SIQUEIRA, LUCIANO Certificação Linux Essentials, 2019.

Páginas da internet

https://help.ubuntu.com/kubuntu/desktopguide/pt_BR/directories-file-systems.html
https://www.diolinux.com.br/2011/05/os-diretotios-do-linux.html

https://canaltech.com.br/linux/entendendo-a-estrutura-de-diretorios-do-linux/

MUDE SUA VIDA!


4
alfaconcursos.com.br

SUMÁRIO
SISTEMA OPERACIONAL GNU/LINUX ................................................................................................................ 2
TERMINAL ...................................................................................................................................................... 2
COMANDOS BÁSICOS DO LINUX ................................................................................................................... 2

MUDE SUA VIDA!


1
alfaconcursos.com.br

SISTEMA OPERACIONAL GNU/LINUX


TERMINAL
A maneira tradicional de interagir com um computador com Linux ‒ especialmente um
servidor de rede ‒ é usando a linha de comando. A linha de comando apresenta o prompt do
shell indicando que o sistema está pronto para receber instruções. O prompt terminado com o
caractere $ indica que é um usuário comum que está utilizando o sistema. Quando terminado
com o caractere #, indica tratar-se do usuário root (superusuário).

COMANDOS BÁSICOS DO LINUX


ATENÇÃO: O LINUX é case sensitive, ou seja, diferencia letras maiúsculas de
minúsculas. Portanto, comando e COMANDO são coisas totalmente diferentes.

Comando pwd  Imprime na tela o caminho do diretório atual por extenso, por
exemplo, /home/rafael/aula.

Comando cd  Comando utilizado para mudar de diretório. Para acessar um diretório


específico, especifique-o como parâmetro, como em "cd /etc". Para subir um diretório use "cd
..". Sem argumentos, o comando cd leva para o diretório pessoal do usuário. Outra maneira de
indicar o diretório pessoal é utilizar o sinal ~. Os caminhos para diretórios e arquivos podem
ser acessados tanto por seu caminho absoluto quanto pelo relativo. Caminhos absolutos são
aqueles iniciados pela barra da raiz (/) e caminhos relativos são aqueles que tomam por
referência o diretório atual. O ponto (.) refere-se ao diretório atual, e os dois pontos (..)
referem-se ao diretório anterior.

Comando ls  Serve para listar os arquivos e diretórios dentro do diretório atual. Para
incluir os arquivos ocultos, use "ls -a". No Linux, os arquivos que começam com um “.” são
entendidos como arquivos ocultos. Para uma lista longa, ou seja, com detalhes, use “ls –l”.

Comando cp  Utilizado para copiar arquivos de um diretório para outro. Também


pode ser utilizado para copiar um diretório recursivamente. Nesse caso, será necessário a
utilização da opção –r.

Comando mv  Utilizado para mover e renomear arquivos e diretórios (pastas).

Comando rm  Serve para remover tanto arquivos quanto diretórios, de acordo com os
parâmetros usados. Para remover um arquivo simples, basta usá-lo diretamente, como em: rm
arquivo. Para remover um diretório e todos os seus arquivos e subdiretórios, adicione a opção
"-r", como em: rm –r.

MUDE SUA VIDA!


2
alfaconcursos.com.br

Comando mkdir  Comando utilizado para criar diretório.

Comando rmdir  Comando utilizado para apagar diretórios. Porém, só apaga


diretórios vazios.

Comando touch  Com a utilização desse recurso é possível criar arquivos vazios.

Comando shutdown  Pode ser utilizado tanto para desligar quanto para reinicializar
o sistema. Para desligar o sistema imediatamente, digite shutdown -h now. Para enviar uma
mensagem para os usuários e desligar o sistema em 15 minutos, basta digitar shutdown -h
+15 "O sistema será encerrado em 15 minutos". Para reinicializar o sistema imediatamente,
digite shutdown -r now.

Comando passwd  Comando utilizado para alterar a senha do usuário.

Comando sudo  A palavra sudo significa “substitute user do“. O sudo permite que um
usuário rode programas como se fosse um outro usuário os rodando – geralmente como
usuário root.

Referências Bibliográficas

SIQUEIRA, LUCIANO Certificação Linux Essentials, 2019.

Páginas da internet

https://www.vivaolinux.com.br/

htttp://www.guialinux.uniriotec.br

https://www.hostinger.com.br/tutoriais/

MUDE SUA VIDA!


3
alfaconcursos.com.br

SUMÁRIO
SISTEMA OPERACIONAL GNU/LINUX ................................................................................................................ 2
PERMISSÕES NO LINUX ................................................................................................................................. 2
ALTERANDO PERMISSÕES ............................................................................................................................. 2
PERMISSÕES NUMÉRICAS.............................................................................................................................. 2

MUDE SUA VIDA!


1
alfaconcursos.com.br

SISTEMA OPERACIONAL GNU/LINUX


PERMISSÕES NO LINUX
Comando chmod  É utilizado para alterar as permissões de um arquivo.
No Linux, existem regras de permissões que determinam a quem pertence um determinado
arquivo ou diretório e quais usuários ou grupos podem utilizá-los. Para arquivos e diretórios
há três níveis de permissão:
 Usuário dono do arquivo (u).
 Grupo dono do arquivo (g).
 Demais usuários – outros – (o).
Observe a linha referente ao arquivo aula.txt na figura a seguir:

A primeira letra representa o tipo do arquivo, podendo ser:


 - : Arquivo convencional.
 d : Diretório.
As demais letras são divididas em grupos de três, determinando as permissões para o
dono do arquivo, o grupo do arquivo e demais usuários, respectivamente. O arquivo aula.txt,
por exemplo, possui permissão rwx para o dono do arquivo (o usuário Rafael), permissão rw-
para o grupo (o grupo Rafael) e permissão -w- para os demais usuários.
ALTERANDO PERMISSÕES
As permissões são alteradas com o comando chmod e podem ser de leitura (r), escrita
(w) e execução (x).
PERMISSÕES NUMÉRICAS
Permissões podem ser manejadas de modo mais sucinto por meio de um formato
numérico, chamado octal. O número octal consiste em uma sequência de três dígitos. O
primeiro dígito representa as permissões para o usuário, o segundo dígito representa as
permissões para o grupo e terceiro dígito as permissões para os outros.
Cada dígito indica a presença de uma permissão a partir da soma dos valores 4, 2 e 1.
Esses valores correspondem à leitura, escrita e execução. A tabela a seguir mostra todas
permissões possíveis, desde 0 (nenhuma permissão) até 7 (todas as permissões).

rwx
0 ---
1 --x
2 -w-
3 -wx
4 r--
5 r-x
6 rw-
7 rwx

MUDE SUA VIDA!


2
alfaconcursos.com.br

Dessa forma, o comando chmod 721 aula.txt mudará as permissões do arquivo aula.txt
para –rwx -w- --x, ou seja, leitura, escrita e execução para o usuário dono, apenas escrita para
o grupo e somente execução para os demais.
Comando top  Exibe na tela informações sobre o computador, incluindo o uso de
processamento e memória total e por processo.

Comando kill  Dentro do Linux, as tarefas são chamadas de processos, e cada um


deles possui um número de identificação (ID) único. O comando kill permite que você encerre
um processo utilizando seu ID específico, também conhecido como pid. Para mostrar o pid no
Linux, execute o comando: ps. Esse comando irá exibir todos os processos disponíveis com um
pid.
Alguns exemplos em que o comando kill pode ser útil:
 Para interromper processos automatizados.
 Para interromper um processo que foi iniciado por acidente.
 Para interromper um processo que está utilizando muita memória.
 Para forçar a parada de qualquer processo em execução no Linux.
 Para interromper um processo sendo executado em segundo plano.
Referências Bibliográficas

SIQUEIRA, LUCIANO Certificação Linux Essentials, 2019.

Páginas da internet

https://www.vivaolinux.com.br/

http://www.guialinux.uniriotec.br

https://www.hostinger.com.br/tutoriais/

MUDE SUA VIDA!


3
alfaconcursos.com.br

SUMÁRIO
SEGURANÇA DA INFORMAÇÃO .................................................................................................................... 2
CRIPTOGRAFIA ......................................................................................................................................... 2
TIPOS DE CRIPTOGRAFIAS ...................................................................................................................... 3
CRIPTOGRAFIA SIMÉTRICA ................................................................................................................... 3
DISTRIBUIÇÃO DE CHAVE ..................................................................................................................... 3
CRIPTOGRAFIA ASSIMÉTRICA ............................................................................................................... 3

MUDE SUA VIDA!


alfaconcursos.com.br

SEGURANÇA DA INFORMAÇÃO
CRIPTOGRAFIA
A criptografia é a ciência que estuda os princípios, meios e métodos para tornar
ininteligíveis (que não se pode entender) as informações, por meio de um processo de cifragem,
e para restaurar informações cifradas para sua forma original, inteligível (claro,
compreensível), por meio de um processo de decifragem. O objetivo da criptografia não é
esconder a existência da mensagem, mas sim de apenas ocultar o seu significado, ou seja, a
diferença entre a criptografia e esteganografia é que a primeira oculta o significado da
mensagem, enquanto a segunda oculta a existência da mensagem.
A criptografia também se preocupa com as técnicas de criptoanálise e de ataque de força
bruta, que dizem respeito a formas de recuperar aquela informação sem se ter os parâmetros
completos para a decifragem.
Nesse caso, a análise criptográfica ou criptoanálise explora as características do algoritmo
para tentar deduzir determinado texto claro ou para deduzir a chave em uso. Se o ataque tiver
sucesso em deduzir a chave, o efeito é catastrófico: todas as mensagens futuras e passadas
criptografadas com essa chave estarão comprometidas.
O segundo método, conhecido como ataque de força bruta, consiste em tentar todas as
chaves possíveis em um trecho de texto codificado até se obter uma tradução inteligível para
texto claro. Em média, metade de todas as chaves possíveis precisa ser testada para obter
sucesso (Stallings, William).
A tabela a seguir mostra quanto tempo está envolvido nos vários tamanhos de chave. A
tabela mostra os resultados para cada tamanho de chave, considerando que é necessário 1 µs
para realizar uma única decriptografia, uma ordem de magnitude razoável para os
computadores atuais. Com o uso de organizações de microprocessadores extremamente
equivalentes, podem ser obtidas velocidades de processamento muitas ordens de magnitude
mais altas. A última coluna da tabela leva em conta os resultados para um sistema que pode
processar 1 milhão de chaves por microssegundo. Como se pode ver, nesse nível de
desempenho, uma chave de 56 bits não pode mais ser considerada segura em termos
computacionais.

IMPORTANTE - A segurança de qualquer esquema de criptografia depende (1)


do tamanho da chave e (2) do trabalho computacional envolvido na violação de uma
cifra.

MUDE SUA VIDA!


alfaconcursos.com.br

TIPOS DE CRIPTOGRAFIAS
A criptografia pode ser de dois tipos: simétrica ou assimétrica. Nesse caso, a criptografia
simétrica utiliza um algoritmo de criptografia que usa somente uma chave, tanto para cifrar
como para decifrar, ou seja, essa chave deve ser mantida em segredo para garantir a
confidencialidade da mensagem. Já a criptografia assimétrica, usa um par de chaves
criptográficas distintas (privada e pública) e matematicamente relacionadas. A chave pública
está disponível para todos que queiram cifrar informações para o dono da chave privada ou
para verificação de uma assinatura digital criada com a chave privada correspondente,
portanto, a chave privada é mantida em segredo pelo seu dono e pode decifrar informações ou
gerar assinaturas digitais.

CRIPTOGRAFIA SIMÉTRICA
A função essencial da criptografia é a garantia de confidencialidade ou de sigilo da
informação, em que há a proteção dos dados contra divulgação não autorizada.

Os algoritmos de criptografia simétrica mais usados são os de cifragem em


bloco. Uma cifragem em bloco processa a entrada de texto claro em blocos de
tamanho fixo e produz um bloco de texto codificado de mesmo tamanho para cada
bloco de texto claro. Os dois algoritmos simétricos mais importantes, ambos sendo
de cifragem em bloco, são o Data Encryption Standard (DES) e o Advanced
Encryption Standard (AES).

DISTRIBUIÇÃO DE CHAVE
Para que a criptografia simétrica funcione, os dois lados de uma troca segura precisam ter
a mesma chave, e essa chave tem de estar protegida contra o acesso de terceiros. Além disso,
mudanças frequentes de chave são desejáveis para limitar a quantidade de dados
comprometidos, caso um oponente aprenda a chave. Portanto, o poder de qualquer sistema de
criptografia está na técnica de distribuição de chave. Assim, a troca de chaves, é um dos grandes
desafios da criptografia simétrica. Mais do que a troca de chaves, o gerenciamento delas,
que envolve tempo de validade, armazenamento, geração, uso e substituição.

CRIPTOGRAFIA ASSIMÉTRICA
A criptografia de chave pública ou assimétrica utiliza um par de chaves para a troca de
mensagens. Uma chave do par é utilizada para cifrar a mensagem, que só pode ser decifrada
pelo par correspondente. Dessa forma, diferentemente da criptografia simétrica, em que a
chave secreta é compartilhada, na criptografia de chave pública não é necessária a troca de
chaves privadas.

O par de chaves da criptografia de chave pública é composto por uma chave pública
e uma chave privada. A chave pública pode ser divulgada publicamente, e é utilizada para cifrar
uma mensagem. Uma vez cifrada, essa mensagem só poderá ser decifrada pelo detentor da
chave privada, que nunca é compartilhada.

MUDE SUA VIDA!


alfaconcursos.com.br

Desta forma, caso a mensagem seja capturada em um canal inseguro, o atacante não
poderá recuperar a mensagem original sem a chave privada correspondente, que está com o
seu dono. Essa chave privada, em tese, nunca foi transmitida, o que reduz as chances de seu
comprometimento. O uso de duas chaves tem profundas consequências nas áreas da
privacidade, distribuição de chave e autenticação.

O algoritmo de chave pública mais conhecido é o RSA. Esse algoritmo criptográfico utiliza
a fatoração de números primos grandes para proteger as informações. De uma forma bastante
geral, a geração das chaves é feita a partir de dois números primos, que passam por uma série
de cálculos até que se chegue às chaves pública e privada. Além do algoritmo RSA, podemos
citar também o DSA e o ECC.

IMPORTANTE - A criptografia de chave secreta ou simétrica é rápida de


ser executada em termos de processamento computacional, porém incorpora o
desafio da troca de chaves. A criptografia de chave pública ou assimétrica é
computacionalmente mais pesada, porém é adequada para ser utilizada na troca de
chaves.

Referências

Stallings, William. Redes e sistemas de comunicação de dados. Ed. Elsevier, 2005.


Nakamura, Emílio Tissato. Segurança da informação e de redes. Editora e Distribuidora
Educacional S.A., 2016.

MUDE SUA VIDA!


alfaconcursos.com.br

SUMÁRIO
SEGURANÇA DA INFORMAÇÃO .................................................................................................................... 2
CERTIFICADO DIGITAL .............................................................................................................................. 2
ICP-BRASIL ........................................................................................................................................... 3
AC - RAIZ .............................................................................................................................................. 3
AC - AUTORIDADE CERTIFICADORA ...................................................................................................... 3
AR - AUTORIDADE DE REGISTRO ........................................................................................................... 4
AUTENTICAÇÃO DE MENSAGEM .............................................................................................................. 4
MÉTODOS DE AUTENTICAÇÃO DE MENSAGEM .................................................................................... 4
AUTENTICAÇÃO MEDIANTE CRIPTOGRAFIA SIMÉTRICA ........................................................................ 4

MUDE SUA VIDA!


alfaconcursos.com.br

SEGURANÇA DA INFORMAÇÃO
CERTIFICADO DIGITAL
Como ter certeza que realmente uma chave pública pertence a uma determinada
pessoa?
A solução para esse problema é o certificado de chave pública. Na prática, o certificado
digital ICP-Brasil funciona como uma identidade virtual que permite a identificação segura e
inequívoca do autor de uma mensagem ou transação feita em meios eletrônicos, como a web.
Esse documento eletrônico é gerado e assinado por uma terceira parte confiável, ou seja, uma
Autoridade Certificadora (AC) que, seguindo regras estabelecidas pelo Comitê Gestor da ICP-
Brasil, associa uma entidade (pessoa, processo, servidor) a um par de chaves criptográficas. Os
certificados contêm os dados de seu titular conforme detalhado na Política de Segurança de
cada Autoridade Certificadora.

De forma geral, os dados básicos que compõem um certificado digital são:


 versão e número de série do certificado;
 dados que identificam a AC que emitiu o certificado;
 dados que identificam o dono do certificado (para quem ele foi emitido);
 chave pública do dono do certificado;
 validade do certificado (quando foi emitido e até quando é válido);
 assinatura digital da AC emissora e dados para verificação da assinatura.

O certificado digital ICP-Brasil é um documento eletrônico, que pode ser emitido para
cidadãos, pessoas físicas, e empresas, pessoas jurídicas. O uso do certificado ICP-Brasil garante
validade jurídica, autenticidade, confidencialidade, integridade e não repúdio às operações
realizadas por meio dele em ambiente virtual.

Com esse documento digital é possível realizar uma série de procedimentos virtualmente,
sem a necessidade de se deslocar presencialmente à sede de órgãos governamentais e de
empresas ou imprimir documentos.

Como posso usar meu certificado digital?

 Assinatura de documentos e contratos digitais: os documentos assinados


digitalmente com certificado digital ICP-Brasil têm a mesma validade que os
documentos assinados em papel. Além de proporcionar economia de insumos, já
que não há necessidade de realizar impressões, os documentos assinados
digitalmente agilizam processos, pois podem ser enviados por email e assinados de
qualquer lugar facilmente;
 Autenticação em sistemas: existem vários sistemas com informações
confidenciais, especialmente de governo, que só podem ser acessados
presencialmente, por meio da confirmação de identidade. Como o certificado digital
garante autenticidade, ele proporciona o acesso a esses sistemas e informações por
meio da internet, não havendo necessidade de comparecimento presencial;
 Atualização de informações em sistemas: Além de garantir acesso seguro a
sistemas, o certificado também permite a alteração rápida de informações, evitando
longos processos burocráticos;

MUDE SUA VIDA!


alfaconcursos.com.br

 Categorias profissionais: diversas categorias profissionais (médicos, advogados,


contadores, militares, entre outros) já utilizam o certificado digital em suas rotinas.
Com o certificado, as classes profissionais têm a possibilidade de trabalhar com
sistemas virtuais unificados e seguros, proporcionando integração e
desburocratização de processos relativos ao setor.

Onde eu posso armazenar o Certificado Digital?

 Certificado A1 - é emitido e armazenado no computador ou no dispositivo móvel


(smartphone ou tablet). Normalmente, tem validade de 1 ano.
 Certificado A3 - é emitido e armazenado em mídia criptográfica (Cartão, Token ou
Nuvem). Tem validade de 1 a 5 anos.

ICP-BRASIL
A Infraestrutura de Chaves Públicas Brasileira – ICP-Brasil é uma cadeia hierárquica de
confiança que viabiliza a emissão de certificados digitais para identificação virtual do cidadão.

Observa-se que o modelo adotado pelo Brasil foi o de certificação com raiz única, sendo
que o ITI (Instituto nacional de tecnologia da informação), além de desempenhar o papel de
Autoridade Certificadora Raiz – AC-Raiz, também tem o papel de credenciar e descredenciar os
demais participantes da cadeia, supervisionar e fazer auditoria dos processos.

AC - RAIZ

A Autoridade Certificadora Raiz da ICP-Brasil – AC-Raiz é a primeira autoridade da cadeia


de certificação, logo, possui um certificado autoassinado. Executa as Políticas de Certificados e
as normas técnicas e operacionais aprovadas pelo Comitê Gestor da ICP-Brasil. Portanto,
compete à AC-Raiz emitir, expedir, distribuir, revogar e gerenciar os certificados das
autoridades certificadoras de nível imediatamente subsequente ao seu.
A AC-Raiz também está encarregada de emitir a Lista de Certificados Revogados – LCR e
de fiscalizar e auditar as Autoridades Certificadoras – ACs, Autoridades de Registro – ARs e
demais prestadores de serviço habilitados na ICP-Brasil. Além disso, verifica se as ACs estão
atuando em conformidade com as diretrizes e normas técnicas estabelecidas pelo Comitê
Gestor da ICP-Brasil.

AC - AUTORIDADE CERTIFICADORA

Uma Autoridade Certificadora – AC é uma entidade, pública ou privada, subordinada à


hierarquia da ICP-Brasil, responsável por emitir, distribuir, renovar, revogar e gerenciar
certificados digitais. Tem a responsabilidade de verificar se o titular do certificado possui a
chave privada que corresponde à chave pública que faz parte do certificado. Cria e assina
digitalmente o certificado do assinante, onde o certificado emitido pela AC representa a
declaração da identidade do titular, que possui um par único de chaves (pública/privada).

Cabe também à AC emitir Listas de Certificados Revogados – LCR e manter registros de


suas operações sempre obedecendo às práticas definidas na Declaração de Práticas de
Certificação – DPC. Além de estabelecer e fazer cumprir, pelas Autoridades de Registro – ARs a

MUDE SUA VIDA!


alfaconcursos.com.br

ela vinculadas, as políticas de segurança necessárias para garantir a autenticidade da


identificação realizada.

AR - AUTORIDADE DE REGISTRO

Uma Autoridade de Registro – AR é responsável pela interface entre o usuário e a


Autoridade Certificadora – AC. Vinculada a uma AC, tem por objetivo o recebimento, a validação,
o encaminhamento de solicitações de emissão ou revogação de certificados digitais e
identificação, de forma presencial, de seus solicitantes. É responsabilidade da AR manter
registros de suas operações. Pode estar fisicamente localizada em uma AC ou ser uma entidade
de registro remota.

AUTENTICAÇÃO DE MENSAGEM
A criptografia protege contra ataques passivos (espionagem). Uma necessidade diferente
é proteger contra ataques ativos (falsificação de dados e transações). A proteção contra esses
ataques é conhecida como autenticação de mensagem.

MÉTODOS DE AUTENTICAÇÃO DE MENSAGEM


Uma mensagem, um arquivo, um documento ou outro conjunto de dados é tido como
autêntico quando é genuíno e veio de sua suposta origem. A autenticação de mensagem é um
procedimento que permite que as partes em comunicação verifiquem se as mensagens
recebidas são autênticas. Os dois aspectos importantes são verificar se o conteúdo da
mensagem não foi alterado e se a origem é autêntica.

AUTENTICAÇÃO MEDIANTE CRIPTOGRAFIA SIMÉTRICA


É possível realizar autenticação simplesmente pelo uso da criptografia simétrica. Se
considerarmos que apenas o emissor e o receptor compartilham uma chave (que é como
deveria ser), então, apenas o emissor genuíno seria capaz de criptografar com sucesso uma
mensagem para o outro participante. Além disso, se a mensagem incluir um código de detecção
de erro e um número sequencial, o receptor tem a garantia de que nenhuma alteração foi feita
e que a sequência está correta.

Referências

Stallings, William. Redes e sistemas de comunicação de dados. Ed. Elsevier, 2005.


Nakamura, Emílio Tissato. Segurança da informação e de redes. Editora e Distribuidora
Educacional S.A., 2016.

MUDE SUA VIDA!


alfaconcursos.com.br

SUMÁRIO
SEGURANÇA DA INFORMAÇÃO .................................................................................................................... 2
CÓDIGO DE AUTENTICAÇÃO DE MENSAGEM............................................................................................ 2

MUDE SUA VIDA!


alfaconcursos.com.br

SEGURANÇA DA INFORMAÇÃO
CÓDIGO DE AUTENTICAÇÃO DE MENSAGEM
Uma técnica de autenticação de mensagem envolve o uso de uma chave secreta para gerar
um pequeno um pequeno bloco de dados, conhecido como código de autenticação de mensagem
(MAC), que é anexado à mensagem. Dentro dessa técnica, duas partes em comunicação, digamos
A e B, compartilham uma chave secreta comum. Quando A tem uma mensagem M a ser enviada
para B, ele calcula o código de autenticação de mensagem. Em seguida, a mensagem, juntamente
com o código, é transmitida para o destinatário pretendido. O destinatário efetua o mesmo
cálculo na mensagem recebida, usando a mesma chave secreta, para gerar um novo código de
autenticação de mensagem. O código recebido é comparado com o código calculado. Se
considerarmos que apenas o receptor e o emissor sabem a identidade da chave secreta, e se o
código recebido corresponde ao código calculado, então:

1. O receptor tem a garantia de que a mensagem não foi alterada. Se um oponente alterar
a mensagem, mas não alterar o código, então, o cálculo do receptor irá diferir do código
recebido. Considerando-se que o oponente não sabe a chave secreta, ele não pode
alterar o código para corresponder às alterações na mensagem.
2. O receptor tem a garantia de que a mensagem é do suposto emissor. Como ninguém
mais conhece a chave secreta, ninguém mais poderia preparar uma mensagem com
um código correto.

IMPORTANTE – Vários algoritmos podem ser usados para gerar o código, por
exemplo, o DES. Em geral, utiliza-se um código de 16 ou 32 bits.

Referências

Stallings, William. Redes e sistemas de comunicação de dados. Ed. Elsevier, 2005.

MUDE SUA VIDA!


alfaconcursos.com.br

SUMÁRIO
SEGURANÇA DA INFORMAÇÃO .................................................................................................................... 2
FUNÇÃO DE HASH UNIDIRECIONAL .......................................................................................................... 2
ASSINATURA DIGITAL ............................................................................................................................... 2
PRINCÍPIOS BÁSICOS DE SEGURANÇA DA INFORMAÇÃO ....................................................................... 3

MUDE SUA VIDA!


alfaconcursos.com.br

SEGURANÇA DA INFORMAÇÃO
FUNÇÃO DE HASH UNIDIRECIONAL
Resultado da ação de algoritmos que fazem o mapeamento de uma sequência de bits de
tamanho arbitrário para uma sequência de bits de tamanho fixo menor - conhecido como
resultado hash - de forma que seja muito difícil encontrar duas mensagens produzindo o
mesmo resultado hash (resistência à colisão) e que o processo reverso também não seja
realizável (dado um hash, não é possível recuperar a mensagem que o gerou).

Você pode utilizar hash para:

 verificar a integridade de um arquivo armazenado em seu computador ou em seus


backups;
 verificar a integridade de um arquivo obtido da Internet (alguns sites, além do
arquivo em si, também disponibilizam o hash correspondente, para que você possa
verificar se o arquivo foi corretamente transmitido e gravado);
 gerar assinaturas digitais.

Para verificar a integridade de um arquivo, por exemplo, você pode calcular o hash dele e,
quando julgar necessário, gerar novamente esse valor. Se os dois hashes forem iguais então
você pode concluir que o arquivo não foi alterado. Caso contrário, esse pode ser um forte indício
de que o arquivo esteja corrompido ou que foi modificado. Exemplos de métodos de hash são:
MD5 (128 bits), SHA-1 (160 bits), SHA-256 e SHA-512.

ASSINATURA DIGITAL
A assinatura digital permite comprovar a autenticidade e a integridade de uma
informação, ou seja, a assinatura digital comprova que a pessoa criou ou concorda com um
documento assinado digitalmente, como a assinatura de próprio punho comprova a autoria de
um documento escrito.

A assinatura digital baseia-se no fato de que apenas o dono conhece a chave privada e que,
se ela foi usada para codificar uma informação, então apenas seu dono poderia ter feito isto. A
verificação da assinatura é feita com o uso da chave pública, pois se o texto foi codificado com
a chave privada, somente a chave pública correspondente pode decodificá-lo.

Para contornar a baixa eficiência característica da criptografia de chaves assimétricas, a


codificação é feita sobre o hash e não sobre o conteúdo em si, pois é mais rápido codificar o
hash (que possui tamanho fixo e reduzido) do que a informação toda.

É importante enfatizar que a assinatura digital não fornece confidencialidade, ou seja, a


mensagem enviada não é protegida de espionagem. Porém, a assinatura digital tem como
objetivo garantir autenticidade, integridade e não repúdio.

MUDE SUA VIDA!


alfaconcursos.com.br

PRINCÍPIOS BÁSICOS DE SEGURANÇA DA INFORMAÇÃO


 Confidencialidade: no contexto da segurança da informação, nada mais é do que a
garantia de que determinada informação, fonte ou sistema é acessível apenas às
pessoas previamente autorizadas a terem acesso. Ou seja, sempre que uma
informação confidencial é acessada por um indivíduo não autorizado,
intencionalmente ou não, ocorre o que se chama de quebra da confidencialidade. A
ruptura desse sigilo, a depender do teor das informações, pode ocasionar danos
inestimáveis para a empresa, seus clientes e até mesmo para todo o mercado. A
exemplo, instituições financeiras, detentoras de dados pessoais e bancários de uma
infinidade de usuários, não só precisam, mas devem manter a confidencialidade de
todas as informações em seu domínio. A quebra desse sigilo significaria expor a
riscos uma grande quantidade de pessoas, causando prejuízos incalculáveis.
 Integridade: Exige que apenas pessoas autorizadas possam modificar dados. A
modificação inclui escrever, alterar, mudar o estado, excluir e criar. Qualquer falha
nesse quesito, gera a quebra da integridade.
 Disponibilidade: A relação da segurança da informação com a disponibilidade é
basicamente a garantia de acesso aos dados sempre que necessário.
 Autenticidade: O princípio da autenticidade busca garantir que determinada
pessoa ou sistema é, de fato, quem ela diz ser.
 Não-repúdio (Irretratabilidade): garantia que o emissor de uma mensagem ou a
pessoa que executou determinada transação de forma eletrônica, não poderá
posteriormente negar sua autoria, visto que somente aquela chave privada poderia
ter gerado aquela assinatura digital.

Referências

Stallings, William. Redes e sistemas de comunicação de dados. Ed. Elsevier, 2005.


Nakamura, Emílio Tissato. Segurança da informação e de redes. Editora e Distribuidora
Educacional S.A., 2016.

MUDE SUA VIDA!


alfaconcursos.com.br

SUMÁRIO
SEGURANÇA DA INFORMAÇÃO .................................................................................................................... 2
GERENCIAMENTO DE CHAVES CRIPTOGRÁFICAS ...................................................................................... 2
CRIPTOGRAFIA SIMÉTRICA ................................................................................................................... 2
CRIPTOGRAFIA ASSIMÉTRICA ............................................................................................................... 2
PRINCÍPIOS BÁSICOS DE SEGURANÇA DA INFORMAÇÃO ....................................................................... 3

MUDE SUA VIDA!


alfaconcursos.com.br

SEGURANÇA DA INFORMAÇÃO
GERENCIAMENTO DE CHAVES CRIPTOGRÁFICAS

CRIPTOGRAFIA SIMÉTRICA

A função essencial da criptografia é a garantia de confidencialidade ou de sigilo da


informação, em que há a proteção dos dados contra divulgação não autorizada. Nesse caso, um
esquema de criptografia simétrica possui cinco itens:

 Texto claro: É a mensagem ou os dados originais inseridos como entrada do


algoritmo.
 Algoritmo de criptografia: O algoritmo de criptografia realiza várias
substituições e transformações no texto claro.
 Chave secreta: A chave secreta também é a entrada para o algoritmo de
criptografia. As substituições e transformações exatas realizadas pelo algoritmo
dependem da chave.
 Texto codificado: É a mensagem em códigos produzida como saída. Ela depende
do texto claro e da chave secreta. Para determinada mensagem, duas chaves
diferentes produzirão dois textos codificados diferentes.
 Algoritmo de decriptografia: É basicamente o algoritmo de criptografia
executado ao contrário. Ele toma o texto codificado e a chave secreta e produz o
texto claro original.

CRIPTOGRAFIA ASSIMÉTRICA
A criptografia de chave pública ou assimétrica utiliza um par de chaves para a troca de
mensagens. Uma chave do par é utilizada para cifrar a mensagem, que só pode ser decifrada
pelo par correspondente. Dessa forma, diferentemente da criptografia simétrica, em que a
chave secreta é compartilhada, na criptografia de chave pública não é necessária a troca de
chaves privadas.

Esquema de criptografia de chave pública:

 Texto claro: É a mensagem, ou dados legíveis, que é inserida no algoritmo como


entrada.
 Algoritmo de criptografia: O algoritmo de criptografia realiza várias
transformações no texto claro.
 Chave pública e privada: É um par de chaves que foram selecionadas de modo
que, se uma for usada para a criptografia, a outra é usada para decriptografia. As
transformações exatas realizadas pelo algoritmo de criptografia dependem da
chave pública ou privada que é fornecida como entrada.
 Texto codificado: É a mensagem codificada, produzida como saída. Ela depende
do texto claro e da chave. Para determinada mensagem, duas chaves diferentes
produzirão dois textos codificados diferentes.
 Algoritmo de decriptografia: Esse algoritmo aceita o texto codificado e a chave
correspondente e produz o texto claro original.

MUDE SUA VIDA!


alfaconcursos.com.br

Os algoritmos assimétricos possuem as seguintes e importantes características:

 Em termos computacionais, é impossível determinar a chave de decriptografia,


conhecendo apenas o algoritmo criptográfico e a chave de criptografia.
 Para a maioria dos esquemas de chave pública, pode-se utilizar qualquer uma das
duas chaves relacionadas para criptografia, sendo que a outra é usada para a
decriptografia.

Conforme estudado anteriormente, a criptografia simétrica é rápida de ser executada


em termos de processamento computacional, porém incorpora o desafio da troca de chaves.
Já a criptografia de chave pública ou assimétrica é computacionalmente mais pesada, porém é
adequada para ser utilizada na troca de chaves. Resumindo, é possível utilizar esses dois tipos
de criptografia em conjunto, aproveitando assim, as vantagens de cada tipo de criptografia. Por
exemplo, se Bob quiser se corresponder com Alice e outras pessoas, ele gera um único par de
chaves, uma privada e outra pública. Ele mantém a chave privada segura e difunde a chave
pública para todos. Se Alice fizer o mesmo, então, Bob tem a chave pública de Alice, da mesma
forma, Alice tem a chave pública de Bob e, agora, eles podem se comunicar com segurança.
Quando Bob desejar se comunicar com Alice, ele pode fazer o seguinte:

1. Preparar uma mensagem;


2. Criptografar essa mensagem usando criptografia simétrica com uso de uma
chave de sessão;
3. Criptografar a chave de sessão usando criptografia assimétrica com a chave
pública de Alice;
4. Anexar a chave de sessão criptografada à mensagem e enviá-la para Alice.

Quando Alice receber a mensagem criptografada, ela utiliza sua chave privada para
decriptografar a chave de sessão e, em seguida, com essa chave de sessão, ela poderá
decriptografar a mensagem original.

Esse mecanismo de uso em conjunto da criptografia assimétrica com a criptografia


simétrica é bastante comum em várias aplicações, como é o caso do SSL (Secure Sockets
Layer).

PRINCÍPIOS BÁSICOS DE SEGURANÇA DA INFORMAÇÃO


Confidencialidade: no contexto da segurança da informação, nada mais é do que a
garantia de que determinada informação, fonte ou sistema é acessível apenas às pessoas
previamente autorizadas a terem acesso. Ou seja, sempre que uma informação confidencial é
acessada por um indivíduo não autorizado, intencionalmente ou não, ocorre o que se chama de
quebra da confidencialidade. A ruptura desse sigilo, a depender do teor das informações, pode
ocasionar danos inestimáveis para a empresa, seus clientes e até mesmo para todo o mercado.
A exemplo, instituições financeiras, detentoras de dados pessoais e bancários de uma infinidade
de usuários, não só precisam, mas devem manter a confidencialidade de todas as informações
em seu domínio. A quebra desse sigilo significaria expor a riscos uma grande quantidade de
pessoas, causando prejuízos incalculáveis.

Integridade: Exige que apenas pessoas autorizadas possam modificar dados. A


modificação inclui escrever, alterar, mudar o estado, excluir e criar. Qualquer falha nesse
quesito, gera a quebra da integridade.

MUDE SUA VIDA!


alfaconcursos.com.br

Disponibilidade: A relação da segurança da informação com a disponibilidade é


basicamente a garantia de acesso aos dados sempre que necessário.

Autenticidade: O princípio da autenticidade busca garantir que determinada pessoa


ou sistema é, de fato, quem ela diz ser.

Não-repúdio (Irretratabilidade): garantia que o emissor de uma mensagem ou a pessoa


que executou determinada transação de forma eletrônica, não poderá posteriormente negar
sua autoria, visto que somente aquela chave privada poderia ter gerado aquela assinatura
digital.

Referências

Stallings, William. Redes e sistemas de comunicação de dados. Ed. Elsevier, 2005.


Nakamura, Emílio Tissato. Segurança da informação e de redes. Editora e Distribuidora
Educacional S.A., 2016.

MUDE SUA VIDA!


CÓDIGOS
MALICIOSOS
2

CÓDIGOS MALICIOSOS
De acordo com a cartilha de segurança (cartilha.cert.br), códigos maliciosos, também conheci-
dos como pragas e malware, são programas desenvolvidos para executar ações danosas e atividades
maliciosas em equipamentos, como computadores, modems, switches, roteadores e dispositivos
móveis (tablets, celulares, smartphones etc.).
Um atacante pode instalar um código malicioso após invadir um equipamento ou explorando
alguma vulnerabilidade existente nos programas nele instalados.
Os equipamentos também podem ser infectados caso alguém:
ͫ acesse páginas web maliciosas, usando navegadores vulneráveis;
ͫ acesse mídias removíveis infectadas, como pen-drives;
ͫ execute arquivos infectados, obtidos em anexos de mensagens eletrônicas, via mídias
removíveis, em páginas web, redes sociais ou diretamente de outros equipamentos.
Após infectar o equipamento, o código malicioso pode executar ações como se fosse o usuá-
rio, como acessar informações, apagar arquivos, criptografar dados, conectar-se à internet, enviar
mensagens, e, ainda, instalar outros códigos maliciosos. A melhor prevenção contra os códigos
maliciosos é impedir que a infecção ocorra pois nem sempre é possível reverter as ações danosas
já feitas ou recuperar totalmente os dados.
Malware é a combinação das palavras inglesas “malicious” e “software” e se refere a softwares indeseja-
dos, tais como vírus, worms, cavalos de Troia (trojans) e spywares.

DEFINIÇÕES
ATAQUE
Tentativa de destruir, expor, alterar, inutilizar, roubar ou obter acesso não autorizado a um ativo.

ATIVO
Qualquer coisa que tenha valor para a organização. Essa é uma definição ampla, pode-se pen-
sar em instalações, informação, software, hardware, serviços impressos (papéis), mas também em
pessoas, habilidades, experiência e coisas intangíveis, como reputação e imagem.

AMEAÇA
Causa potencial de um incidente indesejado, a qual pode resultar no dano a um sistema ou
organização.

VULNERABILIDADE
Fraqueza de um ativo ou grupo de ativos que pode ser explorada por uma ou mais ameaças.
Sendo assim, uma vulnerabilidade caracteriza a ausência ou a fraqueza de uma proteção que pode
ser explorada.
Essa vulnerabilidade pode ser um serviço rodando em um servidor, aplicações ou sistemas
operacionais desatualizados, uma porta aberta no firewall, uma segurança física fraca que permita
CÓDIGOS MALICIOSOS 3

a qualquer pessoa entrar em uma sala de servidores ou a não aplicação de gestão de senhas em
servidores e estações de trabalho.

VÍRUS
Pequeno programa de computador que propositalmente se replica, algumas vezes de forma
alterada. As versões replicadas do vírus original são, em virtude dessa definição, também vírus. Para
que o vírus se espalhe, ele depende de portadores que contenham um código executável.
Assim que o portador é ativado, o vírus busca por novos portadores adequados e tenta infec-
tá-los, ou seja, para que possa se tornar ativo e dar continuidade ao processo de infecção, o vírus
depende da execução do programa ou arquivo hospedeiro.
Os portadores eram tradicionalmente só programas, mas atualmente documentos também
podem agir como hospedeiros para um vírus, uma vez que eles possuem cada vez mais códigos
executáveis, tais como macros, VBScript ou ActiveX.
Os vírus são equipados com uma carga útil (payload) que contém todas as tarefas que não
sejam aquelas necessárias para a replicação. Essa carga é, geralmente, mas não necessariamente
sempre, destrutiva.
Partes de um vírus de computador:
ͫ Mecanismo de infecção: Os meios pelos quais um vírus se espalha ou se propaga, habil-
itando-o a se reproduzir. O mecanismo é também denominado vetor de infecção.
ͫ Mecanismo de ativação: O evento ou condição que determina quando a carga útil é
ativada ou entregue, às vezes conhecido como bomba lógica.
ͫ Carga útil: O que o vírus faz, além de se espalhar. A carga útil pode envolver algum dano
ou atividade benigna, porém, notável.
De acordo com a cartilha de segurança (cartilha.cert.br), há diferentes tipos de vírus. Alguns
procuram permanecer ocultos, infectando arquivos do disco e executando uma série de atividades
sem o conhecimento do usuário. Há outros que permanecem inativos durante certos períodos,
entrando em atividade apenas em datas específicas. Alguns dos tipos de vírus mais comuns são:
ͫ Vírus propagado por e-mail: recebido como um arquivo anexo a um e-mail cujo conteúdo
tenta induzir o usuário a clicar sobre este arquivo, fazendo com que seja executado.
Quando entra em ação, infecta arquivos e programas e envia cópias de si mesmo para
os e-mails encontrados nas listas de contatos gravadas no computador.
ͫ Vírus de script: escrito em linguagem de script, como VBScript e JavaScript, e recebido
ao acessar uma página Web ou por e-mail, como um arquivo anexo ou como parte do
próprio e-mail escrito em formato HTML. Pode ser automaticamente executado, depen-
dendo da configuração do navegador Web e do programa leitor de e-mails do usuário.
ͫ Vírus de macro: tipo específico de vírus de script, escrito em linguagem de macro, que
tenta infectar arquivos manipulados por aplicativos que utilizam esta linguagem como,
os que compõem o Microsoft Office (Excel, Word, PowerPoint, entre outros).
ͫ Vírus de telefone celular: vírus que se propaga de celular para celular por meio da tecno-
logia bluetooth ou de mensagens MMS (Multimedia Message Service). A infecção ocorre
quando um usuário permite o recebimento de um arquivo infectado e o executa. Após
infectar o celular, o vírus pode destruir ou sobrescrever arquivos, remover ou transmitir
4

contatos da agenda, efetuar ligações telefônicas e drenar a carga da bateria, além de


tentar se propagar para outros celulares.
ͫ Vírus infectante do setor de inicialização (vírus de boot): infecta um registro de inicial-
ização mestre ou um registro de inicialização e se espalha quando um sistema é iniciado
a partir do disco que contém o vírus.
ͫ Infectante de arquivo: infecta arquivos que o sistema operacional ou o shell considera
como executável.
ͫ Vírus camuflado (stealth): forma de vírus projetado explicitamente para se esconder de
detecção por software antivírus. Desse modo, o vírus inteiro, e não apenas uma carga
útil, fica oculto. Para tal, ele pode usar técnicas de mutação de código, bem como, por
exemplo, técnicas de compressão e rootkit.
ͫ Vírus polimórfico: vírus que muda a cada infecção, impossibilitando detecção pela “assi-
natura” do vírus.
ͫ Vírus metamórfico: como ocorre com um vírus polimórfico, um vírus metamórfico muda
a cada infecção. A diferença é que um vírus metamórfico reescreve a si mesmo comple-
tamente a cada iteração, o que aumenta a dificuldade de detecção. Vírus metamórficos
podem mudar seu comportamento, bem como sua aparência.
Um vírus polimórfico cria cópias durante a reprodução que são funcionalmente equivalentes, mas têm padrões
de bits distintamente diferentes, de modo a derrotar programas que procuram vírus. Nesse caso, a “assinatura”
do vírus variará com cada cópia. Para conseguir essa variação, o vírus pode inserir aleatoriamente instruções
supérfluas ou permutar a ordem de instruções independentes. Uma abordagem mais efetiva é usar criptografia.
A estratégia do vírus cifrado é seguida. A porção do vírus que é responsável por gerar chaves e executar cifra-
ção/decifração é denominada motor de mutação. O motor de mutação em si é alterado a cada uso.

WORM
Um worm é um pequeno programa de computador que propositalmente se replica. Os resul-
tados da replicação são cópias da propagação original para outros sistemas, fazendo uso dos equi-
pamentos da rede de seu hospedeiro, portanto, worm é um programa capaz de se propagar auto-
maticamente pelas redes, enviando cópias de si mesmo de computador para computador.
Vírus e worms têm uma série de características distintas. Um vírus pode atacar seu hospedeiro
por meio de diferentes portadores e infectar novos portadores transferindo código ativo para estes.
Um worm, por outro lado, não depende de um usuário para se espalhar; assim que o worm é ati-
vado, ele consegue se espalhar automaticamente. É isso que habilita os worms a infectar grandes
áreas em um curto período.
Diferentemente do vírus, o worm não se propaga por meio da inclusão de cópias de si mesmo
em outros programas ou arquivos, mas sim pela execução direta de suas cópias ou pela exploração
automática de vulnerabilidades existentes em programas instalados em computadores.
Worms são notadamente responsáveis por consumir muitos recursos, devido à grande quan-
tidade de cópias de si mesmo que costumam propagar e, como consequência, podem afetar o
desempenho de redes e a utilização de computadores.
O processo de propagação e infecção dos worms ocorre da seguinte maneira:
CÓDIGOS MALICIOSOS 5

a. Identificação dos computadores alvos: após infectar um computador, o worm tenta se


propagar e continuar o processo de infecção. Para isso, necessita identificar os computadores alvos
para os quais tentará se copiar, o que pode ser feito de uma ou mais das seguintes maneiras:
ͫ efetuar varredura na rede e identificar computadores ativos;
ͫ aguardar que outros computadores contatem o computador infectado;
ͫ utilizar listas, predefinidas ou obtidas na internet, contendo a identificação dos alvos;
ͫ utilizar informações contidas no computador infectado, como arquivos de configuração
e listas de endereços de e-mail.
b. Envio das cópias: após identificar os alvos, o worm efetua cópias de si mesmo e tenta
enviá-las para estes computadores, por uma ou mais das seguintes formas:
ͫ como parte da exploração de vulnerabilidades existentes em programas instalados no
computador alvo;
ͫ anexadas a e-mails;
ͫ via canais de IRC (Internet Relay Chat);
ͫ via programas de troca de mensagens instantâneas;
ͫ incluídas em pastas compartilhadas em redes locais ou do tipo P2P (Peer to Peer).
c. Ativação das cópias: após realizado o envio da cópia, o worm necessita ser executado para
que a infecção ocorra, o que pode acontecer de uma ou mais das seguintes maneiras:
ͫ imediatamente após ter sido transmitido, pela exploração de vulnerabilidades em pro-
gramas sendo executados no computador alvo no momento do recebimento da cópia;
ͫ diretamente pelo usuário, pela execução de uma das cópias enviadas ao seu computador;
ͫ pela realização de uma ação específica do usuário, a qual o worm está condicionado,
como a inserção de uma mídia removível.
d. Reinício do processo: após o alvo ser infectado, o processo de propagação e infecção reco-
meça, sendo que, a partir de agora, o computador que antes era o alvo passa a ser também o
computador originador dos ataques.
CÓDIGOS
MALICIOSOS
2

CÓDIGOS MALICIOSOS
BOT
De acordo com a cartilha de segurança (cartilha.cert.br), bot é um programa que dispõe de
mecanismos de comunicação com o invasor que permitem que ele seja controlado remotamente.
Possui processo de infecção e propagação similar ao do worm, ou seja, é capaz de se propagar auto-
maticamente, explorando vulnerabilidades existentes em programas instalados em computadores.
A comunicação entre o invasor e o computador infectado pelo bot pode ocorrer via canais
de IRC, servidores Web e redes do tipo P2P, entre outros meios. Ao se comunicar, o invasor pode
enviar instruções para que ações maliciosas sejam executadas, como desferir ataques, furtar dados
do computador infectado e enviar spam.
Um computador infectado por um bot costuma ser chamado de zumbi (zombie computer), pois
pode ser controlado remotamente, sem o conhecimento do seu dono. Também pode ser chamado
de spam zombie quando o bot instalado o transforma em um servidor de e-mails e o utiliza para
o envio de spam.

BOTNET
Botnet é uma rede formada por centenas ou milhares de computadores zumbis e que permite
potencializar as ações danosas executadas pelos bots.
Quanto mais zumbis participarem da botnet mais potente ela será. O atacante que a controlar,
além de usá-la para seus próprios ataques, também pode alugá-la para outras pessoas ou grupos
que desejem que uma ação maliciosa específica seja executada.
Algumas das ações maliciosas que costumam ser executadas por intermédio de botnets são:
ataques de negação de serviço, propagação de códigos maliciosos (inclusive do próprio bot), coleta
de informações de um grande número de computadores, envio de spam e camuflagem da identi-
dade do atacante (com o uso de proxies instalados nos zumbis).
O esquema apresentado a seguir exemplifica o funcionamento básico de uma botnet:
Um atacante propaga um tipo específico de bot na esperança de infectar e conseguir a maior
quantidade possível de zumbis;
os zumbis ficam então à disposição do atacante, agora seu controlador, à espera dos comandos
a serem executados;
quando o controlador deseja que uma ação seja realizada, ele envia aos zumbis os comandos
a serem executados, usando, por exemplo, redes do tipo P2P ou servidores centralizados;
os zumbis executam então os comandos recebidos, durante o período predeterminado pelo
controlador;
quando a ação se encerra, os zumbis voltam a ficar à espera dos próximos comandos a serem
executados.

NEGAÇÃO DE SERVIÇO (DOS E DDOS)


Negação de serviço (DoS - Denial of Service), é uma técnica pela qual um atacante utiliza
um computador para tirar de operação um serviço, um computador ou uma rede conectada à
internet. Quando utilizada de forma coordenada e distribuída, ou seja, quando um conjunto de
CÓDIGOS MALICIOSOS 3

computadores é utilizado no ataque, recebe o nome de negação de serviço distribuído, ou DDoS


(Distributed Denial of Service).
O objetivo destes ataques não é invadir e nem coletar informações, mas sim exaurir recursos e
causar indisponibilidades ao alvo. Quando isso ocorre, todas as pessoas que dependem dos recursos
afetados são prejudicadas, pois ficam impossibilitadas de acessar ou realizar as operações desejadas.
Nos casos já registrados de ataques, os alvos ficaram impedidos de oferecer serviços durante
o período em que eles ocorreram, mas, ao final, voltaram a operar normalmente, sem que tivesse
havido vazamento de informações ou comprometimento de sistemas ou computadores.
Uma pessoa pode voluntariamente usar ferramentas e fazer com que seu computador seja
utilizado em ataques. A maioria dos computadores, porém, participa dos ataques sem o conheci-
mento de seu dono, por estar infectado e fazendo parte de botnets.
Ataques de negação de serviço podem ser realizados por diversos meios, como:
ͫ pelo envio de grande quantidade de requisições para um serviço, consumindo os recursos
necessários ao seu funcionamento (processamento, número de conexões simultâneas,
memória e espaço em disco, por exemplo) e impedindo que as requisições dos demais
usuários sejam atendidas;
ͫ pela geração de grande tráfego de dados para uma rede, ocupando toda a banda dis-
ponível e tornando indisponível qualquer acesso a computadores ou serviços desta rede;
ͫ pela exploração de vulnerabilidades existentes em programas, que podem fazer com que
um determinado serviço fique inacessível.

HOAX
Um hoax (ou seja, boato ou farsa) é uma mensagem que tenta convencer o leitor de sua
veracidade e depois busca persuadi-lo a realizar uma determinada ação. A propagação de um hoax
depende de os leitores deliberadamente enviarem a mensagem para outras vítimas em potencial,
que também podem fazer o mesmo.
A identificação do hoax é o primeiro passo para parar a sua propagação. A carga útil de um
hoax não é técnica por natureza, é psicológica. Ao lidar com a emoção das pessoas, o hoax tenta
persuadir o leitor a enviá-lo a outras pessoas (uma forma de engenharia social). Este é quase sempre
o propósito de um hoax, embora possa, em certas ocasiões, tentar convencer a pessoa a depositar
dinheiro, fornecer informação pessoal (phishing) ou coisas similares. Correntes de e-mail são a mais
significativa e bem-sucedida forma de hoax. Correntes de e-mail quando enviadas a muitas pessoas
consomem recursos do servidor de e-mails, largura de banda etc.

SPAM
Spam é o nome usado para se referir a mensagens indesejadas. O termo é normalmente usado
para e-mails indesejados, mas as mensagens publicitárias indesejadas em websites também são
consideradas spam. Os custos do spam são passados para os destinatários; em comparação com
as poucas pessoas que estão realmente interessadas nessas mensagens, a maioria desperdiça
uma quantidade significativa de tempo removendo as mensagens de sua caixa de correio. Um
filtro de spam pode auxiliar nesse processo. Há também algumas outras ações que os usuários de
computador podem fazer para combater o spam. Uma delas é nunca responder uma mensagem
de spam – mesmo “desativar” ou “cancelar” acaba causando mais spam, uma vez que assim você
confirma para quem enviou o spam que seu e-mail funciona e o spam, sem dúvida, irá aumentar.
4

Além disso, não é recomendável compartilhar mensagens de spam nem distribuir endereços
de e-mail. Para ocultar endereços de e-mail, pode-se usar a função “cópia oculta” (Blind Carbon
Copy – BCC), que está disponível no cliente de e-mail.

SPYWARE
Spyware é um programa projetado para monitorar as atividades de um sistema e enviar as
informações coletadas para terceiros.
Pode ser usado tanto de forma legítima quanto maliciosa, dependendo de como é instalado,
das ações realizadas, do tipo de informação monitorada e do uso que é feito por quem recebe as
informações coletadas. Pode ser considerado de uso:
ͫ Legítimo: quando instalado em um computador pessoal, pelo próprio dono ou com con-
sentimento deste, com o objetivo de verificar se outras pessoas o estão utilizando de
modo abusivo ou não autorizado.
ͫ Malicioso: quando executa ações que podem comprometer a privacidade do usuário e a
segurança do computador, como monitorar e capturar informações referentes à navegação
do usuário ou inseridas em outros programas (por exemplo, conta de usuário e senha).
Alguns tipos específicos de programas spyware são:
» Keylogger: capaz de capturar e armazenar as teclas digitadas pelo usuário no teclado
do computador. Sua ativação, em muitos casos, é condicionada a uma ação prévia
do usuário, como o acesso a um site específico de comércio eletrônico ou de Inter-
net Banking.
» Screenlogger: similar ao keylogger, capaz de armazenar a posição do cursor e a tela
apresentada no monitor, nos momentos em que o mouse é clicado, ou a região que
circunda a posição onde o mouse é clicado. É bastante utilizado por atacantes para
capturar as teclas digitadas pelos usuários em teclados virtuais, disponíveis princi-
palmente em sites de Internet Banking.
» Adware: projetado especificamente para apresentar propagandas. Pode ser usado
para fins legítimos, quando incorporado a programas e serviços, como forma de
patrocínio ou retorno financeiro para quem desenvolve programas livres ou presta
serviços gratuitos. Também pode ser usado para fins maliciosos, quando as propa-
gandas apresentadas são direcionadas, de acordo com a navegação do usuário e
sem que este saiba que tal monitoramento está sendo feito.
CÓDIGOS
MALICIOSOS
2

CÓDIGOS MALICIOSOS
BACKDOOR
Backdoor é um programa que permite o retorno de um invasor a um computador compro-
metido, por meio da inclusão de serviços criados ou modificados para este fim (cartilha.cert.br).
Pode ser incluído pela ação de outros códigos maliciosos, que tenham previamente infectado o
computador, ou por atacantes, que exploram vulnerabilidades existentes nos programas instalados
no computador para invadi-lo.
Após incluído, o backdoor é usado para assegurar o acesso futuro ao computador compro-
metido, permitindo que ele seja acessado remotamente, sem que haja necessidade de recorrer
novamente aos métodos utilizados na realização da invasão ou infecção e, na maioria dos casos,
sem que seja notado.
A forma usual de inclusão de um backdoor consiste na disponibilização de um novo serviço
ou na substituição de um determinado serviço por uma versão alterada, normalmente possuindo
recursos que permitem o acesso remoto. Programas de administração remota, como Back Orifice,
NetBus, SubSeven, VNC e Radmin, se mal configurados ou utilizados sem o consentimento do
usuário, também podem ser classificados como backdoors.
Há casos de backdoors incluídos propositalmente por fabricantes de programas, sob alegação
de necessidades administrativas. Esses casos constituem uma séria ameaça à segurança de um com-
putador que contenha um destes programas instalados, pois, além de comprometerem a privacidade
do usuário, também podem ser usados por invasores para acessarem remotamente o computador.

CAVALO DE TROIA (TROJAN)


Um cavalo de troia, ou trojan, é um programa que, além de executar as funções para as quais
foi aparentemente projetado, conduz propositalmente atividades secundárias, imperceptíveis pelo
usuário do computador, o que pode prejudicar a integridade do sistema infectado.
Um trojan se apresenta como algo útil, mas quando ativado pelo usuário, pode conduzir todo
tipo de atividade indesejada em segundo plano. A carga útil de um cavalo de Troia frequentemente
instala um backdoor, por meio do qual pessoas desconhecidas podem ganhar acesso não autorizado
ao sistema infectado.
Outra atividade frequente dos trojans é enviar informações confidenciais do sistema infectado
para outro local, onde elas podem ser coletadas e analisadas.
A diferença mais notória com relação aos vírus e worms é que os cavalos de troia não podem
se autorreplicar. Como resultado, cavalos de troia são normalmente capazes de realizar seu trabalho
sem serem percebidos por um longo período.
Há diferentes tipos de trojans, classificados de acordo com as ações maliciosas que costumam
executar ao infectar um computador. Alguns destes tipos são:
ͫ Trojan Downloader: instala outros códigos maliciosos, obtidos de sites na internet.
ͫ Trojan Dropper: instala outros códigos maliciosos, embutidos no próprio código do trojan.
ͫ Trojan Backdoor: inclui backdoors, possibilitando o acesso remoto do atacante ao
computador.
ͫ Trojan DoS: instala ferramentas de negação de serviço e as utiliza para desferir ataques.
CÓDIGOS MALICIOSOS 3

ͫ Trojan Destrutivo: altera/apaga arquivos e diretórios, formata o disco rígido e pode deixar
o computador fora de operação.
ͫ Trojan Clicker: redireciona a navegação do usuário para sites específicos, com o objetivo
de aumentar a quantidade de acessos a estes sites ou apresentar propagandas.
ͫ Trojan Proxy: instala um servidor de proxy, possibilitando que o computador seja utilizado
para navegação anônima e para envio de spam.
ͫ Trojan Spy: instala programas spyware e os utiliza para coletar informações sensíveis,
como senhas e números de cartão de crédito, e enviá-las ao atacante.
ͫ Trojan Banker ou Bancos: coleta dados bancários do usuário, por meio da instalação de
programas spyware que são ativados quando sites de internet banking são acessados. É
similar ao Trojan Spy, porém com objetivos mais específicos.

RANSOMWARE
É um tipo de código malicioso que torna inacessíveis os dados armazenados em um equipa-
mento, geralmente usando criptografia, e que exige pagamento de resgate (ransom) para restabe-
lecer o acesso ao usuário. O pagamento do resgate geralmente é feito via bitcoins.
Existem dois tipos de ransomware:
ͫ Ransomware Locker: impede acesso ao equipamento infectado.
ͫ Ransomware Crypto: impede acesso aos dados armazenados no equipamento infectado,
geralmente usando criptografia.

CRIPTOGRAFIA DOS ARQUIVOS


O cryptoransomware atual utiliza algoritmos sofisticados para criptografar arquivos em seu
dispositivo ou rede; a criptografia pode ser de dois tipos básicos: com chave simétrica e com chave
assimétrica.
Para o extorsionário, cada método tem vantagens e desvantagens distintas.
Algumas das variantes mais complexas tiram proveito dos dois tipos de criptografia para superar
os pontos fracos do outro tipo.
CÓDIGOS
MALICIOSOS
2

CÓDIGOS MALICIOSOS
ROOTKIT
Rootkit é um conjunto de programas e técnicas que permite esconder e assegurar a presença
de um invasor ou de outro código malicioso em um computador comprometido.
Rootkits são extremamente difíceis de detectar e infectam o sistema muitas vezes sem o usuá-
rio perceber. Eles podem se esconder e também se disfarçar enganando programas de detecção.
Mesmo quando o rootkit é removido, as mudanças que fez no sistema permanecem inalteradas
e são normalmente imperceptíveis. Em outras palavras, a única forma de ter certeza de que um
rootkit foi removido é formatar e reinstalar todo o sistema.
Em termos gerais, os rootkits podem trabalhar em dois níveis: no nível do kernel e no nível
do usuário. Processadores modernos conseguem lidar com programas no modo de kernel e no
modo de usuário, e essa diferença é fundamental: programas no modo kernel têm acesso a toda
a área de memória, enquanto aplicações no modo usuário são limitadas a segmentos específicos
da memória. Rootkits com estratégias de kernel podem, portanto, fazer quase tudo na memória
de trabalho. O propósito dessas ferramentas é ler, alterar ou influenciar os processos em execu-
ção, dados ou arquivos do sistema. Um rootkit ajuda o invasor a ganhar acesso ao sistema, sem o
usuário perceber nada.
O conjunto de programas e técnicas fornecido pelos rootkits pode ser usado para:
ͫ remover evidências em arquivos de logs;
ͫ instalar outros códigos maliciosos, como backdoors, para assegurar o acesso futuro ao
computador infectado;
ͫ esconder atividades e informações, como arquivos, diretórios, processos, chaves de
registro, conexões de rede etc.;
ͫ mapear potenciais vulnerabilidades em outros computadores, por meio de varreduras
na rede;
ͫ capturar informações da rede onde o computador comprometido está localizado, pela
interceptação de tráfego.

ATAQUES NA INTERNET
Ataques costumam ocorrer na internet com diversos objetivos, visando diferentes alvos e
usando variadas técnicas. Qualquer serviço, computador ou rede que seja acessível via internet
pode ser alvo de um ataque, assim como qualquer computador com acesso à internet pode parti-
cipar de um ataque.
Os motivos que levam os atacantes a desferir ataques na internet são bastante diversos,
variando da simples diversão até a realização de ações criminosas. Alguns exemplos são:
ͫ Demonstração de poder: mostrar a uma empresa que ela pode ser invadida ou ter os
serviços suspensos e, assim, tentar vender serviços ou chantageá-la para que o ataque
não ocorra novamente.
ͫ Prestígio: vangloriar-se, perante outros atacantes, por ter conseguido invadir computa-
dores, tornar serviços inacessíveis ou desfigurar sites considerados visados ou difíceis
CÓDIGOS MALICIOSOS 3

de serem atacados; disputar com outros atacantes ou grupos de atacantes para revelar
quem consegue realizar o maior número de ataques ou ser o primeiro a conseguir atingir
um determinado alvo.
ͫ Motivações financeiras: coletar e utilizar informações confidenciais de usuários para
aplicar golpes.
ͫ Motivações ideológicas: tornar inacessível ou invadir sites que divulguem conteúdo
contrário à opinião do atacante; divulgar mensagens de apoio ou contrárias a uma deter-
minada ideologia.
ͫ Motivações comerciais: tornar inacessível ou invadir sites e computadores de empresas
concorrentes, para tentar impedir o acesso dos clientes ou comprometer a reputação
destas empresas.
Para alcançar estes objetivos os atacantes costumam usar técnicas, como as descritas a seguir.

EXPLORAÇÃO DE VULNERABILIDADES
Uma vulnerabilidade é definida como uma condição que, quando explorada por um atacante,
pode resultar em uma violação de segurança. Exemplos de vulnerabilidades são falhas no projeto,
na implementação ou na configuração de programas, serviços ou equipamentos de rede.
Um ataque de exploração de vulnerabilidades ocorre quando um atacante, utilizando-se de
uma vulnerabilidade, tenta executar ações maliciosas, como invadir um sistema, acessar informa-
ções confidenciais, disparar ataques contra outros computadores ou tornar um serviço inacessível.

VARREDURA EM REDES (SCAN)


Varredura em redes, ou scan, é uma técnica que consiste em efetuar buscas minuciosas em
redes, com o objetivo de identificar computadores ativos e coletar informações sobre eles, como
serviços disponibilizados e programas instalados. Com base nas informações coletadas é possível
associar possíveis vulnerabilidades aos serviços disponibilizados e aos programas instalados nos
computadores ativos detectados.
A varredura em redes e a exploração de vulnerabilidades associadas podem ser usadas de
forma:
ͫ Legítima: por pessoas devidamente autorizadas, para verificar a segurança de computa-
dores e redes e, assim, tomar medidas corretivas e preventivas.
ͫ Maliciosa: por atacantes, para explorar as vulnerabilidades encontradas nos serviços
disponibilizados e nos programas instalados para a execução de atividades maliciosas.
Os atacantes também podem utilizar os computadores ativos detectados como poten-
ciais alvos no processo de propagação automática de códigos maliciosos e em ataques
de força bruta.

FALSIFICAÇÃO DE E-MAIL (E-MAIL SPOOFING)


Falsificação de e-mail, ou e-mail spoofing, é uma técnica que consiste em alterar campos do
cabeçalho de um e-mail, de forma a aparentar que ele foi enviado de uma determinada origem
quando, na verdade, foi enviado de outra.
4

Esta técnica é possível devido a características do protocolo SMTP (Simple Mail Transfer Pro-
tocol) que permitem que campos do cabeçalho, como “From:” (endereço de quem enviou a men-
sagem), “Reply-To” (endereço de resposta da mensagem) e “Return-Path” (endereço para onde
possíveis erros no envio da mensagem são reportados), sejam falsificados.
Ataques deste tipo são bastante usados para propagação de códigos maliciosos, envio de spam
e em golpes de phishing. Atacantes utilizam-se de endereços de e-mail coletados de computadores
infectados para enviar mensagens e tentar fazer com que os seus destinatários acreditem que elas
partiram de pessoas conhecidas.
Exemplos de e-mails com campos falsificados são aqueles recebidos como sendo:
» de alguém conhecido, solicitando que você clique em um link ou execute um arquivo
anexo;
» do seu banco, solicitando que você siga um link fornecido na própria mensagem e
informe dados da sua conta bancária;
» do administrador do serviço de e-mail que você utiliza, solicitando informações
pessoais e ameaçando bloquear a sua conta caso você não as envie.
Você também pode já ter observado situações em que o seu próprio endereço de e-mail foi
indevidamente utilizado. Alguns indícios disto são:
» você recebe respostas de e-mails que você nunca enviou;
» você recebe e-mails aparentemente enviados por você mesmo, sem que você tenha
feito isto;
» você recebe mensagens de devolução de e-mails que você nunca enviou, reportando
erros como usuário desconhecido e caixa de entrada lotada (cota excedida).

INTERCEPTAÇÃO DE TRÁFEGO (SNIFFING)


Interceptação de tráfego, ou sniffing, é uma técnica que consiste em inspecionar os dados
trafegados em redes de computadores, por meio do uso de programas específicos chamados de
sniffers. Esta técnica pode ser utilizada de forma:
» Legítima: por administradores de redes, para detectar problemas, analisar desem-
penho e monitorar atividades maliciosas relativas aos computadores ou redes por
eles administrados.
» Maliciosa: por atacantes, para capturar informações sensíveis, como senhas, núme-
ros de cartão de crédito e o conteúdo de arquivos confidenciais que estejam trafe-
gando por meio de conexões inseguras, ou seja, sem criptografia.

FORÇA BRUTA (BRUTE FORCE)


Um ataque de força bruta, ou brute force, consiste em adivinhar, por tentativa e erro, um nome
de usuário e senha e, assim, executar processos e acessar sites, computadores e serviços em nome
e com os mesmos privilégios do usuário.
Qualquer computador, equipamento de rede ou serviço que seja acessível via internet, com
um nome de usuário e uma senha, pode ser alvo de um ataque de força bruta. Dispositivos móveis,
que estejam protegidos por senha, além de poderem ser atacados pela rede, também podem ser
alvo deste tipo de ataque caso o atacante tenha acesso físico a eles.
Se um atacante tiver conhecimento do nome de usuário e da senha de uma pessoa, ele pode
efetuar ações maliciosas em nome dela, como:
CÓDIGOS MALICIOSOS 5

» trocar a senha, dificultando que o usuário acesse novamente o site ou computador


invadido;
» invadir o serviço de e-mail e ter acesso ao conteúdo das mensagens e à lista de
contatos, além de poder enviar mensagens;
» acessar as possíveis redes sociais e enviar mensagens aos seguidores contendo
códigos maliciosos ou alterar as opções de privacidade;
» invadir o computador e, de acordo com as permissões de usuário, executar ações,
como apagar arquivos, obter informações confidenciais e instalar códigos maliciosos.
Mesmo que o atacante não consiga descobrir a senha, pode-se ter problemas ao acessar a
conta, caso ela tenha sofrido um ataque de força bruta, pois muitos sistemas bloqueiam as contas
quando várias tentativas de acesso sem sucesso são realizadas.
Apesar dos ataques de força bruta poderem ser realizados manualmente, na maioria dos
casos, eles são feitos com o uso de ferramentas automatizadas facilmente obtidas na internet e
que permitem tornar o ataque bem mais efetivo.
As tentativas de adivinhação costumam ser baseadas em:
» dicionários de diferentes idiomas e que podem ser facilmente obtidos na internet;
» listas de palavras comumente usadas, como personagens de filmes e nomes de
times de futebol;
» substituições óbvias de caracteres, como trocar “a” por “@” e “o” por “0”’;
» sequências numéricas e de teclado, como “123456”, “qwert” e “1qaz2wsx”;
» informações pessoais, de conhecimento prévio do atacante ou coletadas na internet,
em redes sociais e blogs, como nome, sobrenome, datas e números de documentos.
Um ataque de força bruta, dependendo de como é realizado, pode resultar em um ataque de
negação de serviço, devido à sobrecarga produzida pela grande quantidade de tentativas realizadas
em um pequeno período de tempo.

DESFIGURAÇÃO DE PÁGINA (DEFACEMENT)


Desfiguração de página, defacement ou pichação, é uma técnica que consiste em alterar o
conteúdo da página Web de um site.
As principais formas que um atacante pode utilizar para desfigurar uma página Web são:
» explorar erros da aplicação Web;
» explorar vulnerabilidades do servidor de aplicação Web;
» explorar vulnerabilidades da linguagem de programação ou dos pacotes utilizados
no desenvolvimento da aplicação Web;
» invadir o servidor onde a aplicação Web está hospedada e alterar diretamente os
arquivos que compõem o site;
» furtar senhas de acesso à interface Web usada para administração remota.
Para ganhar mais visibilidade, chamar mais atenção e atingir maior número de visitantes,
geralmente os atacantes alteram a página principal do site, porém páginas internas também podem
ser alteradas.

PHISHING
6

Phishing é uma forma de fraude na internet na qual a vítima recebe um e-mail pedindo para ele
ou ela verificar ou confirmar uma conta junto a um banco ou provedor de serviços. Algumas vezes
mensagens instantâneas são usadas e até contatos telefônicos já foram tentados. É difícil capturar
os autores de phishing. Usuários de internet devem permanecer particularmente vigilantes e não
devem nunca responder a um pedido por e-mail para transferir dinheiro ou enviar informações
pessoais (financeiras), tais como números de conta de banco, códigos PIN ou detalhes do cartão
de crédito. Em computação, phishing é uma forma de Engenharia Social.
Em segurança da informação, chama-se Engenharia Social as práticas utilizadas para obter
acesso às informações importantes ou sigilosas em organizações ou sistemas por meio da engana-
ção ou exploração da confiança das pessoas. Para isso, o golpista pode se passar por outra pessoa,
assumir outra personalidade, fingir que é um profissional de determinada área etc. É uma forma
de entrar em organizações que não necessita da força bruta ou de erros em máquinas. Explora as
falhas de segurança das próprias pessoas que, quando não treinadas para esses ataques, podem
ser facilmente manipuladas.

SPEAR PHISHING
Spear phishing é um golpe proveniente de e-mail ou comunicação eletrônica, direcionado a
um indivíduo, organização ou empresa específicos.

PHARMING
Pharming é um tipo específico de phishing que envolve o redirecionamento da navegação do
usuário para sites falsos, por meio de alterações no serviço de DNS (Domain Name System).
Neste caso, quando tenta-se acessar um site legítimo, o navegador Web é redirecionado, de
forma transparente, para uma página falsa. Isso pode ocorrer:
» por meio do comprometimento do servidor de DNS do provedor utilizado;
» pela ação de códigos maliciosos projetados para alterar o comportamento do serviço
de DNS do computador;
» pela ação direta de um invasor, que venha a ter acesso as configurações do serviço
de DNS do computador ou modem de banda larga.
FERRAMENTAS DE
SEGURANÇA
2

FERRAMENTAS DE SEGURANÇA
ANTIVÍRUS
Os programas antimalware, muitas vezes chamados de programas antivírus, são ferramentas
desenvolvidas com o objetivo de detectar, identificar e remover códigos maliciosos do sistema.

MÉTODO DE DETECÇÃO
Os primeiros malwares usavam códigos relativamente simples e fáceis de detectar, e por isso
podiam ser identificados e removidos com pacotes de software antivírus relativamente simples. À
medida que a corrida armamentista contra o malware evoluiu, tanto o código de malware quanto
necessariamente os softwares antivírus ficaram cada vez mais complexos e sofisticados.
De acordo com a cartilha de segurança (cartilha.cert.br), os métodos de detecção mais comuns
são:
» Assinatura: a assinatura de um código malicioso corresponde a características espe-
cíficas nele contidas e que permitem que seja identificado unicamente. Um arquivo
de assinaturas corresponde ao conjunto de assinaturas definidas pelo fabricante
para os códigos maliciosos já detectados.
» Heurística: baseia-se nas estruturas, instruções e características que o código mali-
cioso possui.
» Comportamento: baseia-se no comportamento apresentado pelo código malicioso
quando executado.

GERAÇÕES DE SOFTWARE ANTIVÍRUS


» Primeira geração: escaneadores simples - um escaneador de primeira geração requer
uma assinatura do código malicioso para identificar o malware.
» Segunda geração: escaneadores heurísticos - um escaneador de segunda geração
não depende de uma assinatura específica. Em vez disso, ele usa regras heurísticas
para procurar prováveis instâncias de um malware.
» Terceira geração: detecção baseada na atividade - são programas residentes na
memória que identificam malwares por suas ações, em vez de sua estrutura em
um programa infectado. Tais programas têm a vantagem de que não é necessário
desenvolver assinaturas e heurísticas para uma grande coleção de malwares. Em vez
disso, basta identificar o pequeno conjunto de ações que indica que uma tentativa
de atividade maliciosa está em curso e intervir.
» Quarta geração: proteção total - são pacotes que consistem em uma variedade de
técnicas antivírus usadas em conjunto. Eles incluem componentes de escaneamento
e de captura de atividades. Além disso, esses pacotes incluem recursos de controle de
acesso, o que limita a capacidade do malware de penetrar em um sistema e, assim,
limita a capacidade de um malware atualizar arquivos para se propagar.
» NGAV (Next Generation Antivirus) - são soluções que utilizam uma combinação
de inteligência artificial, detecção comportamental e análise preditiva baseada
em aprendizado de máquina para antecipar e prevenir ameaças conhecidas e
desconhecidas.
FERRAMENTAS DE SEGURANÇA 3

FIREWALL
Um firewall é um dispositivo de segurança que monitora o tráfego de rede de entrada e saída,
permitindo que alguns pacotes passem e bloqueando outros de acordo com um conjunto definido
de regras de segurança, isto é, todo o tráfego de fora para dentro, e vice-versa, passa por um fire-
wall. Dessa forma, é possível isolar uma rede interna de uma organização da Internet em geral. Um
firewall pode ser um hardware, software ou ambos.

TIPOS DE FIREWALL
FILTRO DE PACOTE TRADICIONAL
Os filtros de pacotes tradicionais também são chamados de stateless firewall (firewall sem
estado). Esse tipo de firewall examina cada datagrama de forma isolada, determinando se deve
passar ou ficar baseado nas regras específicas definidas pelo administrador da rede. As decisões
de filtragem costumam ser baseadas em:
ͫ Endereço IP de origem e de destino
ͫ Porta TCP ou UDP de origem e de destino
ͫ Regras diferentes para datagramas que entram e saem da rede
FILTRO DE PACOTE COM CONTROLE DE ESTADO (STATEFUL INSPECTION)
Um firewall com inspeção de estado permite ou bloqueia tráfego de acordo com o estado, a
porta e o protocolo. Ele monitora toda atividade desde o momento em que uma conexão é aberta
até que ela seja fechada. As decisões de filtragem são tomadas de acordo com as regras definidas
pelo administrador e com o contexto, o que significa o uso de informações de conexões e pacotes
anteriores que pertencem à mesma conexão.
FIREWALL DE PROXY
Um firewall de proxy é um sistema de segurança de redes que protege uma rede filtrando
mensagens na camada de aplicação. Nesse caso, funciona como a passagem de uma rede para
outra de uma aplicação específica. Servidores proxy podem oferecer recursos adicionais, como
armazenamento em cache e segurança de conteúdo ao evitar conexões diretas de fora da rede.
No entanto, isso também pode afetar a capacidade de taxa de transferência e as aplicações que
eles podem comportar.
GERENCIAMENTO UNIFICADO DE AMEAÇAS (UTM)
O gerenciamento unificado de ameaças, normalmente abreviado como UTM (Unified Threat
Management), é um termo de segurança de informações que se refere a uma única solução de
segurança, e normalmente um único dispositivo, que oferece várias funções de segurança em um
único ponto da rede. Normalmente, um dispositivo de UTM inclui funções como: antivírus, antis-
pyware, antispam, firewall de rede, detecção e prevenção de invasões, filtragem de conteúdo e
prevenção de vazamentos.
IMPORTANTE
IDS - Sistema de detecção de intrusão: ferramenta (hardware ou software) para monitorar o tráfego da rede,
detectar e alertar sobre possíveis ataques e tentativas de acessos indevidos.
IPS - Sistema de prevenção de intrusão: ferramenta (hardware ou software) para monitorar o tráfego da
rede, detectar possíveis tentativas de acessos indevidos e ataques. Além de enviar um alerta ao administrador,
também pode derrubar pacotes maliciosos, bloquear o tráfego a partir da origem e redefinir a conexão.
Enquanto o IDS é considerada uma solução passiva, o IPS é uma solução ativa.
4

FIREWALL DE PRÓXIMA GERAÇÃO (NGFW)


Os firewalls evoluíram para além da simples filtragem de pacotes e inspeção stateful. A maioria
das empresas está implantando firewall de próxima geração para bloquear ameaças modernas,
como malware avançado e ataques na camada da aplicação. Seu diferencial é trazer uma inspeção
mais aprofundada de pacotes, com recursos de controle robustos e focados em uma performance
mais coesa. Assim, o NGFW engloba não apenas a barreira contra ataques, mas cria políticas de
controle de acesso eficientes e assertivas para os atuais desafios da segurança digital.
De acordo com a definição do Gartner, Inc., um firewall de próxima geração deve incluir:
» Recursos padrão de firewall, como inspeção stateful
» Prevenção de invasão integrada
» Reconhecimento e controle da aplicação para detectar e bloquear aplicativos nocivos
» Atualização de caminhos para incluir feeds futuros de informação
» Técnicas para lidar com as ameaças à segurança em evolução
REFERÊNCIAS
Stallings, William, Segurança de computadores : princípios e práticas / William Stallings, Lawrie
Brown ; 2. ed. - Rio de Janeiro : Elsevier, 2014.
https://www.cisco.com/c/pt_br/products/security/firewalls/what-is-a- firewall.
html#~tipos-de-firewall
BACKUP
2

BACKUP
Em segurança da informação, backup é um processo que se refere a fazer cópias dos dados de
forma que essas cópias adicionais possam ser usadas para restaurar o original após um evento de
perdas de dados, isto é, significa ter dados importantes em um segundo local físico, como um disco
rígido externo, DVD/Blu-ray, pendrive, backup em nuvem etc. Depois de criar essa segunda cópia
de dados, se você excluir os dados originais no computador, não haverá mais um backup desses
dados, apenas uma única cópia novamente.
É crucial sempre ter uma boa solução de backup implementada, já que a disponibilidade
do sistema pode ser afetada pela falha de um dispositivo ou software. Nesse caso, dispositivos
de backup devem ser utilizados para substituir rapidamente os sistemas críticos. Além disso, nas
organizações, os funcionários devem ser qualificados e precisam estar disponíveis para realizarem
os ajustes necessários para restaurar o sistema.
A realização de backups pode ser feita com uso de programas integrados ao sistema opera-
cional ou com uso de aplicativos específicos instalados separadamente. Esse procedimento pode
ser realizado de forma manual ou automática.
As consequências da perda de informação dependem da idade da informação que pode ser
recuperada a partir do backup. É importante, portanto, considerar o intervalo em que os backup
são feitos. Outro ponto extremamente importante é que o backup deve ser testado regularmente.

BACKUP DE IMAGEM
Essa é uma maneira de fazer backup de um computador (arquivos, aplicativos e arquivos de
sistema) que permite armazenar a coleção inteira de dados disponíveis do computador, incluindo
arquivos de programa e sistema operacional, em um só arquivo (uma “imagem”) que pode ser
usado mais tarde para restaurar o computador exatamente da forma que era quando a imagem
foi feita originalmente.
Esse é um bom jeito de se recuperar de uma grande falha de hardware ou de reinstalar o sis-
tema operacional sem ter que perder muito tempo também reinstalando programas, restaurando
e-mails e arquivos.

BACKUP DE ARQUIVOS
Essa abordagem faz backup de dados comuns somente ao criar uma segunda cópia em um
segundo local, mas não faz backup de aplicativos ou outros arquivos de sistema. Os arquivos que
são armazenados em backup não são excluídos da mídia origem.

ARQUIVAMENTO
Esse é o processo através do qual você armazena arquivos em uma única mídia de armaze-
namento sem cópias secundárias. Normalmente esse procedimento é realizado quando o usuário
precisa liberar o máximo de espaço possível no disco original. Como esse método resulta em apenas
uma cópia dos seus dados, ele não pode ser considerado um backup.
A principal diferença entre um arquivamento e um backup é que em um backup os arquivos
são mantidos no disco original e no disco secundário. Por outro lado, os dados arquivados normal-
mente são excluídos da origem, como, por exemplo, da sua unidade de dados ou disco do sistema.
Ao arquivar dados, é comum usar um DVD, Blu-ray ou fita magnética como mídia de armazena-
mento, pois esses são métodos econômicos de armazenar uma grande quantidade de dados que
não precisam ser acessados por muito tempo.
BACKUP 3

ONDE GUARDAR OS BACKUPS?


É possível armazenar os backups localmente, isto é, no mesmo local dos arquivos originais ou
de forma remota. Nesse caso, precisamos estudar as vantagens de cada uma delas.

CARACTERÍSTICAS DO ARMAZENAMENTO LOCAL


A recuperação é mais rápida já que os arquivos estão próximos;
Não protege em caso de acidentes naturais (como incêndio e inundações), pois tanto a cópia
como os originais podem ser perdidos.

CARACTERÍSTICAS DO ARMAZENAMENTO REMOTO


Garante a disponibilidade em caso de problemas no local onde estão os arquivos originais;
A recuperação pode ser mais demorada, pois depende da velocidade da rede ou da distância
do local onde as mídias estão armazenadas;
Pode comprometer a confidencialidade e integridade dos dados, caso não estejam criptogra-
fados, pois o acesso às mídias é mais difícil de ser controlado.

VERIFICAÇÃO DE INTEGRIDADE
É possível detectar alterações em arquivos armazenados em uma mídia, com uso da função
HASH. Nesse caso, Hash é o resultado único e de tamanho fixo gerado quando uma função de
resumo (tipo de método criptográfico) é aplicada sobre uma informação.
Funciona assim: aplique a função hash sobre o arquivo original e, se necessário, aplique
novamente a função hash sobre o arquivo que representa uma cópia do original. Dessa forma, se
os dois hashes forem iguais então você pode concluir que o arquivo representa uma cópia fiel do
original, caso contrário, é uma indicação de que o arquivo esteja corrompido ou que foi modificado.
Exemplos de métodos de hash são: MD5 (128 bits), SHA-1 (160 bits), SHA-256 e SHA-512.

REGRA 3-2-1
A estratégia de backup, conhecida como “regra de backup 3-2-1”, pode ajudar a salvar seus
dados em caso de desastres, erros humanos ou ações de intrusos, como, por exemplo, ataques de
ransomwares, cada vez mais comuns. A regra afirma que você precisa:
Ter pelo menos 3 cópias dos dados (a original e 2 backups);
Armazenar as cópias em 2 tipos diferentes de mídias;
Pelo menos uma cópia de dados deve ser colocada fora do centro de dados primário ou do
escritório, evitando assim desastres como incêndio, inundações ou outras circunstâncias de força
maior. Com a nuvem temos soluções de armazenamento geo-redundantes mais baratas e eficientes.
BACKUP
2

BACKUP
ATRIBUTO ARQUIVO (FLAG ARQUIVE)
Para controlar se um determinado arquivo está com sua cópia de segurança desatualizada ou
não, os programas de backup utilizam um atributo dos arquivos chamado atributo arquivo (flag
arquive). Quando ele está marcado é indicativo de que o arquivo ou nunca foi copiado ou foi alte-
rado desde o último backup. Quando estiver desmarcado é sinal de que ele está com sua cópia de
segurança atualizada. O programa de backup desmarca automaticamente esse atributo ao final da
execução de uma cópia (dependendo do tipo de backup). Depois disso, qualquer alteração que você
promova neste arquivo o atributo voltará a ficar marcado, também automaticamente.

TIPOS DE BACKUP
BACKUP NORMAL (COMPLETO, TOTAL, GLOBAL OU FULL)
Tipo de backup que copia todos os arquivos selecionados e marca cada arquivo como tendo
sofrido backup (em outras palavras, o atributo de arquivamento é desmarcado). Com backups nor-
mais, você só precisa da cópia mais recente do backup para restaurar todos os arquivos.

BACKUP CÓPIA
Tipo de backup que copia todos os arquivos selecionados, mas não marca cada arquivo como
tendo sofrido backup (em outras palavras, o atributo de arquivamento não é desmarcado).

BACKUP INCREMENTAL
Tipo de backup que copia somente os arquivos criados ou alterados desde o último backup
normal ou incremental. Os arquivos que sofreram backup são marcados como tal (ou seja, o atributo
de arquivamento é desmarcado).

BACKUP DIFERENCIAL
Tipo de backup que copia arquivos criados ou alterados desde o último backup normal. Os
arquivos que sofreram backup não são marcados como tal (ou seja, o atributo de arquivamento
não é desmarcado).

BACKUP DIÁRIO
Tipo de backup que copia todos os arquivos selecionados que forem alterados no dia de exe-
cução do backup diário. Os arquivos que sofreram backup não são marcados como tal (ou seja, o
atributo de arquivamento não é desmarcado).
BACKUP 3

FORMAS DE REALIZAÇÃO
BACKUP QUENTE
O backup quente, também chamado de backup on-line ou backup dinâmico, é um backup
realizado enquanto o banco de dados está operacional e acessível aos usuários. A maior vantagem
do backup quente é a continuidade dos negócios, ou seja, quando um backup quente está sendo
processado, você pode continuar trabalhando normalmente, já que seu banco de dados ainda está
disponível.

BACKUP FRIO
O backup frio, geralmente conhecido como backup offline ou backup estático, é uma espécie
de serviço de backup que exige que todo o sistema de dados esteja completamente desligado.
Nenhum negócio pode ser feito durante o backup frio. Assim, geralmente é realizado no início ou
no final do dia para manter a continuidade dos negócios.
alfaconcursos.com.br

SUMÁRIO
CONCEITOS DE INTERNET, INTRANET E EXTRANET ........................................................................................... 2
INTERNET ....................................................................................................................................................... 2
O QUE É UM PROTOCOLO? ....................................................................................................................... 2
INTRANET....................................................................................................................................................... 2
CONTEÚDO WEB........................................................................................................................................ 2
EXTRANET ...................................................................................................................................................... 3
VPN (VIRTUAL PRIVATE NETWORK)............................................................................................................... 3
VPN É SEGURA? ......................................................................................................................................... 3

MUDE SUA VIDA!


alfaconcursos.com.br

CONCEITOS DE INTERNET, INTRANET E EXTRANET


INTERNET
A Internet consiste em várias redes separadas que estão interconectadas por roteadores.
A finalidade da Internet, naturalmente, é interconectar sistemas finais, chamados hosts; estes
incluem PCs, estações de trabalho, servidores, mainframes e assim por diante. A maioria dos
hosts que utilizam a Internet está conectada a uma rede, como uma rede local (LAN) ou uma
rede remota (WAN). Essas redes, por sua vez, são conectadas por roteadores a um ISP
(Internet Service Provider).
ISP é a designação dada a uma operadora de comunicações que esteja integrada à
Internet e que proporcione acesso a outros ISPs ou a usuários finais. A comunicação entre os
ISPs é realizada por meio de backbones (espinha dorsal).
O funcionamento da Internet é baseado na família de protocolos TCP/IP, um conjunto de
protocolos que assegura a padronização das comunicações entre dispositivos de diferentes
países, idiomas, sistemas operacionais e programas.
O QUE É UM PROTOCOLO?
É um conjunto de regras que define o formato e a ordem das mensagens trocadas entre
duas ou mais entidades comunicantes, bem como as ações realizadas na transmissão e/ou no
recebimento de uma mensagem ou outro evento.
Basicamente, a Internet opera da seguinte maneira: um host pode enviar dados para
outro host em qualquer lugar na Internet. O host de origem divide os dados a serem enviados
em uma sequência de pacotes, chamados datagramas IP, ou pacotes IP. Cada pacote inclui
um endereço numérico exclusivo para o host de destino. Esse endereço é denominado
endereço IP. Com base nesse endereço de destino, cada pacote atravessa uma série de
roteadores e redes da origem ao destino. Cada roteador, quando recebe um pacote, toma uma
decisão de roteamento e direciona o pacote pelo seu caminho até o destino. Cada roteador se
conecta a duas ou mais redes.

INTRANET
Intranet é um termo que se refere à implementação de tecnologias de Internet dentro de
uma organização corporativa. Portanto, a Intranet é uma rede privada, ou seja, seu acesso é
restrito a um grupo específico de usuários. Sendo assim, haverá um processo de autenticação
dos usuários para que o acesso seja liberado à Intranet. Normalmente, esse processo de
autenticação é realizado por meio de login e senha. O funcionamento da Intranet também é
baseado na família de protocolos TCP/IP.
CONTEÚDO WEB
Uma organização pode utilizar a Intranet web para melhorar a comunicação gerência-
empregado e fornecer informações relacionadas ao trabalho de modo fácil e rápido.
Normalmente, existe uma página inicial (home page) corporativa interna que serve
como um ponto de entrada para os funcionários na Intranet. A partir dessa página inicial,
existem links para áreas de interesse da empresa ou de grandes grupos de empregados,
incluindo recursos humanos, finanças e serviços de sistemas de informação. Outros links são
para áreas de interesse dos grupos de empregados, como vendas e manufatura. Esse acesso é
realizado por meio de navegadores web, como, por exemplo, o Internet Explorer e o Mozilla
Firefox.

MUDE SUA VIDA!


alfaconcursos.com.br

EXTRANET
Um conceito semelhante ao da Intranet é a Extranet. Assim como a Intranet, a Extranet
utiliza protocolos e aplicações TCP/IP, especialmente a Web. O recurso distinto da Extranet é
que ela dá acesso a recursos corporativos a clientes externos, normalmente fornecedores e
clientes da organização. Esse acesso externo pode ser pela Internet ou por outras redes de
comunicação de dados.
Uma Extranet proporciona mais do que o simples acesso à Web para o público, que
praticamente todas as empresas agora oferecem. Em vez disso, a Extranet dá acesso mais
extenso a recursos corporativos, normalmente em um modelo que impõe uma política de
segurança. Assim como na Intranet, o modelo típico de operação para a Extranet é
cliente/servidor.
A Extranet permite o compartilhamento de informações entre empresas. Uma
observação importante com Extranets é a segurança. Como os recursos Web corporativos e os
recursos de banco de dados se tornam disponíveis para os de fora e são permitidas transações
contra esses recursos, aspectos de privacidade e autenticação precisam ser resolvidos. Esse
acesso geralmente é realizado por meio de uma VPN (Rede Privada Virtual).

VPN (VIRTUAL PRIVATE NETWORK)


São redes sobrepostas às redes públicas, mas com a maioria das propriedades das
redes privadas. A rede privada virtual pode ser criada com o objetivo de substituir links de
comunicação dedicados.
Muitas empresas têm escritórios e fábricas espalhados por muitas cidades, às vezes por
vários países. A conexão entre esses escritórios e fábricas pode ser realizada por meio de links
dedicados, o que torna o custo de implementação e manutenção muito alto. Sendo assim, uma
VPN pode ser criada para permitir a conexão entre os escritórios e fábricas utilizando a
Internet, o que torna o custo bem mais baixo.
VPN É SEGURA?
O uso de uma rede pública expõe o tráfego da empresa à espionagem e oferece um ponto
de entrada em potencial para usuários não autorizados. Diante desse cenário, a rede privada
virtual foi criada para combinar tecnologias de criptografia, de autenticação e de tunelamento,
permitindo, assim, que a conexão realizada por meio de uma VPN seja considerada segura.

MUDE SUA VIDA!


alfaconcursos.com.br

SUMÁRIO
NOÇÕES SOBRE ENDEREÇAMENTO IP ............................................................................................................... 2
ENDEREÇAMENTO IP ..................................................................................................................................... 2
IPV4................................................................................................................................................................ 2
REPRESENTAÇÃO DOS ENDEREÇOS IPV4 .................................................................................................. 2
CLASSES DE ENDEREÇAMENTO IP ............................................................................................................. 2
ESGOTAMENTO DOS ENDEREÇOS IPV4 ..................................................................................................... 3
IPV6................................................................................................................................................................ 3

MUDE SUA VIDA!


alfaconcursos.com.br

NOÇÕES SOBRE ENDEREÇAMENTO IP


ENDEREÇAMENTO IP
Cada host (computador) e roteador na Internet tem um endereço IP que pode ser usado
nos campos endereço de origem e endereço de destino dos pacotes IP, permitindo assim que
os computadores (hosts) possam ser localizados na rede. É importante ressaltar que um
endereço IP não se refere realmente a um host. Na verdade, ele se refere a uma interface de
rede; assim, se um host estiver em duas redes, ele precisará ter dois endereços IP. Porém, na
prática, a maioria dos hosts está conectada apenas a uma rede e, portanto, só tem um
endereço IP. Ao contrário, os roteadores têm várias interfaces e, portanto, vários endereços
IP.

IPV4
No IPv4, cada endereço IP tem comprimento de 32 bits (equivalente a 4 bytes). Portanto,
há um total de 232 endereços IP possíveis, ou seja, um pouco mais de 4 bilhões de endereços
IP (4.294.967.296 endereços distintos). Na época de seu desenvolvimento, esta quantidade
era considerada suficiente para identificar todos os computadores na rede e suportar o
surgimento de novas sub-redes. No entanto, com o rápido crescimento da Internet, surgiu o
problema da escassez dos endereços IPv4, motivando a criação de uma nova geração do
protocolo IP. Assim, o IPv6 surgiu, com um espaço para endereçamento de 128 bits, podendo
obter 340.282.366.920.938.463.463.374.607.431.768.211.456 endereços (2128).
REPRESENTAÇÃO DOS ENDEREÇOS IPV4
Os 32 bits dos endereços IPv4 são divididos em quatro grupos de 8 bits cada, separados
por “.”, escritos em notação decimal. Nesse formato, cada um dos 4 bytes é escrito em decimal,
de 0 a 255. Por exemplo, o endereço IP 193.32.216.9. Nesse caso, o 193 é o número decimal
equivalente aos primeiros 8 bits do endereço; o 32 é o decimal equivalente ao segundo
conjunto de 8 bits do endereço e assim por diante.
O endereço IP 193.32.216.9, em notação binária, é: 11000001.00100000.11011000.00001001
CLASSES DE ENDEREÇAMENTO IP
Para facilitar a distribuição dos endereços IPv4, foram especificadas cinco classes de
endereço IP (TORRES, 2009), sendo três classes principais e mais duas complementares. São
elas:
Analisando as três principais classes (A, B e C), podemos verificar o seguinte:
Classe A: Seus endereços começam com números no intervalo de 1 a 126 no primeiro
octeto, em que o primeiro octeto (primeiros 8 bits N.H.H.H) de um endereço IP identifica a
rede e os restantes 3 octetos (24 bits) irão identificar um determinado host nessa rede.
Exemplo de um endereço Classe A – 120.2.1.0
Loopback: O endereço 127.0.0.1 é reservado para loopback (na prática, toda a rede, de
127.0.0.0 a 127.255.255.255).
Classe B: Seus endereços começam com números de 128 a 191 no primeiro octeto, em
que os dois primeiros octetos (16 bits N.N.H.H) de um endereço IP identificam a rede e os
restantes 2 octetos ( 16 bits) irão identificar um determinado host nessa rede.
Exemplo de um endereço Classe B – 152.13.4.0
Classe C: Seus endereços começam com valores no intervalo 192 a 223., em que os três
primeiros octetos (24 bits N.N.N.H) de um endereço IP identificam a rede e o restante octeto
(8 bits) irão identificar um determinado host nessa rede.

MUDE SUA VIDA!


alfaconcursos.com.br

Exemplo de um endereço Classe C – 192.168.10.0


ESGOTAMENTO DOS ENDEREÇOS IPV4
A NAT (Network Address Translation), foi uma das técnicas paliativas desenvolvidas
para resolver o problema do esgotamento dos endereços IPv4. Tem como ideia básica
permitir que, com um único endereço IP, vários hosts possam trafegar na Internet. Dentro de
uma rede, cada computador recebe um endereço IP privado único, que é utilizado para o
roteamento do tráfego interno. No entanto, quando um pacote precisa ser roteado para fora
da rede, uma tradução de endereço é realizada, convertendo endereços IP privados em
endereços IP públicos globalmente únicos.
Para tornar possível este esquema, utiliza-se os três intervalos de endereços IP
declarados como privados na RFC 1918, sendo que a única regra de utilização, é que nenhum
pacote contendo estes endereços pode trafegar na Internet pública. As três faixas reservadas
são:
 10.0.0.0 a 10.255.255.255
 172.16.0.0 a 172.31.255.255
 192.168.0.0 a 192.168.255.255

IPV6
A representação dos endereços IPv6, divide o endereço em oito grupos de 16 bits,
separando-os por “:”, escritos com dígitos hexadecimais (0-F). Por exemplo:
2001:0DB8:AD1F:25E2:CADE:CAFE:F0CA:84C1
Na representação de um endereço IPv6, é permitido utilizar tanto caracteres maiúsculos
quanto minúsculos.
Além disso, regras de abreviação podem ser aplicadas para facilitar a escrita de alguns
endereços muito extensos. É permitido omitir os zeros à esquerda de cada bloco de 16 bits,
além de substituir uma sequência longa de zeros por “::”.
Por exemplo, o endereço 2001:0DB8:0000:0000:130F:0000:0000:140B pode ser escrito
como 2001:DB8:0:0:130F::140B ou 2001:DB8::130F:0:0:140B. Neste exemplo é possível
observar que a abreviação do grupo de zeros só pode ser realizada uma única vez, caso
contrário poderá haver ambiguidades na representação do endereço. Se o endereço acima
fosse escrito como 2001:DB8::130F::140B, não seria possível determinar se ele corresponde a
2001:DB8:0:0:130F:0:0:140B, a 2001:DB8:0:0:0:130F:0:140B ou
2001:DB8:0:130F:0:0:0:140B. Esta abreviação pode ser feita também no fim ou no início do
endereço, como ocorre em 2001:DB8:0:54:0:0:0:0 que pode ser escrito da forma
2001:DB8:0:54::

MUDE SUA VIDA!


alfaconcursos.com.br

SUMÁRIO
ARQUITETURA TCP/IP ........................................................................................................................................ 2
ARQUITETURAS DE PROTOCOLOS PADRONIZADAS ...................................................................................... 2
MODELO DE REFERÊNCIA OSI ........................................................................................................................ 2
CAMADA FÍSICA ......................................................................................................................................... 3
CAMADA DE ENLACE DE DADOS ............................................................................................................... 3
CAMADA DE REDE ..................................................................................................................................... 3
CAMADA DE TRANSPORTE ........................................................................................................................ 3
CAMADA DE SESSÃO.................................................................................................................................. 4
CAMADA DE APRESENTAÇÃO .................................................................................................................... 4
CAMADA DE APLICAÇÃO ........................................................................................................................... 4
ARQUITETURA TCP/IP .................................................................................................................................... 4
CAMADAS DO TCP/IP ................................................................................................................................. 5

MUDE SUA VIDA!


alfaconcursos.com.br

ARQUITETURA TCP/IP
ARQUITETURAS DE PROTOCOLOS PADRONIZADAS
Quando se deseja a comunicação entre computadores de diferentes fabricantes, o
esforço de desenvolvimento de software pode ser um pesadelo. Os diferentes fornecedores
utilizam diversos formatos de dados e protocolos de troca de dados. Até mesmo dentro da
linha de produtos de um fornecedor, computadores de diferentes modelos podem se
comunicar de maneiras exclusivas.
A única alternativa é que os fornecedores de computadores adotem e implementem um
conjunto comum de convenções. Para que isso aconteça, são necessários padrões.
Duas arquiteturas de protocolos serviram como base para o desenvolvimento de
padrões de protocolos interoperáveis: o conjunto de protocolos TCP/IP e o modelo de
referência OSI.
O conjunto de protocolos TCP/IP é, de longe, a arquitetura interoperável mais utilizada.
Já o modelo de referência OSI, embora bem conhecido, nunca sobreviveu à sua promessa
inicial.
Os projetistas do modelo OSI consideraram que esse modelo e os protocolos
desenvolvidos dentro desse modelo viriam a dominar as comunicações de computador. Isso
não aconteceu. Em vez disso, a arquitetura TCP/IP veio a dominar. Existem vários motivos
para esse resultado, um deles é o fato de o modelo OSI ser desnecessariamente complexo, com
sete camadas para realizar o que o TCP/IP faz com menos camadas.
Porém, o modelo OSI, mesmo não sendo utilizado, é muito cobrado em provas de
concursos públicos, portanto, estudaremos de forma bem objetiva o seu funcionamento.

MODELO DE REFERÊNCIA OSI


Esse modelo se baseia em uma proposta desenvolvida pela ISO (International Standards
Organization) como um primeiro passo em direção à padronização internacional dos
protocolos usados nas várias camadas (Day e Zimmermann, 1983). Ele foi revisado em 1995
(Day, 1995).
O modelo se chama Modelo de Referência ISO OSI (Open Systems Interconnection), pois
ele trata da interconexão de sistemas abertos — ou seja, sistemas abertos à comunicação com
outros sistemas. Para abreviar, vamos chamá-lo simplesmente de modelo OSI.
O modelo OSI é composto de sete camadas: física, enlace, rede, transporte, sessão,
apresentação e aplicação.

MUDE SUA VIDA!


alfaconcursos.com.br

O funcionamento da hierarquia em camadas é relativamente simples. Uma camada faz


uso dos serviços da camada diretamente inferior e presta serviços à camada diretamente
superior. Por exemplo, a camada enlace faz uso dos serviços da camada física para enviar os
sinais no meio de transmissão e presta serviços à camada de rede para disponibilizar o enlace
fim a fim.
Quando um dado é transmitido, cada uma das camadas recebe os dados da camada
superior, acrescenta as informações necessárias dessa camada e envia para a camada inferior.
Quando o dado é recebido do outro lado, ocorre o procedimento contrário. Esse processo de
adicionar informações às camadas é chamado de encapsulamento.
Em seguida, discutiremos cada uma das camadas do modelo, começando pela camada
inferior.

CAMADA FÍSICA
Essa camada trata da transmissão do fluxo de bits não estruturado pelo meio físico; lida
com características mecânicas, elétricas, funcionais e de procedimento para acessar o meio
físico.
CAMADA DE ENLACE DE DADOS
Oferece a transferência confiável de informações pelo enlace físico; envia blocos
(quadros) com sincronismo, controle de erro e controle de fluxo necessários.
CAMADA DE REDE
Opera basicamente com endereços de rede, que são globais por natureza, como o
endereço IP. Essa camada é a responsável pelo roteamento dos dados, ou seja, o
encaminhamento dos pacotes pela rede e é completamente independente do meio de
transmissão, garantindo assim o roteamento dos pacotes por redes heterogêneas.
CAMADA DE TRANSPORTE
A função básica da camada de transporte é aceitar dados da camada acima dela, dividi-
los em unidades menores, se for preciso, repassar essas unidades à camada de rede e garantir
que todos os fragmentos chegarão corretamente à outra extremidade, ou seja, é responsável
por realizar a troca de pacotes entre sistemas que estão se comunicando, sem se preocupar
com o roteamento, que é executado pela camada de rede.

MUDE SUA VIDA!


alfaconcursos.com.br

CAMADA DE SESSÃO
Uma das principais funções da camada de sessão é sincronizar o diálogo, ou seja, a
recepção com a transmissão. Essa camada ainda tem a capacidade de recuperar conexões de
transporte sem perder a conexão de sessão.
CAMADA DE APRESENTAÇÃO
A função da camada de apresentação é traduzir formatos e sintaxes, para que possam
ser compreendidos pelos dois subsistemas que estão se comunicando. Outra função executada
nessa camada é a compressão e criptografia dos dados de forma transparente à camada de
aplicação.
CAMADA DE APLICAÇÃO
Essa camada disponibiliza às aplicações os meios para acessar o ambiente de
comunicação realizando, portanto, a interface entre o protocolo de comunicação e o aplicativo
utilizado na rede. Os serviços mais comuns incluem correio eletrônico, transferência de
arquivos e transferência de páginas de internet.

COMPARAÇÃO DO MODELO OSI COM A ARQUITETURA TCP/IP

ARQUITETURA TCP/IP
TCP/IP é um resultado da pesquisa e desenvolvimento de protocolos realizados na rede
experimental de comutação de pacotes, ARPANET, patrocinada pela DARPA. É referenciada
como conjunto de protocolos TCP/IP. Esse conjunto de protocolos consiste em uma grande
coleção de protocolos que foram emitidos como padrões da Internet, pelo Internet Activities
Board (IAB).

MUDE SUA VIDA!


alfaconcursos.com.br

CAMADAS DO TCP/IP
Não há um modelo de protocolo TCP/IP oficial, assim como no caso da OSI. Portanto, o
TCP/IP pode ser descrito com 4 ou 5 camadas.
Modelo organizado em 5 camadas:
 Camada de Aplicação
 Camada de Transporte
 Camada de rede (internet)
 Camada de Enlace (acesso à rede)
 Camada Física

MUDE SUA VIDA!


alfaconcursos.com.br

SUMÁRIO
PILHA DE PROTOCOLOS TCP/IP ......................................................................................................................... 2
MODELO DE CINCO CAMADAS ...................................................................................................................... 2
CAMADA FÍSICA ......................................................................................................................................... 2
CAMADA DE ENLACE ................................................................................................................................. 2
CAMADA DE REDE ..................................................................................................................................... 2
CAMADA DE TRANSPORTE ........................................................................................................................ 2
PROTOCOLO UDP....................................................................................................................................... 3
PROTOCOLO TCP ....................................................................................................................................... 3

MUDE SUA VIDA!


alfaconcursos.com.br

PILHA DE PROTOCOLOS TCP/IP


MODELO DE CINCO CAMADAS

CAMADA FÍSICA
A camada física especifica como transmitir os bits por diferentes tipos de mídia como
sinais elétricos ou sinais luminosos, por exemplo. Sendo assim, a camada física trata da
especificação das características do meio de transmissão, da natureza dos sinais, da taxa de
dados e de questões relacionadas.

CAMADA DE ENLACE
A camada de enlace trata de como enviar mensagens de tamanho definido entre
computadores diretamente conectados, com níveis de confiabilidade especificados. De acordo
com o funcionamento da hierarquia em camadas, a camada de rede depende dos serviços da
camada de enlace. Sendo assim, em cada nó, a camada de rede passa o pacote para a camada de
enlace, que o entrega, ao longo da rota, ao nó seguinte, no qual o pacote é passado da camada
de enlace para a de rede. Os pacotes de camada de enlace são denominados quadros. Ethernet
(802.3) e 802.11 (WI-FI) são exemplos de padrões da camada de enlace.

CAMADA DE REDE
A camada de rede da Internet é responsável pela movimentação, de uma máquina para
outra, de pacotes de camada de rede conhecidos como datagramas. A camada de rede realiza
a função de roteamento que consiste no transporte de datagramas entre redes e na decisão de
qual rota um datagrama deve seguir através da estrutura de rede para chegar ao destino. O
principal protocolo dessa camada é o protocolo IP (Internet Protocol).

CAMADA DE TRANSPORTE
A camada de transporte reúne os protocolos que realizam as funções de transporte de
dados fim a fim, ou seja, considerando apenas a origem e o destino da comunicação, sem se
preocupar com os elementos intermediários. Um pacote de camada de transporte será
denominado segmento.
Os protocolos de transporte são executados nos sistemas finais:
 Lado emissor: quebra as mensagens da aplicação em segmentos e envia para a
camada de rede;
 Lado receptor: remonta os segmentos em mensagens e passa para a camada de
aplicação.
Na camada de transporte encontramos os protocolos UDP (User Datagram Protocol) e
TCP (Transmission Control Protocol).

MUDE SUA VIDA!


alfaconcursos.com.br

PROTOCOLO UDP
O protocolo UDP oferece um serviço não orientado à conexão. Portanto, cada datagrama
enviado pelo usuário é um datagrama UDP independente. Os datagramas de usuário não são
numerados. Além disso, ao contrário do TCP, não há estabelecimento de conexão e não há
finalização da conexão, ou seja, cada datagrama de usuário pode viajar por um caminho
diferente.
O UDP é um protocolo muito simples. Não há controle de fluxo. Sendo assim, o receptor
pode ficar sobrecarregado com as mensagens recebidas. Outra característica do UDP é o fato de
não existir um mecanismo de controle de erros fazendo com que o emissor fique sem saber se
o pacote foi perdido, por exemplo.

PROTOCOLO TCP
O protocolo TCP, ao contrário do UDP, é um protocolo orientado à conexão. Quando um
processo no local A quer enviar e receber dados de outro processo no local B, as três fases
seguintes ocorrem:
1. As duas camadas TCP estabelecem uma conexão lógica entre elas;
2. Os dados são trocados em ambas as direções;
3. A conexão é finalizada.
Perceba que essa é uma conexão lógica, não física. O segmento TCP é encapsulado em um
datagrama IP e pode ser enviado fora de ordem, perdido ou corrompido e depois reenviado.
Cada segmento pode ser encaminhado por um caminho diferente até chegar ao destino. Não há
uma conexão física.

CONEXÃO TCP

O TCP é orientado à conexão. Conforme discutido anteriormente, um protocolo de


transporte orientado à conexão estabelece um caminho lógico entre a origem e o destino. Todos
os segmentos pertencentes a uma mensagem são, então, enviados por meio desse caminho
lógico. O uso de um único caminho lógico para toda a mensagem facilita o processo de
confirmação, bem como a retransmissão de quadros danificados ou perdidos.

CONTROLE DE ERROS

O TCP é um protocolo confiável da camada de transporte. Isso significa que um aplicativo


que entrega um fluxo de dados para o TCP confia no TCP para entregar todo o fluxo para o
aplicativo na outra extremidade de modo ordenado, sem erros e sem qualquer parte perdida
ou duplicada.

O TCP fornece confiabilidade usando controle de erros, que inclui mecanismos para
detectar e reenviar segmentos corrompidos, reenviar segmentos perdidos, armazenar
segmentos fora de ordem até que os segmentos faltantes cheguem e detectar/descartar
segmentos duplicados. O controle de erros no TCP é conseguido por meio do uso de três
ferramentas: soma de verificação (checksum), confirmação e tempo-limite.

MUDE SUA VIDA!


alfaconcursos.com.br

SEGMENTOS FORA DE ORDEM


As implementações atuais do TCP não descartam segmentos fora de ordem. Elas os
armazenam temporariamente e os marcam como segmentos fora da ordem até que os faltantes
cheguem.

Note, no entanto, que os segmentos fora de ordem nunca são entregues ao processo da
camada de aplicação. O TCP garante que os dados sejam enviados ordenadamente para o
processo.

IMPORTANTE - Os dados podem chegar fora de ordem no receptor TCP, mas


o TCP garante que nenhum dado fora de ordem seja entregue ao processo.

MUDE SUA VIDA!


alfaconcursos.com.br

SUMÁRIO
PILHA DE PROTOCOLOS TCP/IP ......................................................................................................................... 2
TABELA COMPARATIVA ................................................................................................................................. 2
CAMADA DE APLICAÇÃO ............................................................................................................................... 2
HTTP (HYPERTEXT TRANSFER PROTOCOL) ................................................................................................ 2
HTTPS (HYPERTEXT TRANSFER PROTOCOL SECURE) ................................................................................. 3
FTP (FILE TRANSFER PROTOCOL) ............................................................................................................... 3

MUDE SUA VIDA!


alfaconcursos.com.br

PILHA DE PROTOCOLOS TCP/IP


TABELA COMPARATIVA
TCP UDP
Orientado à conexão – Os dispositivos Não orientado à conexão – Os dispositivos
envolvidos precisam estabelecer uma envolvidos não precisam estabelecer uma
conexão antes de transmitir dados (com conexão antes de transmitir dados (sem
handshake) handshake)
Confiável – Durante a conexão, cada Não confiável - Não implementa nenhum
entidade registra os segmentos entrando e mecanismo de recuperação de erros.
saindo para outra entidade, a fim de regular o
fluxo de segmentos e recuperar-se de
segmentos perdidos e danificados.
Realiza controle de fluxo Não há controle de fluxo
Mais lento que o UDP Mais rápido que o TCP

CAMADA DE APLICAÇÃO
A camada de aplicação é onde residem aplicações de rede e seus protocolos. Ela inclui
muitos protocolos, tais como o protocolo HTTP (que provê requisição e transferência de
documentos pela Web), o SMTP (que provê transferência de mensagens de correio eletrônico)
e o FTP (que provê a transferência de arquivos entre dois sistemas finais). Denominaremos
esse pacote de informação na camada de aplicação de mensagem.

Os principais protocolos da camada de aplicação TCP/IP são:

HTTP (HYPERTEXT TRANSFER PROTOCOL)


O HTTP utiliza o paradigma cliente-servidor, ou seja, é implementado em dois programas,
permitindo que mensagens com estrutura padronizada sejam trocadas entre o programa
cliente e o programa servidor, que se encontram em sistemas finais distintos (KUROSE e ROSS,
2010).
O programa servidor, conhecido como servidor Web, abriga os objetos dos documentos ou
páginas Web, tais como arquivos HTML (HyperText Markup Language), arquivos CSS
(Cascading Style Sheets), arquivos de script, arquivos de áudio ou vídeo, imagens, entre outros.
Sua função é enviar um determinado documentado para um programa cliente, quando
requisitado por este. Desta forma, os servidores Web implementam o lado servidor do HTTP.
São exemplos de servidores Web o Apache, Nginx e Microsoft Internet Information Server (IIS)
(KUROSE e ROSS, 2010).
O lado cliente do HTTP é implementado pelo navegador (browser). Trata-se de um programa
capaz de requisitar e exibir uma página Web, permitindo que o usuário clique com o mouse nos
itens da página exibida (TANENBAUM, 2003). São exemplos de navegadores o Google Chrome,
o Mozilla Firefox, o Internet Explorer e o Microsoft EDGE. O protocolo HTTP trabalha sobre
o TCP na porta 80.

MUDE SUA VIDA!


alfaconcursos.com.br

HTTPS (HYPERTEXT TRANSFER PROTOCOL SECURE)


É uma implementação do protocolo HTTP sobre uma camada SSL (Secure Sockets Layer)
ou TLS (Transport Layer Security), essa camada adicional permite que os dados sejam
transmitidos através de uma conexão criptografada com o uso de certificação digital. Na prática,
o navegador para alertar o usuário da presença de um certificado SSL/TLS exibe um ícone de
um cadeado ativado ou a coloração verde na barra de navegação. Caso o certificado SSL/TLS
seja o de validação estendida (EV), seu navegador exibe ambos: o cadeado e a barra de
navegação verde.
O certificado EV SSL (Extended Validation Secure Socket Layer) é emitido sob um
processo mais rigoroso de validação do solicitante. Inclui a verificação de que a empresa foi
legalmente registrada, encontra-se ativa e que detém o registro do domínio para o qual o
certificado será emitido, além de dados adicionais, como o endereço físico.
O TLS fornece três serviços primários que ajudam a garantir a segurança dos dados
trocados com ele:
 Autenticação: permite que cada parte da comunicação verifique se a outra parte é
quem eles afirmam ser.
 Criptografia: os dados são criptografados enquanto são transmitidos entre o agente
usuário e o servidor, a fim de evitar que sejam lidos e interpretados por partes não
autorizadas.
 Integridade: o TLS garante que, entre criptografar, transmitir e descriptografar os
dados, nenhuma informação é perdida, danificada, adulterada ou falsificada.
O protocolo HTTPS trabalha sobre o TCP na porta 443.

FTP (FILE TRANSFER PROTOCOL)


Protocolo usado na transferência de arquivos. Porém, é muito importante destacar que
o FTP não é o único protocolo de transferência de arquivos. O HTTP e o FTP são protocolos de
transferência de arquivos e têm muitas características em comum, por exemplo, ambos utilizam
o TCP. Contudo, esses dois protocolos de camada de aplicação têm algumas diferenças
importantes. A mais notável é que o FTP usa duas conexões TCP paralelas para transferir um
arquivo: uma conexão de controle e uma conexão de dados. A primeira é usada para enviar
informações de controle entre os dois hospedeiros – como identificação de usuário, senha,
comandos para trocar diretório remoto e comandos para inserir e pegar arquivos. A conexão
de dados é usada para efetivamente enviar um arquivo.

MUDE SUA VIDA!


alfaconcursos.com.br

SUMÁRIO
PILHA DE PROTOCOLOS TCP/IP ......................................................................................................................... 2
CAMADA DE APLICAÇÃO ............................................................................................................................... 2
TFTP (TRIVIAL FILE TRANSFER PROTOCOL) ................................................................................................ 2
TELNET ....................................................................................................................................................... 2
SSH (SECURE SHELL – ACESSO REMOTO SEGURO) .................................................................................... 2
POP3 (POST OFFICE PROTOCOL, VERSÃO 3) ............................................................................................. 2
IMAP (INTERNET MESSAGE ACCESS PROTOCOL) ...................................................................................... 3
ARQUITETURA DO SISTEMA DE E-MAIL..................................................................................................... 3
WEBMAIL (E-MAIL PELA WEB) ................................................................................................................... 3
SMTP (SIMPLE MAIL TRANSFER PROTOCOL) ............................................................................................. 4
SNMP (SIMPLE NETWORK MANAGEMENT PROTOCOL)............................................................................ 4
DNS (DOMAIN NAME SYSTEM).................................................................................................................. 4

MUDE SUA VIDA!


alfaconcursos.com.br

PILHA DE PROTOCOLOS TCP/IP


CAMADA DE APLICAÇÃO
Os principais protocolos da camada de aplicação TCP/IP são:

TFTP (TRIVIAL FILE TRANSFER PROTOCOL)


O protocolo TFTP é bem mais simples que o FTP. Não existem provisões para controle
de acesso ou identificação do usuário, de modo que o TFTP só é adequado para diretórios de
arquivos de acesso público. Devido à sua simplicidade, o TFTP é implementado de modo fácil e
compacto. O TFTP roda em cima do UDP na porta 69.

TELNET
É um protocolo que oferece uma capacidade de logon remoto, que permite que um
usuário em um terminal ou computador pessoal efetue logon com um computador remoto e
funcione como se estivesse conectado a esse computador. O protocolo Telnet trabalha sobre o
TCP na porta 23.

SSH (SECURE SHELL – ACESSO REMOTO SEGURO)


Diferentemente do protocolo Telnet, o protocolo SSH estabelece conexões de acesso
remoto criptografadas. Trabalha sobre o TCP na porta 22.

POP3 (POST OFFICE PROTOCOL, VERSÃO 3)


O POP3 é um protocolo de recebimento de e-mail, ou seja, sua função é buscar as
mensagens de um servidor. Por ser muito simples, geralmente era utilizado para baixar as
mensagens do servidor, armazená-las no computador do usuário e então excluir a mensagem
original do servidor. Esse protocolo não provê nenhum meio para um usuário criar pastas
remotas e designar mensagens a pastas.

O funcionamento do protocolo POP3 passa por três fases: autorização (a fase de


autorização tem dois comandos principais: user <user name> e pass <password>), transação
e atualização. Durante a primeira fase, autorização, o agente de usuário envia um nome de
usuário e uma senha para autenticar o usuário. Na segunda fase, transação, recupera
mensagens; é também nessa fase que o agente de usuário pode marcar mensagens que devem
ser apagadas, remover essas marcas e obter estatísticas de correio. A terceira fase, atualização,
ocorre após o cliente ter dado o comando quit que encerra a sessão POP3. Nesse momento, o
servidor de correio apaga as mensagens que foram marcadas.

O protocolo POP3 trabalha sobre o TCP na porta 110. No entanto, deve-se usar a porta
995 em conexões criptografadas via SSL (Secure Sockets Layer) ou TSL (Transport Layer
Security).

MUDE SUA VIDA!


alfaconcursos.com.br

IMAP (INTERNET MESSAGE ACCESS PROTOCOL)


É um protocolo de acesso a mensagens eletrônicas. Tem como característica manter as
mensagens no servidor, de modo que elas possam ser acessadas em diferentes dispositivos.
O protocolo IMAP provê comandos que permitem que os usuários criem pastas e
transfiram mensagens de uma para outra. O protocolo também provê comandos que os
usuários podem usar para pesquisar pastas remotas em busca de mensagens que respeitem
critérios específicos.
É importante ressaltar que, ao acessar as contas de e-mail por um software cliente, as
mensagens são armazenadas em cache na máquina local, o que permite visualizá-las no modo
offline ou desconectado. No entanto, as alterações feitas nesse momento não são refletidas no
servidor, ou seja, para excluí-las ou alterá-las, é preciso sempre estar online. Trabalha sobre o
TCP na porta 143. Já em conexões seguras SSL/TLS, a porta de comunicação utilizada é a 993.

ARQUITETURA DO SISTEMA DE E-MAIL


O funcionamento do sistema de e-mail é baseado em alguns componentes importantes.
Os principais componentes desse sistema são: MUA (agente de mensagem do usuário), MTA
(agente de transferência de mensagens) e o protocolo SMTP.
 MUA (Mail User Agent) é uma aplicação ou programa utilizado diretamente pelo
usuário para compor, enviar e ler mensagens. Podemos citar o Microsoft Outlook e
o Mozilla Thunderbird. Os principais protocolos utilizados por esses agentes são o
POP3 e o IMAP.
 MTA (Mail Transfer Agent) o agente de transferência de mensagens é responsável
por enviar e receber e-mails. Informalmente os agentes de transferência de
mensagens são conhecidos como servidores de correio eletrônico. Quando um
usuário envia uma mensagem por meio de um cliente de e-mail (MUA), essa
mensagem será encaminhada para o servidor (MTA) do remetente e, em seguida,
essa mensagem será encaminhada até chegar ao servidor (MTA) do destinatário.
Portanto, é possível que a mensagem passe por vários servidores até chegar ao
servidor do destinatário. É importante destacar que cada usuário de correio
eletrônico tem uma caixa postal localizada em um determinado servidor. A troca de
mensagens entre os agentes de transferência de mensagens (MTA) é realizada por
meio do protocolo SMTP.

WEBMAIL (E-MAIL PELA WEB)


Atualmente, um número cada vez maior de usuários está enviando e acessando e-mails
por meio de seus browsers (navegadores). Esse serviço é conhecido como Webmail. Com esse
serviço, o agente de usuário é um browser comum e o usuário se comunica com a sua caixa
postal remota via HTTP ou HTTPS.

Sendo assim, quando um destinatário de um e-mail quer acessar uma mensagem em sua
caixa postal, o protocolo que será utilizado para transferir a mensagem do servidor para o
browser do usuário será o HTTP/HTTPS, ou seja, acessando e-mails via browsers os protocolos
POP3 e IMAP não serão utilizados pelo agente de usuário. E o SMTP será utilizado pelo browser
para enviar e-mails? Não. O envio da mensagem do browser para o servidor de correio será
realizado pelo HTTP/HTTPS. Contudo, os servidores continuarão trocando mensagens com
outros servidores por meio do protocolo SMTP.

MUDE SUA VIDA!


alfaconcursos.com.br

SMTP (SIMPLE MAIL TRANSFER PROTOCOL)


Conforme já mencionado anteriormente, o protocolo SMTP é utilizado para transferir
mensagens de correio eletrônico do servidor de correio do remetente para o servidor de correio
do destinatário, ou seja, é o protocolo padrão para o envio de e-mails. Trabalha sobre o TCP na
porta 25. Porém, seguindo uma recomendação do Comitê Gestor da Internet (CGI.br) que visa
dificultar a disseminação de spams na internet, a porta 587 passou a substituir a porta 25 nos
programas cliente de e-mails. Além disso, o protocolo SMTP ainda pode utilizar a porta 465
fazendo uso de uma conexão segura SSL (Secure Sockets Layer).

SNMP (SIMPLE NETWORK MANAGEMENT PROTOCOL)


Protocolo de gerenciamento de rede simples (SNMP). É com o protocolo SNMP, que os
administradores podem gerenciar e configurar elementos de rede de um servidor localizado
centralmente em vez de ter que executar o software de gerenciamento de rede.

Também é possível usar o SNMP para monitorar o desempenho da rede, detectar


problemas de rede e acompanhar quem usa a rede e como ela é usada. O SNMP trabalha por
padrão com o protocolo UDP na porta 161.

DNS (DOMAIN NAME SYSTEM)


É um protocolo de camada de aplicação que permite que hospedeiros consultem o banco
de dados distribuído com a finalidade de traduzir nomes de hospedeiro para endereços IP.

O DNS trabalha tipicamente com o protocolo UDP na porta 53, no entanto, em casos
específicos, pode utilizar TCP na mesma porta (53).

Aplicação WEB

Você já parou para pensar o que acontece quando um usuário digita um endereço URL,
como, por exemplo, www.alfaconcursos.com.br no navegador?

Vamos lá:

A máquina do usuário executa o lado cliente da aplicação DNS. Sendo assim, o navegador
extrai o nome do hospedeiro, www.alfaconcursos.com.br, do URL e, em seguida, o cliente DNS
envia uma consulta contendo o nome do hospedeiro para um servidor DNS. Realizada a
consulta, o cliente DNS finalmente recebe uma resposta do servidor DNS, que inclui o endereço
IP correspondente ao nome de hospedeiro, permitindo assim que o navegador possa abrir uma
conexão com o servidor Web que hospeda a página desejada.

Portanto, baseado na utilização do protocolo DNS e no funcionamento de um banco de


dados distribuído implementando uma hierarquia de servidores de nomes (servidores DNS), é
possível acessar conteúdos na Internet conhecendo apenas nomes em vez de números
(endereços IP).

MUDE SUA VIDA!


REDES DE
COMPUTADORES
SUMÁRIO

REDES DE COMPUTADORES������������������������������������������������������������������������������������ 3
TIPOS DE REDES��������������������������������������������������������������������������������������������������������������������������� 3
PAN (PERSONAL AREA NETWORK)�����������������������������������������������������������������������������������������������������������������������������������3
LAN (LOCAL AREA NETWORK)������������������������������������������������������������������������������������������������������������������������������������������3
WLAN (WIRELESS LOCAL AREA NETWORK)��������������������������������������������������������������������������������������������������������������������3
CAN (CAMPUS AREA NETWORK)��������������������������������������������������������������������������������������������������������������������������������������3
MAN (METROPOLITAN AREA NETWORK)��������������������������������������������������������������������������������������������������������������������������3
WAN (WIDE AREA NETWORK)�������������������������������������������������������������������������������������������������������������������������������������������4
MEIOS DE TRANSMISSÃO���������������������������������������������������������������������������������������������������������������� 4
CABO COAXIAL������������������������������������������������������������������������������������������������������������������������������������������������������������������4
REDES DE COMPUTADORES 3

REDES DE COMPUTADORES
Uma rede de computadores é formada por um conjunto de módulos processadores capazes
de trocar informações e compartilhar recursos interligados por um sistema de comunicação.

TIPOS DE REDES
Redes podem ser classificadas de diversas formas diferentes. Uma das mais cobradas em provas
é a classificação quanto à abrangência, ou seja, as redes podem ser classificadas de acordo com o
tamanho da área geográfica que elas abrangem. As classificações mais comuns são:

PAN (PERSONAL AREA NETWORK)


Permite que dispositivos se comuniquem pelo alcance de uma pessoa. Um exemplo comum é
uma rede sem fio que conecta um computador com seus periféricos, usando tecnologia Bluetooth,
ou seja, são redes de curta distância (poucos metros). Alguns autores utilizam o termo WPAN
(Wireless Personal Area Network).

LAN (LOCAL AREA NETWORK)


Mais conhecida como rede local, é o tipo mais comum de rede, abrangendo o espaço de uma
sala, escritório ou mesmo um prédio inteiro. Se a rede ocupar mais de um prédio então ela é maior
do que uma rede local e, portanto, se encaixa em outra classificação. A arquitetura mais popular
deste tipo de rede chama-se Ethernet ou IEEE 802.3.
IMPORTANTE - É possível dividir uma LAN física grande em LANs lógicas menores, conhecidas como VLAN
(Virtual Local Area Network). Com isso, é possível melhorar o desempenho e a segurança de uma determinada
rede. Além disso, a implementação do conceito de VLAN torna o gerenciamento das redes locais mais flexíveis,
levando em consideração o fato de permitir que computadores possam fazer parte de uma ou outra VLAN sem
que seja necessário alterar a organização física da rede.

WLAN (WIRELESS LOCAL AREA NETWORK)


Rede local que utiliza transmissões em radiofrequência. Adota a arquitetura IEEE 802.11,
popularmente conhecida como Wi-Fi.

CAN (CAMPUS AREA NETWORK)


Também chamada rede de campo, é uma rede maior que a rede local, com abrangência de
mais de um prédio – em outras palavras, é composta de pelo menos duas redes locais interligadas.
As redes de universidades, hospitais e de grandes empresas normalmente caem nesta classificação.

MAN (METROPOLITAN AREA NETWORK)


Uma rede metropolitana, abrange uma cidade. Nesse caso, é possível ter computadores loca-
lizados em vários prédios distantes uns dos outros, em bairros diferentes, por exemplo. A conexão
entre diferentes pontos dessa rede, é realizada por meio de linhas de transmissão que transportam
bits entre as máquinas. Elas podem ser formadas por fios de cobre, fibra óptica, ou mesmo enlaces
de radiodifusão. A maioria das empresas não tem linhas de transmissão disponíveis, então elas
4

alugam as linhas de uma empresa de telecomunicações. Porém, em vez de alugar linhas de trans-
missão dedicadas, uma empresa pode conectar seus escritórios à Internet, através de uma técnica
chamada VPN (Virtual Private Network ou rede privada virtual). Essa técnica usa uma rede pública
para ligar dois pontos de uma rede privada fazendo uso de criptografia. Com isso, é possível reduzir
significativamente o custo da conexão, já que não há necessidade de se pagar um aluguel mensal
pela conexão entre as redes.

WAN (WIDE AREA NETWORK)


Abrange uma grande área geográfica, com frequência um país ou continente. Podemos citar
como exemplo uma rede de uma empresa com filiais em diferentes cidades. A conexão dessa rede
também pode ser por meio de linhas de transmissão alugadas, bem como a possibilidade de se
usar a técnica da VPN.

MEIOS DE TRANSMISSÃO
O objetivo da camada física é transmitir um fluxo bruto de bits de uma máquina para outra.
Vários meios físicos podem ser usados para realizar a transmissão real. Cada um tem seu próprio
nicho em termos de largura de banda, atraso, custo e facilidade de instalação e manutenção. Os
meios físicos são agrupados em meios guiados, como fios de cobre e fibras ópticas, e em meios não
guiados (no caso de transmissões sem fio). Vamos começar estudando os meios de transmissão
guiados.

CABO COAXIAL
O cabo coaxial foi um dos primeiros tipos de cabo usados em rede. Ele possui dois fios, sendo
um deles uma malha que envolve o cabo em toda a sua extensão. Essa malha funciona como uma
blindagem, oferecendo uma excelente proteção contra interferências eletromagnéticas.
TIPOS DE CABO COAXIAL
Em redes Ethernet, dois tipos de cabos coaxiais podem ser usados: cabo coaxial fino, também
chamado de 10Base2, e cabo coaxial grosso, também chamado 10Base5. A diferença física entre
esses dois cabos é, obviamente, a espessura do cabo. Por conta dessa diferença, o cabo coaxial
grosso é mais resistente a interferências eletromagnéticas e sofre menos com o problema da ate-
nuação. Com isso, seu comprimento máximo é maior.
CABO COAXIAL FINO (10BASE2)
O cabo coaxial fino é também conhecido por outros nomes, como 10Base2 ou thinnet, tem
taxa máxima de transmissão de 10 Mbps. Além disso, o seu comprimento máximo é de 185 metros
por segmento de rede e possui um limite de 30 máquinas conectadas por segmento de rede. É
possível a ligação de até cinco segmentos por rede (a interligação de segmentos é feita por meio
de um periférico chamado repetidor), fazendo com que uma rede usando esse tipo de cabo possa
ter até 925 metros de comprimento e 150 máquinas.
O tipo de conector utilizado pelo cabo coaxial fino é o BNC. Outra informação importante é
que esse cabo era utilizado tipicamente em redes Ethernet, usando uma topologia conhecida como
topologia barramento (linear).
CABO COAXIAL GROSSO (10BASE5)
O cabo coaxial grosso é também conhecido como thicknet. O seu comprimento máximo é
de 500 metros por segmento de rede, permitindo até 100 máquinas por segmento. É possível a
conexão de até cinco segmentos por rede (a interligação de segmentos é feita por um periférico
REDES DE COMPUTADORES 5

chamado repetidor), fazendo com que uma rede usando este tipo de cabo possa ter até 2,5 km e
500 máquinas.
Sua blindagem é dupla, ao contrário do cabo coaxial fino, que possui apenas uma blindagem. É
por esse motivo que esse tipo de cabo é grosso. Sua taxa de transmissão é de 10 Mbps. Por último,
é importante saber que esse cabo utiliza um conector chamado vampiro.
REDES DE
COMPUTADORES
SUMÁRIO

REDES DE COMPUTADORES������������������������������������������������������������������������������������ 3
PAR TRANÇADO���������������������������������������������������������������������������������������������������������������������������� 3
TIPOS...................................................................................................................................................O PAR TRANÇADO
É O TIPO DE CABO DE REDE MAIS USADO ATUALMENTE. EXISTEM BASICAMENTE DOIS TIPOS DE CABO PAR
TRANÇADO: SEM BLINDAGEM, TAMBÉM CHAMADO UTP (I), E COM BLINDAGEM, TAMBÉM CHAMADO STP (SHIELDED
TWISTED PAIR).�����������������������������������������������������������������������������������������������������������������������������������������������������������������3
UTP (UNSHIELDED TWISTED PAIR)����������������������������������������������������������������������������������������������������������������������������������3
STP (SHIELDED TWISTED PAIR)���������������������������������������������������������������������������������������������������������������������������������������3
REDES DE COMPUTADORES 3

REDES DE COMPUTADORES
PAR TRANÇADO
Um par trançado consiste em dois fios de cobre isolados, arrumados em um padrão espiral regu-
lar. Normalmente, diversos desses pares são reunidos em um cabo, envolvendo-os em uma manta
protetora. Nesse caso, os pares são trançados para resolver o problema da diafonia ou crosstalk.
O que é diafonia?
É a medida da interferência elétrica gerada em par trançado pelo sinal que está trafegando em um par trançado
adjacente dentro do mesmo cabo.
Cabos do tipo par trançado normalmente trazem quatro pares de fios. Em redes de 10 Mbps e
100 Mbps, apenas dois desses pares são usados, um para a transmissão de dados (TD) e outro para
a recepção de dados (RD). Como utilizam canais separados para a transmissão e para a recepção,
é possível utilizar a comunicação full-duplex com esse tipo de cabo. Em redes Gigabit Ethernet (1
Gbps) e 10 Gigabit Ethernet (10 Gbps) os quatro pares são usados simultaneamente de forma a
aumentar a taxa de transferência.

TIPOS O PAR TRANÇADO É O TIPO DE CABO DE REDE MAIS


USADO ATUALMENTE. EXISTEM BASICAMENTE DOIS TIPOS DE CABO
PAR TRANÇADO: SEM BLINDAGEM, TAMBÉM CHAMADO UTP (I), E COM
BLINDAGEM, TAMBÉM CHAMADO STP (SHIELDED TWISTED PAIR).
UTP (UNSHIELDED TWISTED PAIR)
O par trançado sem blindagem é o tipo de cabo mais usado por redes atualmente. Em
redes Ethernet, cabos par trançado sem blindagem são especificados como 10Base-T, 100Base-T,
1000Base-T ou 10GBase-T, dependendo da taxa de transferência máxima suportada (10 Mbps, 100
Mbps, 1 Gbps ou 10 Gbps, respectivamente). O termo “base” indica a transmissão em banda base
e a letra “T indica par trancado (do nome em inglês, twisted pair).

STP (SHIELDED TWISTED PAIR)


O STP é um cabo de par trançado blindado, ou seja, é indicado para ambientes com mais ruídos
e interferências. Internamente, os fios podem ser isolados com uma folha de metal e ainda com
uma trama contornando todos os fios de modo a garantir mais proteção.
4

A nomenclatura dos cabos de par trançado quanto a sua blindagem tem a forma:
X/YTP
na qual:
X = blindagem geral sobre os pares
Y= blindagem individual de cada par
TP = par trançado (twisted pair)
Vamos estudar agora a parte referente à blindagem geral sobre os pares.
X/YTP
Neste caso, podemos citar as seguintes nomenclaturas:
F (Foil screened) para folha metálica.
EX: F/UTP

Blindagem geral
X/YTP
S (Braid screened) para malha metálica.
EX: S/UTP

Blindagem geral
X/YTP
SF para blindagem com folha e malha metálica.
EX: SF/UTP
REDES DE COMPUTADORES 5

Blindagem geral
X/YTP
U (Unshielded) para os que não possuem a blindagem geral.
EX: U/UTP

Vamos estudar agora a parte referente a blindagem individual sobre os pares.


X/YTP
F (Foil) para folha metálica.
EX: F/FTP e U/FTP

Blindagem individual
X/YTP
U (Unshielded) para os que não possuem blindagem individual.
EX: F/UTP
6

Blindagem do cabo de Par Trançado


Para finalizar precisamos entender algo muito importante. Existe a nomenclatura oficial e a
nomenclatura comumente utilizada na indústria. Observe a tabela a seguir:
REDES DE
COMPUTADORES
SUMÁRIO

REDES DE COMPUTADORES������������������������������������������������������������������������������������ 3
CATEGORIAS DO CABO DE PAR TRANÇADO��������������������������������������������������������������������������������������� 3
CONECTORES�������������������������������������������������������������������������������������������������������������������������������� 3
RJ45����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3
CONECTOR TERA / GG45��������������������������������������������������������������������������������������������������������������������������������������������������4
FIBRA ÓPTICA������������������������������������������������������������������������������������������������������������������������������� 4
CLASSIFICAÇÃO����������������������������������������������������������������������������������������������������������������������������������������������������������������4
TIPOS���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������5
CONECTORES��������������������������������������������������������������������������������������������������������������������������������������������������������������������5
REDES DE COMPUTADORES 3

REDES DE COMPUTADORES
CATEGORIAS DO CABO DE PAR TRANÇADO
Agora precisamos entender que os cabos de par trançado são divididos em categorias. Neste
caso, as categorias indicam a qualidade do cabo e a frequência máxima suportada por ele.
Cada categoria é composta por um conjunto de características técnicas e de normas de
fabricação.

CONECTORES
RJ45
4

CONECTOR TERA / GG45

FIBRA ÓPTICA
A fibra óptica transmite informações por meio de sinais luminosos, em vez de sinais elétricos.
Há duas grandes vantagens da fibra óptica em relação aos cabos tradicionais.
• Primeiro: Interferências eletromagnéticas não ocorrem no tráfego da luz, logo a fibra óptica
é totalmente imune a ruídos.
• Segundo: O sinal sofre menos o efeito da atenuação, logo conseguimos ter um cabo de fibra
óptica muito mais longo sem a necessidade de repetidores. A distância máxima de um segmento
do tipo de fibra óptica mais usado é de 2 km (compare com o limite de 185 metros do cabo coaxial
fino e com o limite de 100 metros do par trançado). Há fibras ópticas que permitem um segmento
maior, enquanto outros tipos de fibra óptica possuem um limite menor de distância.
AS FIBRAS ÓPTICAS POSSUEM TRÊS ELEMENTOS:
Núcleo: É o elemento que transmite a luz, podendo ser feito de vidro ou plástico. O material
mais usado em fibras para redes de computadores é o vidro, com diâmetros típicos de 9 μm, 50
μm, 62,5 μm ou 100 μm.
Revestimento: O revestimento envolve o núcleo, possuindo um índice de refração menor do
que o do núcleo para permitir o funcionamento da fibra.
Capa: A capa protege a fibra óptica, possuindo um diâmetro de 250 μm ou de 500 μm.
Dois outros elementos são adicionados quando a fibra óptica é alojada dentro de um cabo: fibras fortalecedo-
ras – que previnem a quebra da fibra óptica durante o seu manuseio e instalação – e o revestimento externo.

CLASSIFICAÇÃO
As fibras ópticas são classificadas de acordo com o diâmetro do núcleo e do revestimento, em
mícron. Assim, uma fibra óptica 50/125 significa que ela possui um núcleo com 50 μm de diâmetro
e um revestimento com 125 μm de diâmetro.
REDES DE COMPUTADORES 5

TIPOS
Existem dois tipos de fibras ópticas: modo múltiplo (MMF, Multiple Mode Fiber) e modo único
(SMF, Single Mode Fiber). Essa classificação diz respeito a como a luz é transmitida por intermédio
da fibra. As fibras de modo múltiplo são mais grossas do que as fibras de modo único.
Fibras de modo múltiplo são normalmente 50/125 ou 62,5/125, enquanto as fibras de modo
único são normalmente 9/125. Como efeito, a luz reflete mais de uma vez nas paredes da fibra
e, com isso, a mesma informação chega várias vezes ao destino, defasada da informação original.
MODO MÚLTIPLO

MODO ÚNICO

Em resumo, as fibras de modo múltiplo são usadas para conexões de curta distância (normal-
mente até 2 km), enquanto as fibras de modo único são usadas para conexões de longa distância
(dezenas de quilômetros).

CONECTORES
Além de existirem vários padrões diferentes para o uso de fibras ópticas em redes Ethernet,
existem diversos tipos de conectores que podem ser usados.
Conector ST Conector SC Conector MTRJ
6
REDES DE
COMPUTADORES
SUMÁRIO

REDES DE COMPUTADORES������������������������������������������������������������������������������������ 3
TOPOLOGIA����������������������������������������������������������������������������������������������������������������������������������� 3
TOPOLOGIA BARRAMENTO������������������������������������������������������������������������������������������������������������������������������������������������3
REDES DE COMPUTADORES 3

REDES DE COMPUTADORES
TOPOLOGIA
Uma topologia descreve a forma com que os computadores em uma rede local estão conec-
tados. Outro ponto importante é que a topologia pode ser física ou lógica. Sendo assim, podemos
definir topologia física como a aparência (layout) da rede, ou seja, como os dispositivos estão
conectados ao meio físico. Já a topologia lógica determina como os dados serão transmitidos por
intermédio da rede.
É importante destacar que não existe uma ligação entre a topologia física e a topologia lógica.
Portanto, é possível que uma mesma rede utilize um tipo de topologia física e outro tipo de topo-
logia lógica.

TOPOLOGIA BARRAMENTO
Neste tipo de topologia, todas as estações ficam diretamente conectadas em um cabo que é o
meio físico compartilhado, ou seja, como todos os computadores estão compartilhando o mesmo
cabo, fica bastante claro que nenhum computador pode usar o cabo enquanto uma comunicação
é efetuada. Uma transmissão de qualquer estação se propaga pela extensão do meio nas duas
direções, e pode ser recebida por todas as outras estações.
A grande desvantagem da topologia barramento que utiliza cabo coaxial é que, se o cabo partir,
todos os computadores deixam de ter acesso à rede. Normalmente não precisa ser um rompimento
visível: basta que o cabo apresente mau contato para a rede deixar de funcionar, por exemplo: mau
contato no conector tipo T.
A inclusão de novas estações no cabo era uma tarefa relativamente simples, bastava incluir
um conector do tipo T no cabo e inserir mais uma estação. Por fim, em cada ponta do barramento
existe um terminador, que absorve qualquer sinal, removendo-o do barramento.
IMPORTANTE: A topologia barramento também é conhecida como topologia linear. Portanto, pode aparecer na
sua prova: topologia barramento ou linear.
REDES DE
COMPUTADORES
SUMÁRIO

REDES DE COMPUTADORES������������������������������������������������������������������������������������ 3
TOPOLOGIA EM ESTRELA��������������������������������������������������������������������������������������������������������������� 3
HUB������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3
PLACA ADAPTADORA DE REDE����������������������������������������������������������������������������������������������������������������������������������������4
ENDEREÇO MAC����������������������������������������������������������������������������������������������������������������������������������������������������������������4
CSMA/CD���������������������������������������������������������������������������������������������������������������������������������������������������������������������������4
REDES DE COMPUTADORES 3

REDES DE COMPUTADORES
TOPOLOGIA EM ESTRELA
Na topologia estrela todos os computadores são conectados a um dispositivo central, que
pode ser um equipamento concentrador, chamado hub, ou um outro equipamento mais moderno,
conhecido como switch.
A grande vantagem da topologia em estrela é a sua flexibilidade. Como ela possui um periférico
concentrador, caso um dos cabos da rede (par trançado) se rompa, apenas a comunicação entre o
periférico concentrador e a máquina na qual o cabo estava conectado será interrompida – a rede
continuará funcionando perfeitamente, ao contrário do que ocorre na topologia barramento, que
utiliza cabo coaxial.
É importante destacar que, se a rede estiver usando um hub, fisicamente, a topologia é em
estrela, e cada computador tem seu próprio cabo interligado ao concentrador. Contudo, como o
hub é um equipamento que trabalha apenas por broadcast – isto é, quando um computador envia
um quadro na rede –, todos os computadores ligados ao hub recebem o mesmo quadro, logo,
podemos concluir que, embora fisicamente a rede seja em estrela, o seu funcionamento lógico é
em barramento. Sendo assim, apenas um computador pode transmitir por vez.

HUB

O hub é um equipamento que trabalha na camada física do modelo OSI. Ele pode ser classificado
como ativo ou passivo. Nesse caso, os hubs ativos são equipamentos que regeneram os sinais que
recebem de suas portas antes de enviá-los para todas as demais portas, e, portanto, necessitam de
alimentação elétrica, funcionando, assim, como repetidores. Já os hubs passivos não regeneram os
sinais, logo, não funcionam como repetidores. Outra característica dos hubs é que eles só operam
no modo half-duplex.
O que é o modo half-duplex?
Quando estudamos transmissão de dados, entendemos que existem três modos de transmis-
são: simplex, half-duplex e full-duplex.
ͫ Simplex: nesse modo de transmissão de dados, um dispositivo é o transmissor e o outro
é o receptor, sendo que esse papel não se inverte, isto é, o dispositivo A é sempre o
transmissor e o B é sempre o receptor, sendo que B não tem como transmitir informações
para o A. Podemos concluir que a transmissão de dados simplex é unidirecional.
4

ͫ Half-duplex: esse modo de transmissão de dados é bidirecional, porém, por compartil-


harem um mesmo canal de comunicação, não é possível transmitir e receber dados ao
mesmo tempo. Dessa forma, tanto o dispositivo A quanto o dispositivo B podem transmitir,
mas um de cada vez, ou seja, não há como os dois transmitirem dados simultaneamente.
ͫ Full-duplex: esse modo de transmissão de dados implementa a verdadeira comunicação
bidirecional, ou seja, A e B podem transmitir e receber dados simultaneamente.
IMPORTANTE: redes de computadores podem transmitir no modo half-duplex ou no modo full-duplex, depen-
dendo de como a rede estiver configurada.

PLACA ADAPTADORA DE REDE


Também conhecida como NIC (network interface card), é responsável pela conexão do com-
putador à rede. Todos os computadores e dispositivos que fazem parte da rede necessitam de uma
placa de rede.

ENDEREÇO MAC
Todo adaptador de rede tem um endereço de camada de enlace gravado em uma memória
presente na própria interface de rede. Um endereço de camada de enlace é também denominado
um endereço de LAN, um endereço físico ou um endereço MAC (media access control – controle
de acesso ao meio). Normalmente, as questões de prova utilizam a expressão endereço MAC.
O endereço MAC tem 6 bytes (48 bits) de comprimento. Estes endereços de 6 bytes são tipi-
camente expressos em notação hexadecimal, com cada byte do endereço expresso como um par
de números hexadecimais. Os endereços MAC são atribuídos às placas de rede pelos fabricantes.
ENDEREÇO MAC
80-2B-F9-23-F7-A9
Estrutura do Endereço MAC
Um endereço MAC no padrão ethernet é constituído por 6 bytes, como visto anteriormente,
sendo os 3 primeiros conhecidos como endereço OUI (organizationally unique identifier). Eles indi-
cam o fabricante (atribuído pelo IEEE), e os 3 últimos são controlados pelo fabricante, identificando
de forma exclusiva cada interface fabricada.

CSMA/CD
REDES DE COMPUTADORES 5

Quando os computadores estão interconectados com um hub, a LAN ethernet é uma verdadeira
LAN de broadcast – isto é, quando um adaptador transmite um quadro, todos os adaptadores na
LAN recebem o quadro. Sendo assim, a ethernet precisa de um protocolo de acesso múltiplo – ela
usa o famoso protocolo CSMA/CD (Carrier Sense Multiple Access with Collision Detection – Pro-
tocolo de acesso múltiplo com detecção de colisão).
Como o protocolo CSMA/CD funciona?
Para o CSMA/CD, um computador que deseja transmitir primeiro escuta o meio para determi-
nar se outra transmissão está em andamento (percepção da portadora – carrier sense). Se o meio
estiver ocioso, o computador pode transmitir.
Pode acontecer de dois ou mais computadores tentarem transmitir ao mesmo tempo. Se isso
acontecer, haverá uma colisão. O procedimento a seguir especifica o que um computador deverá
fazer se o meio estiver ocupado e o que ele deverá fazer se houver uma colisão:
Se o meio estiver ocioso, transmita; caso contrário, vá para a etapa 2.
Se o meio estiver ocupado, continue a escutar até que esteja ocioso, e depois transmita
imediatamente.
Se uma colisão for detectada durante a transmissão, transmita um rápido sinal de colisão para
garantir que todos os computadores saibam que houve uma colisão e, depois, pare de transmitir.
Depois de transmitir o sinal de colisão, espere por um tempo aleatório, conhecido como bac-
koff, em seguida, tente transmitir novamente (repita a partir da etapa 1).
REDES DE
COMPUTADORES
SUMÁRIO

REDES DE COMPUTADORES������������������������������������������������������������������������������������ 3
SWITCH LAYER 2 (CAMADA DOIS)��������������������������������������������������������������������������������������������������� 3
DOMÍNIOS DE COLISÃO�����������������������������������������������������������������������������������������������������������������������������������������������������4
DOMÍNIO DE BROADCAST�������������������������������������������������������������������������������������������������������������������������������������������������4
VIRTUAL LOCAL AREA NETWORK������������������������������������������������������������������������������������������������������������������������������������4
SWITCH LAYER 3 (CAMADA TRÊS)��������������������������������������������������������������������������������������������������� 5
REDES DE COMPUTADORES 3

REDES DE COMPUTADORES
SWITCH LAYER 2 (CAMADA DOIS)
É um equipamento de rede que trabalha na camada de enlace do modelo OSI (camada 2),
ou seja, trabalha analisando o endereço MAC dos adaptadores ligados à rede. Com isso, é possível
transmitir quadros de dados somente para a porta de destino do quadro, ao contrário do hub, no
qual os quadros são transmitidos simultaneamente para todas as suas portas, permitindo, assim,
melhorar o desempenho da rede.

Como funciona a tabela de comutação?


A tabela de comutação contém registros para alguns nós (dispositivos conectados em rede, por
exemplo, computadores) da LAN, mas não necessariamente para todos. Explicando, se o endereço
MAC do quadro for desconhecido pelo switch (se este não souber para qual porta deve entregar o
quadro) ele gera um processo conhecido como inundação (flooding): o quadro é enviado para todas
as portas (menos para a porta de origem do quadro). Podemos concluir que durante o processo de
inundação, o switch opera da mesma forma que o hub.
ATENÇÃO − Outra diferença importante entre hubs e switches é que hubs só operam no modo half-duplex,
enquanto os switches permitem a operação da rede no modo full-duplex.
Aprendizagem automática
Um switch (comutador) tem a capacidade de montar sua tabela de forma automática.
Funciona assim:
ͫ A tabela de comutação está inicialmente vazia.
ͫ Para cada quadro recebido em uma interface, o comutador armazena em sua tabela
inicialmente o endereço MAC que está no campo de endereço de fonte do quadro e, em
seguida, armazena a informação sobre a interface de onde veio o quadro e, por último,
armazena o horário corrente. Dessa maneira, o comutador registra em sua tabela o seg-
mento MAC no qual reside o nó remetente. Se cada nó da LAN finalmente enviar um
quadro, então cada nó será finalmente registrado na tabela. Dessa forma, ao encaminhar
um quadro, o switch verifica se o MAC de destino está na tabela de comutação e, caso
esteja, o switch o encaminha apenas para essa porta listada na tabela. Porém, se o MAC
de destino não estiver registrado na tabela de comutação, o switch realiza o processo de
inundação (flooding) do quadro.
ͫ O comutador apagará um endereço na tabela se nenhum quadro que tenha aquele
endereço como endereço de fonte for recebido após um certo período de tempo (tempo
de envelhecimento). Desse modo, se um computador for substituído por outro computa-
dor (com um adaptador de rede diferente), o endereço MAC do computador original
acabará sendo excluído da tabela de comutação.
4

Para finalizar, observe a imagem a seguir:

Podemos concluir com base nessa imagem que os computadores estão interligados em uma
rede com topologia estrela. Neste caso, o equipamento central é um switch (comutador). Além disso,
é possível observar que na tabela de comutação do switch só consta o endereço MAC de quatro
equipamentos, porém, podemos observar que temos cinco equipamentos interligados ao switch,
logo, caso algum equipamento tente se comunicar com outro equipamento que ainda não conste
na tabela de comutação, o switch terá que realizar o processo de inundação de quadro.

DOMÍNIOS DE COLISÃO
O domínio de colisão é outro ponto que gera uma grande diferença entre o hub e o switch.
Neste caso, o hub só trabalha com um domínio de colisão, ou seja, todas as máquinas funcionam
como se estivessem conectadas a um mesmo cabo (barramento), disputando o seu uso e, portanto,
o desempenho da rede irá diminuir conforme ela for aumentando. Ao contrário do hub, cada porta
do switch corresponde a um domínio de colisão diferente.

DOMÍNIO DE BROADCAST
Não confunda domínio de colisão com domínio de broadcast. Precisamos entender que o
switch cria para cada porta um domínio de colisão diferente, mas o switch continua tendo apenas
um domínio de broadcast, ou seja, quando um quadro de broadcast é enviado para a rede, ele é
replicado em todas as portas do switch (menos na porta que está enviando o quadro para a rede).
Nesse caso, o switch não pode bloquear este tipo de mensagem, do contrário a rede não funciona.
Esse é outro caso em que o switch volta a operar de forma idêntica ao hub.
É possível ampliar a quantidade de portas de um switch conectando suas portas a outros
switches ou hubs. Neste caso, todas as portas de todos os equipamentos continuam pertencendo
a um mesmo domínio de broadcast − isto é, a uma mesma rede.
Em redes grandes, a presença de apenas um domínio de broadcast pode ser um problema,
pois as mensagens de broadcast podem estar deixando a rede lenta. É possível dividir uma rede
em mais de um domínio de broadcast, o que é feito usando-se a técnica de rede virtual (Virtual
Local Area Network ou VLAN).

VIRTUAL LOCAL AREA NETWORK


VLAN é um recurso oferecido por alguns modelos de switches (gerenciáveis) que permitem a
criação de redes separadas. Com isso, é possível dividir uma LAN física relativamente grande possa
em LANs lógicas menores, cada uma com o seu domínio de broadcast próprio.
Os computadores de uma rede virtual conseguem ter comunicação entre si, entretanto, se
a rede utilizar apenas switch layer 2 (L2), os computadores de uma rede virtual não conseguem
trocar dados com computadores de outra rede virtual. Para que computadores de redes virtuais
REDES DE COMPUTADORES 5

diferentes possam se comunicar, é necessário a utilização de um equipamento de interconexão de


redes, nesse caso, pode ser um roteador ou um switch layer 3 (L3).

SWITCH LAYER 3 (CAMADA TRÊS)


Conforme visto anteriormente, tradicionalmente o switch é um equipamento que opera na
camada dois do modelo OSI. Porém, podemos encontrar um modelo de switch que opera nas
camadas dois e três do modelo OSI. Esse equipamento é conhecido como switch multicamada ou
Multi Layer Switch (MLS).
O switch layer 3 (L3) tem a capacidade de criar domínios de broadcast separados em grandes
redes. Além disso, possibilita conectar computadores de redes virtuais diferentes.
É importante destacar que essa conexão entre redes virtuais diferentes também pode ser
realizada por meio de roteadores, sendo que o desempenho do switch L3 nesse caso é superior. Já
a conexão entre uma rede interna (LAN) e uma rede externa (Internet) precisará de um roteador.

REFERÊNCIAS
ROSS, Keith; KUROSE, James. Redes de Computadores e a Internet: Uma nova abordagem. São
Paulo: Pearson Addison Wesley.
TORRES, Gabriel. Redes de Computadores. Clube do Hardware. Disponível em: https://www.
clubedohardware.com.br/livro-redes-de-computadores.
TENENBAUM, Andrew S. Redes de computadores. São Paulo: Campus.
REDES DE
COMPUTADORES
SUMÁRIO

REDES DE COMPUTADORES������������������������������������������������������������������������������������ 3
TOPOLOGIA EM ANEL��������������������������������������������������������������������������������������������������������������������� 3
TOPOLOGIA FÍSICA EM ESTRELA COM TOPOLOGIA LÓGICA EM ANEL����������������������������������������������������������������������������3
INSTITUTO DE ENGENHEIROS ELETRICISTAS E ELETRÔNICOS (IEEE)���������������������������������������������������������������������������4
ARQUITETURA IEEE 802.3������������������������������������������������������������������������������������������������������������������������������������������������4
REDES DE COMPUTADORES 3

REDES DE COMPUTADORES
TOPOLOGIA EM ANEL
A arquitetura Token Ring (ou topologia em anel) foi criada pela IBM para concorrer com a
arquitetura Ethernet e foi padronizada pelo IEEE em seu padrão 802.5. Essa arquitetura adota a
topologia em anel. Nesse caso, os computadores estão conectados em um caminho fechado, ou
seja, consiste em ligações ponto a ponto entre pares de dispositivos que, no seu conjunto, formam
um circuito fechado.
O funcionamento da topologia em anel é baseado no conceito de passagem de ficha, ou seja,
dentro desse anel, circula um quadro chamado token. Nesse caso, cada computador só pode enviar
um quadro de dados para a rede quando o token (ficha) passa pela máquina e quando ele estiver
livre. Dessa forma, podemos afirmar que na topologia em anel não existe o processo de colisão. O
token circula na rede sempre na mesma direção.
Podemos concluir que o processo de transmissão é simples. Quando um computador precisa
enviar um quadro, ele aguarda o token chegar. Quando este chega, o computador deve ainda
verificar se ele está livre ou transportando dados. Se o token estiver livre, o computador muda o
status do token para ocupado e envia junto dele a mensagem desejada, com o endereço MAC da
estação de destino.
Por padrão, quando um computador recebe o token e verifica que a mensagem enviada é
para ele, o computador lê a mensagem e muda o status do token como mensagem lida. A partir
daí, quando a mensagem retornar ao computador que a enviou, como o status do token aparece
como lido, o computador retira a mensagem do anel e altera o status do token para livre, liberando
outros computadores para transmitir.
Como já foi dito, nesse tipo de topologia não existem colisões e a performance da rede depende
de alguns fatores, como o tráfego gerado pelos computadores, a quantidade de máquinas no anel
e a velocidade de transmissão. Redes Token Ring normalmente operam a 4 Mbps ou a 16 Mbps.

TOPOLOGIA FÍSICA EM ESTRELA COM TOPOLOGIA LÓGICA EM ANEL


Neste cenário, os computadores são conectados a um dispositivo concentrador chamado
Multistation Acess Unit (MAU), que funciona de forma semelhante ao hub. Porém, o dispositivo
MAU é específico para redes Token Ring (IEEE 802.5). A diferença básica entre o MAU e o hub é que
o hub transmite para todas as máquinas, já o dispositivo MAU transmite apenas para o próximo
computador. Fisicamente, essa rede utiliza topologia estrela, mas internamente o MAU implementa
o funcionamento em anel lógico.
4

INSTITUTO DE ENGENHEIROS ELETRICISTAS E ELETRÔNICOS (IEEE)


O IEEE é uma organização profissional fundada em 1963 nos Estados Unidos, e atualmente é
conhecida como a maior organização profissional do mundo em número de membros. A pronúncia
da sua sigla é “I-três-E”, variação da pronuncia em inglês. A organização não tem fins lucrativos e
sua meta é fomentar os conhecimentos na área da engenharia elétrica, eletrônica e da computação.
O IEEE tem filiais em diversas partes do mundo, no Brasil inclusive, e uma das funções de bas-
tante destaque é a criação, aprovação e divulgação de normas técnicas no seu campo de atuação
e padrões de dispositivos eletrônicos e computadores.
O Instituto é o responsável pelas normas que são implementadas internacionalmente nas
áreas da Engenharia Elétrica e Informática. Por exemplo, os padrões de redes sem fio ou com fio.

ARQUITETURA IEEE 802.3


ͫ ETHERNET: Padrão de rede cabeada que opera a 10 Mbps.
ͫ FAST ETHERNET: Padrão de rede cabeada que opera a 100 Mbps.
ͫ GIGABIT ETHERNET: Padrão de rede cabeada que opera a 1000 Mbps (1 Gbps).
ͫ 10 GIGABIT ETHERNET: Padrão de rede cabeada que opera a 10000 Mbps (10 Gbps).
REFERÊNCIAS
ROSS, Keith; KUROSE, James. Redes de Computadores e a Internet: Uma nova abordagem. São
Paulo: Pearson Addison Wesley.
TORRES, Gabriel. Redes de Computadores. Clube do Hardware. Disponível em: https://www.clu-
bedohardware.com.br/livro-redes-de-computadores.
TENENBAUM, Andrew S. Redes de computadores. São Paulo: Campus.
REDES DE
COMPUTADORES
SUMÁRIO

REDES DE COMPUTADORES������������������������������������������������������������������������������������ 3
WI-FI������������������������������������������������������������������������������������������������������������������������������������������� 3
IEEE 802.11����������������������������������������������������������������������������������������������������������������������������������� 3
EVOLUÇÃO DOS PADRÕES 802.11�������������������������������������������������������������������������������������������������������������������������������������3
IDENTIFICAÇÃO DA TECNOLOGIA DE DISPOSITIVOS WI-FI���������������������������������������������������������������������������������������������3
CRIPTOGRAFIA������������������������������������������������������������������������������������������������������������������������������ 4
REDES DE COMPUTADORES 3

REDES DE COMPUTADORES
WI-FI
Wi-Fi tornou-se sinônimo de conectividade sem fio. Mas, apesar das infinitas especulações, o
próprio termo não tem sentido. Não é uma abreviação ou um padrão.
Wi-Fi é um nome de marca criado pela empresa de marketing Interbrand para o membro
fundador da Wireless Ethernet Compatibility Alliance (agora chamada Wi-Fi Alliance). O nome foi
criado para uso como selo de interoperabilidade e com finalidade de marketing.
A maneira mais comum de os usuários se conectarem sem fio à Internet é com um roteador
sem fio (Wi-Fi). Normalmente, esses roteadores parecem pequenas caixas com várias antenas para
ajudar a transmitir o sinal por toda a casa ou pelo escritório.
Quanto mais distante o usuário estiver do roteador Wi-Fi, mais fraco será o sinal. Portanto,
geralmente existem vários roteadores sem fio colocados em todo o ambiente de trabalho para
permitir uma cobertura mais abrangente da Internet. O roteador sem fio combina as funções de
rede de um Access Point sem fio e de um roteador.

IEEE 802.11
Do ponto de vista técnico, o padrão IEEE 802.11 define os protocolos que permitem a comu-
nicação com os dispositivos sem fio atuais habilitados por Wi-Fi, incluindo roteadores e Access
points sem fio.
Cada padrão é uma emenda ratificada ao longo do tempo. Os padrões operam em frequências
variadas, oferecem largura de banda distinta e suportam diferentes quantidades de canais.

EVOLUÇÃO DOS PADRÕES 802.11


ͫ 802.11a: Opera com frequência de 5 GHZ e com taxa de transferência de 54 Mbps.
ͫ 802.11b: Opera com frequência de 2,4 GHZ e com taxa de transferência de 11 Mbps.
ͫ 802.11g: Opera com frequência de 2,4 GHZ e com taxa de transferência de 54 Mbps.
ͫ 802.11n: Pode operar com duas frequências diferentes: 2,4 GHZ e 5 GHZ. Nesse padrão,
é possível obter várias taxas de transferências, ou seja, dependendo do índice de mod-
ulação, da largura do canal e da quantidade de antenas. Com isso, esse padrão permite
taxas de 150 Mbps, de 300 Mbps, de 450 Mbps e de 600 Mbps.
ͫ 802.11ac: Opera apenas na frequência de 5GHZ e da mesma forma do padrão anterior,
é possível obter várias taxas de transferências, como, por exemplo, 1,3 Gbps podendo
chegar a 6,9 Gbps.
ͫ 802.11ax (WI-FI 6): Pode operar com duas frequências diferentes: 2,4 GHZ e 5 GHZ. Nesse
padrão, é possível obter taxas de transferências superiores a 10 Gbps.

IDENTIFICAÇÃO DA TECNOLOGIA DE DISPOSITIVOS WI-FI


Para ajudar os usuários a identificar dispositivos que fornecem a mais recente experiência
Wi-Fi, a Wi-Fi Alliance introduziu nomes de gerações simplificados que podem aparecer em nomes
de dispositivos e descrições de produtos. A última geração de dispositivos Wi-Fi, baseada no padrão
4

802.11ax, são conhecidos como dispositivos Wi-Fi 6. A maioria dos dispositivos enviados hoje, com
base no padrão 802.11ac, são identificados como Wi-Fi 5.
Os dispositivos Wi-Fi também podem usar um ícone de interface de usuário (UI) no display para
identificar a geração de uma conexão de rede. Os ícones exibirão um indicador de sinal Wi-Fi e uma
representação numérica da conexão. Os ícones se ajustarão à medida que os usuários se movem
entre redes Wi-Fi que fornecem uma experiência de usuário diferente. Quando um dispositivo de
usuário exibe um ícone indicador de sinal acompanhado do número 6, indicando uma conexão Wi-Fi
6, esse dispositivo está utilizando a versão mais avançada do Wi-Fi disponível.

CRIPTOGRAFIA
Criptografia de LAN sem fio é usada para proteger sua rede sem fio com um protocolo de
autenticação que exige uma senha ou chave de rede quando um usuário ou dispositivo tenta se
conectar. Se sua rede sem fio não está protegida com algum tipo de criptografia, usuários não
autorizados podem acessar sua rede e obter informações pessoais ou usar sua conexão à Internet
para atividades mal-intencionadas. Além disso, sua velocidade de rede ou o desempenho pode
diminuir se as pessoas estão usando sua rede sem o seu conhecimento.
Os principais protocolos criptográficos que podem ser usados em redes Wi-Fi são os seguintes:
ͫ WEP (Wired Equivalent Privacy): não deve ser usado, por conta de sérias falhas de
segurança.
ͫ WPA (Wi-Fi Protected Access): não deve ser usado, pois é um protocolo cuja segurança
também já foi quebrada.
ͫ WPA2 (Wi-Fi Protected Access 2): só deve ser usado caso o ponto de acesso e os com-
putadores não tenham WPA3.
ͫ WPA3 (Wi-Fi Protected Access 3): fornece um método muito mais seguro e confiável e
foi criado para substituir o WPA2 e os protocolos de segurança mais antigos.
REFERÊNCIAS
ROSS, Keith e KUROSE, JAMES. Redes de Computadores e a Internet: Uma nova abordagem,
Ed. Addison Wesley.
TORRES, Gabriel. Redes de Computadores, Ed. Nova Terra.
TENENBAUM, Andrew. S.. Redes de computadores, Ed. Campus.
SISTEMA DE
NUMERAÇÃO
SUMÁRIO

SISTEMA DE NUMERAÇÃO������������������������������������������������������������������������������������� 3
BINÁRIO��������������������������������������������������������������������������������������������������������������������������������������� 3
CONVERSÃO ENTRE BASES NUMÉRICAS�������������������������������������������������������������������������������������������������������������������������3
CONVERSÃO DE DECIMAL PARA BINÁRIO������������������������������������������������������������������������������������������������������������������������3
CONVERSÃO DE BINÁRIO PARA DECIMAL������������������������������������������������������������������������������������������������������������������������4
CONVERSÃO DE DECIMAL PARA HEXADECIMAL�������������������������������������������������������������������������������������������������������������4
CONVERSÃO DE HEXADECIMAL EM DECIMAL�����������������������������������������������������������������������������������������������������������������4
SISTEMA DE NUMERAÇÃO 3

SISTEMA DE NUMERAÇÃO
BINÁRIO
De forma geral, binário é um sistema que utiliza apenas dois valores para representar suas
quantias. É um sistema de base dois. Esses dois valores são o “0” e o “1”. Daí podemos concluir que
para 0 temos desligado, sem sinal, e para 1 temos ligado ou com sinal.
Vale ressaltar que o sistema que utilizamos diariamente é o sistema de base dez, chamado
base decimal. Esse sistema utiliza os algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8, e 9.
Nos computadores, esses zeros e uns são chamados dígitos binários ou somente bit (conjunção
de duas palavras da língua inglesa binary digit), que é a menor unidade de informação dos compu-
tadores. Dessa forma, tanto faz dizer dígito “0” e dígito “1”, ou, bit “0” e bit “1”.

CONVERSÃO ENTRE BASES NUMÉRICAS


Conversão de base numérica é a passagem de um valor de uma base para outra, mantendo o
valor quantitativo, mas alterando a simbologia para se adequar à nova base.
Introdução
Atualmente, é muito comum o uso de bases numéricas derivadas de 2 ao se utilizar compu-
tadores em baixo nível.
O humano está familiarizado com a base 10 (decimal), no dia a dia, já os computadores atuais
trabalham exclusivamente com a base 2 (binário), assim é preciso fazer conversões entre essas bases
quando se pretende inserir algum valor para ser processado pelo computador.
Obviamente que ninguém vai ficar convertendo números para o binário para então digitá-los
na calculadora e depois converter o resultado para decimal para usá-lo. Esse processo de conversão
está, no caso da calculadora, pré-programado para ser realizado por ela, o ponto a ser entendido
aqui é que internamente ela faz tudo em binário, em outras palavras: ela converte o que foi digitado
para binário, faz o cálculo, converte o resultado para decimal e apresenta o resultado.

CONVERSÃO DE DECIMAL PARA BINÁRIO


Para encontrar o número binário correspondente a um número decimal, são realizadas suces-
sivas divisões do número decimal por 2.
Em seguida, o resto da divisão de cada operação é coletado de forma invertida, da última
para a primeira operação de divisão como na figura adiante, na qual foi obtido o número binário
correspondente ao número decimal 25:
4

CONVERSÃO DE BINÁRIO PARA DECIMAL


Para descobrir o número decimal correspondente a um número binário, basta calcular a soma
de cada um dos dígitos do número binário multiplicado por 2 (que é a sua base) elevado à posição
colunar do número, que, da direita para a esquerda começa em 0.
Vejamos uma conversão do número binário que obtivemos na conversão mostrada:

CONVERSÃO DE DECIMAL PARA HEXADECIMAL


A conversão de números decimais para hexadecimais é idêntica à conversão de decimal para
binário, exceto que a divisão deve ser realizada por 16, que é a base do hexadecimal.

CONVERSÃO DE HEXADECIMAL EM DECIMAL


A conversão de números hexadecimais em decimais é realizada através da soma dos dígitos
hexadecimais multiplicados pela base 16 elevada à posição colunar contando da direita para a
esquerda, começando em 0, de forma semelhante à conversão de binários em decimais:

Note que os caracteres que definem os dígitos hexadecimais A, B e C foram substituídos pelos
valores equivalentes em decimais 10, 11 e 12 de acordo com a tabela a seguir.

HEXADECIMAL DECIMAL
A 10
B 11
C 12
D 13
E 14
F 15
MÁSCARA DE
SUB-REDE
SUMÁRIO

MÁSCARA DE SUB-REDE��������������������������������������������������������������������������������������� 3
MÁSCARA DE SUB-REDE 3

MÁSCARA DE SUB-REDE
Um endereço IPV4 é um número de 32 bits. Ele identifica exclusivamente um host (computador
ou outro dispositivo, como uma impressora ou roteador) em uma rede TCP/IP.
Os endereços IP normalmente são expressos em formato decimal pontilhado, com quatro
números separados por pontos, como, por exemplo, 192.168.0.132. Nesse caso, o endereço IPV4
tem duas partes. A primeira parte de um endereço IP é usada como um endereço de rede, a última
parte como um endereço host.
Para definir qual parte do endereço IP irá identificar a rede e qual parte do endereço IP irá
identificar o host, é necessário a configuração de uma máscara de sub-rede.
Vejamos o exemplo a seguir:

Podemos observar que a máscara de sub-rede utilizada na configuração anterior é:


255.255.255.0. Essa configuração está em notação decimal. Entretanto, vamos analisar essa confi-
guração em notação binária. Desse modo, temos:

255.255.255.0 Notação Decimal


11111111.11111111.11111111.00000000 Notação Binária
Nesse caso, os primeiros 24 bits (o número de uns na máscara de sub-rede) são identificados
como o endereço de rede. Os últimos 8 bits (o número de zeros restantes na máscara de sub-rede)
são identificados como o endereço host, ou seja, o endereço 192.168.0.0 é o endereço da rede e
o endereço 192.168.0.132 é o endereço do host.
Além disso, é importante destacar que além da máscara 255.255.255.0, outras duas também
são consideradas máscaras padrão, são elas: 255.255.0.0 e 255.0.0.0.
Vejamos os exemplos a seguir:

255.255.0.0 Notação Decimal


11111111.11111111.00000000.00000000 Notação Binária
4

No exemplo anterior, os primeiros 16 bits (o número de uns na máscara de sub-rede) são identifi-
cados como o endereço de rede. Os últimos 16 bits (o número de zeros restantes na máscara de
sub-rede) são identificados como o endereço host.
Por último, teríamos:

255.0.0.0 Notação Decimal


11111111.00000000.00000000.00000000 Notação Binária
Os primeiros 8 bits (o número de uns na máscara de sub-rede) são identificados como o endereço
de rede. Os últimos 24 bits (o número de zeros restantes na máscara de sub-rede) são identificados
como o endereço host.
MÁSCARA DE
SUB-REDE
SUMÁRIO

MÁSCARA DE SUB-REDE��������������������������������������������������������������������������������������� 3
CLASSES DE ENDEREÇAMENTO IP����������������������������������������������������������������������������������������������������������������������������������3
MÁSCARA DE SUB-REDE PADRÃO��������������������������������������������������������������������������������������������������� 3
ENDEREÇOS IP PÚBLICOS × ENDEREÇOS IP PRIVADOS���������������������������������������������������������������������� 4
NAT (NETWORK ADDRESS TRANSLATION)����������������������������������������������������������������������������������������������������������������������4
MÁSCARA DE SUB-REDE 3

MÁSCARA DE SUB-REDE
CLASSES DE ENDEREÇAMENTO IP
Para facilitar a distribuição dos endereços IPv4, foram especificadas cinco classes de endereço
IP (TORRES, 2009), sendo que três dessas classes (A, B e C) podem ser utilizadas como endereços
de host.
Analisando as três principais classes (A, B e C), podemos verificar o seguinte:
ͫ classe A: Seus endereços começam com números no intervalo de 1 a 126 no primeiro
octeto, em que o primeiro octeto (8 bits) de um endereço IP identifica a rede e os restantes
3 octetos (24 bits) irão identificar um determinado host nessa rede. Exemplo de um
endereço Classe A: 120.2.1.0
IMPORTANTE
Loopback: O endereço 127.0.0.1 é reservado para loopback (na prática, toda a rede, de 127.0.0.0 a 127.255.255.255).
ͫ classe B: Seus endereços começam com números de 128 a 191 no primeiro octeto, em
que os dois primeiros octetos (16 bits) de um endereço IP identificam a rede e os restantes
2 octetos (16 bits) irão identificar um determinado host nessa rede. Exemplo de um
endereço Classe B: 152.13.4.0
ͫ classe C: Seus endereços começam com valores no intervalo 192 a 223, em que os três
primeiros octetos (24 bits) de um endereço IP identificam a rede e o restante octeto (8
bits) irá identificar um determinado host nessa rede. Exemplo de um endereço Classe
C – 192.168.10.0

MÁSCARA DE SUB-REDE PADRÃO


A máscara de sub-rede padrão acompanha a classe do endereço IP: em um endereço de classe
A, a máscara será 255.0.0.0, indicando que o primeiro octeto se refere à rede e os três últimos,
ao host. Em um endereço classe B, a máscara padrão será 255.255.0.0, em que os dois primeiros
octetos se referem à rede e os dois últimos, ao host e, em um endereço classe C, a máscara padrão
será 255.255.255.0, em que apenas o último octeto refere-se ao host.

CLASSE DE ENDEREÇAMENTO MÁSCARA DE SUB-REDE


A 255.0.0.0
B 255.255.0.0
C 255.255.255.0
Resumindo, a partir da máscara de sub-rede, é possível determinar a quantidade máxima de ende-
reços IP em uma mesma rede. Esse cálculo será realizado aplicando a fórmula 2n - 2, onde o “n”
será o número de bits iguais a zero na máscara de sub-rede.
Sendo assim, em redes usando um endereço classe A, podemos ter até 16.777.214 (224 - 2)
endereços diferentes; em redes usando um endereço classe B podemos ter até 65.534 (216 - 2) ende-
reços diferentes e em redes usando um endereço classe C podemos ter até 254 (28 - 2) endereços
diferentes. A subtração por dois é feita porque um endereço é reservado para identificar a rede e
outro é reservado para identificar o endereço de broadcast da rede.
4

ENDEREÇOS IP PÚBLICOS × ENDEREÇOS IP PRIVADOS


Endereços IP podem ser classificados em dois tipos: públicos ou privados. Um endereço IP
público é um endereço IP que é válido na Internet. Uma máquina, para poder estar conectada à
Internet, seja em caráter permanente ou em caráter temporário, precisa ter um endereço IP público.
Quando você se conecta à Internet com o seu computador em casa, sua máquina passa a ter um
endereço público, que é dado à sua máquina pelo seu provedor de acesso.
Já em redes locais, são utilizados endereços IP privados, ou seja, endereços que não funcionam na
Internet: quando um endereço deste tipo chega a um roteador, este bloqueia o pacote de seguir
adiante. Uma faixa de endereçamento em cada classe é reservada para endereços privados. Veja-
mos a tabela a seguir:

Classe Endereços
A 10.0.0.0 a 10.255.255.255
B 172.16.0.0 a 172.31.255.255
C 192.168.0.0 a 192.168.255.255

NAT (NETWORK ADDRESS TRANSLATION)


Para permitir que computadores conectados em rede local possam acessar a Internet, é pos-
sível utilizar uma técnica chamada tradução de endereços ou NAT (Network Address Translation).
Nesse caso, a rede local continua usando endereços privados, mas acessando a Internet por meio
de um único endereço público, que é dado pela operadora de acesso. Ou seja, todas as máquinas da
rede, apesar de estarem configuradas com endereços privados individuais, acessarão a Internet por
meio de um único endereço IP público. Assim, quando pacotes com destino à Internet chegam ao
roteador, ele troca no datagrama IP o endereço IP de origem pelo endereço IP público do roteador.
No caminho inverso, máquinas da Internet enviam datagramas contendo o endereço IP público do
roteador da rede, que troca o endereço IP de destino no datagrama pelo endereço IP da máquina
dentro da rede local e repassa o datagrama para a rede local.
MÁSCARA DE
SUB-REDE
SUMÁRIO

MÁSCARA DE SUB-REDE��������������������������������������������������������������������������������������� 3
MÁSCARAS DE TAMANHO VARIÁVEL (VLSM)������������������������������������������������������������������������������������� 3
MÁSCARA DE SUB-REDE 3

MÁSCARA DE SUB-REDE
MÁSCARAS DE TAMANHO VARIÁVEL (VLSM)
Até agora vimos apenas máscaras de sub-rede padrão. Porém o recurso mais refinado das
máscaras de sub-rede é quebrar um octeto do endereço IP em duas partes, fazendo com que
tenhamos, dentro de um mesmo octeto, uma parte que represente a rede e outra que represente
o host. Chegamos às máscaras de tamanho variável (VLSM – Variable Length Subnet Mask).
Esse recurso é um pouco complicado, mas, em compensação, pouca gente sabe usá-lo, por
isso vale a pena fazer um certo esforço para aprender.
Configurando uma máscara complexa, precisaremos configurar o endereço IP usando números
binários e não decimais.
Vamos lá:
Veja que 0 e 255 são exatamente os números que usamos nas máscaras de sub-rede padrão. O
número decimal 255 (equivalente a 11111111) indica que todos os 8 números binários do octeto se
referem à rede, enquanto o decimal 0 (correspondente a 00000000) indica que todos os 8 binários
do octeto se referem ao host. Numa rede com máscara 255.255.255.0, temos:

Usando uma máscara 255.255.255.0, são reservados todos os 8 bits para o endereçamento dos
hosts, e não sobra nada para diferenciar as duas redes. Usando uma máscara complexa, é possível
“quebrar” os 8 bits do octeto em duas partes, usando a primeira para diferenciar as duas redes e
a segunda para endereçar os hosts.
Para tanto, em vez de usar a máscara de sub-rede 255.255.255.0 que, como vimos, reser-
varia todos os 8 bits do último octeto para o endereçamento do host, usaremos uma máscara
255.255.255.128 (corresponde ao binário 11111111.111111.11111111.10000000). Veja que em uma
máscara de sub-rede, os números binários “1” referem-se à rede e os números “0” referem-se ao
host. Na máscara 255.255.255.128 temos exatamente esta divisão: o primeiro bit do último octeto
é igual a 1 e os sete últimos bits são iguais a 0.
4

A fórmula para determinar o número de endereços IP dentro de cada sub-rede, é 2n - 2, onde


n é o número de bits destinados a parte de host do endereço, ou seja, o número de bits iguais a
zero: 27 - 2.
Portanto, utilizando a máscara de sub-rede 255.255.255.128, o número de endereços IP dis-
poníveis para equipamentos (hosts) em cada sub-rede é igual a 126.
Para finalizar nosso primeiro exemplo, vamos utilizar o endereço de rede 192.168.0.0 com a
máscara 255.255.255.128 (/25 – NOTAÇÃO CIDR).
ͫ Número de sub-redes: para calcular o número de sub-redes, vamos utilizar a fórmula:
2n, onde o n é o número de bits iguais a um no último octeto. Sendo assim, fica: 21 = 2
sub-redes.
ͫ Número de hosts em cada sub-rede: para calcular o número de hosts, vamos utilizar a
fórmula: 2n - 2, onde o n é o número de bits iguais a zero no último octeto. Sendo assim,
fica: 27 - 2 = 126 hosts.
ͫ FAIXA DE ENDEREÇOS EM CADA SUB-REDE

ENDEREÇO DE ENDEREÇOS DE
SUB-REDE ENDEREÇO SUB-REDE
BROADCAST HOST
192.168.0.1 a
1 192.168.0.0 192.168.0.127
192.168.0.126
192.168.0.129 a
2 192.168.0.128 192.168.0.255
192.168.0.254
Exemplo 2
Na máscara 255.255.255.192 temos exatamente esta divisão: os dois primeiros bits do último
octeto são iguais a 1 e os seis últimos bits são iguais a 0.
MÁSCARA DE SUB-REDE 5

Para finalizar nosso exemplo, vamos utilizar o endereço de rede: 192.168.0.0 com a máscara:
255.255.255.192 (/26 - NOTAÇÃO CIDR).
ͫ Número de sub-redes: para calcular o número de sub-redes, vamos utilizar a fórmula:
2n, onde o “n” é o número de bits iguais a um (1) no último octeto. Sendo assim, fica: 22
= 4 sub-redes.
ͫ Número de hosts em cada sub-rede: para calcular o número de hosts, vamos utilizar a
fórmula: 2n-2, onde o “n” é o número de bits iguais a zero no último octeto. Sendo assim,
fica: 26-2 = 62 hosts.
ͫ FAIXA DE ENDEREÇOS EM CADA SUB-REDE

ENDEREÇO DE ENDEREÇOS DE
SUB-REDE ENDEREÇO SUB-REDE
BROADCAST HOST
192.168.0.1 a
1 192.168.0.0 192.168.0.63
192.168.0.62
192.168.0.65 a
2 192.168.0.64 192.168.0.127
192.168.0.126
192.168.0.129 a
3 192.168.0.128 192.168.0.191
192.168.0.190
192.168.0.193 a
4 192.168.0.192 192.168.0.255
192.168.0.254
Exemplo 3
Na máscara 255.255.255.224 temos exatamente esta divisão: os três primeiros bits do último
octeto são iguais a 1 e os cinco últimos bits são iguais a 0.

Para finalizar nosso exemplo, vamos utilizar o endereço de rede: 192.168.0.0 com a máscara:
255.255.255.224 (/27 - NOTAÇÃO CIDR).
ͫ Número de sub-redes: para calcular o número de sub-redes, vamos utilizar a fórmula:
2n, onde o n é o número de bits iguais a um no último octeto. Sendo assim, temos: 23 =
8 sub-redes.
ͫ Número de hosts em cada sub-rede: para calcular o número de hosts, vamos utilizar a
fórmula: 2n - 2, onde o n é o número de bits iguais a zero no último octeto. Sendo assim,
fica: 25 - 2 = 30 hosts.
ͫ FAIXA DE ENDEREÇOS EM CADA SUB-REDE
6

ENDEREÇO DE ENDEREÇOS DE
SUB-REDE ENDEREÇO SUB-REDE
BROADCAST HOST
192.168.0.1 a
1 192.168.0.0 192.168.0.31
192.168.0.30
192.168.0.33 a
2 192.168.0.32 192.168.0.63
192.168.0.62
192.168.0.65 a
3 192.168.0.64 192.168.0.95
192.168.0.94
192.168.0.97 a
4 192.168.0.96 192.168.0.127
192.168.0.126
192.168.0.129 a
5 192.168.0.128 192.168.0.159
192.168.0.158
192.168.0.161 a
6 192.168.0.160 192.168.0.191
192.168.0.190
192.168.0.193 a
7 192.168.0.192 192.168.0.223
192.168.0.222
192.168.0.225 a
8 192.168.0.224 192.168.0.255
192.168.0.254
Exemplo 4
Na máscara 255.255.255.240 temos exatamente esta divisão: os quatro primeiros bits do
último octeto são iguais a 1 e os quatro últimos bits são iguais a 0.

Para finalizar nosso exemplo, vamos utilizar o endereço de rede: 192.168.0.0 com a máscara:
255.255.255.240 (/28 – NOTAÇÃO CIDR).
ͫ Número de sub-redes: para calcular o número de sub-redes, vamos utilizar a fórmula:
2n, onde o n é o número de bits iguais a um no último octeto. Sendo assim, fica: 24 = 16
sub-redes.
ͫ Número de hosts em cada sub-rede: para calcular o número de hosts, vamos utilizar a
fórmula: 2n-2, onde o n é o número de bits iguais a zero no último octeto. Sendo assim,
fica: 24 - 2 = 14 hosts.
MÁSCARA DE SUB-REDE 7

ͫ FAIXA DE ENDEREÇOS EM CADA SUB-REDE

ENDEREÇO DE ENDEREÇOS DE
SUB-REDE ENDEREÇO SUB-REDE
BROADCAST HOST
192.168.0.1 a
1 192.168.0.0 192.168.0.15
192.168.0.14
192.168.0.17 a
2 192.168.0.16 192.168.0.31
192.168.0.30
192.168.0.33 a
3 192.168.0.32 192.168.0.47
192.168.0.46
192.168.0.49 a
4 192.168.0.48 192.168.0.63
192.168.0.62
192.168.0.65 a
5 192.168.0.64 192.168.0.79
192.168.0.78
192.168.0.81 a
6 192.168.0.80 192.168.0.95
192.168.0.94
192.168.0.97 a
7 192.168.0.96 192.168.0.111
192.168.0.110
192.168.0.113 a
8 192.168.0.112 192.168.0.127
192.168.0.126
192.168.0.129 a
9 192.168.0.128 192.168.0.143
192.168.0.142
192.168.0.145 a
10 192.168.0.144 192.168.0.159
192.168.0.158
192.168.0.161 a
11 192.168.0.160 192.168.0.175
192.168.0.174
192.168.0.177 a
12 192.168.0.176 192.168.0.191
192.168.0.190
192.168.0.193 a
13 192.168.0.192 192.168.0.207
192.168.0.206
192.168.0.209 a
14 192.168.0.208 192.168.0.223
192.168.0.222
192.168.0.225 a
15 192.168.0.224 192.168.0.239
192.168.0.238
192.168.0.241 a
16 192.168.0.240 192.168.0.255
192.168.0.254

NOTAÇÕES PARA MÁSCARAS DE SUB-REDE


Podemos expressar Máscaras de sub-rede em notação ponto-decimal como um endereço,
como por exemplo a máscara 255.255.255.0 usada anteriormente, ou ainda usando a notação CIDR
(Classless Inter-Domain Routing), que consiste no primeiro endereço da rede, seguido de uma
barra / e do número de bits (comprimento) do prefixo. Em nosso exemplo anterior, poderíamos
representar o endereço IP mais a sua máscara como 192.168.0.0/24, pois há 24 bits de valor “1”
na máscara de sub-rede utilizada.
COMPUTAÇÃO EM
NUVEM
2

COMPUTAÇÃO EM NUVEM
DEFINIÇÃO
A computação em nuvem é a entrega de recursos de TI sob demanda por meio da Internet com
definição de preço de pagamento conforme o uso. Em vez de comprar, ter e manter datacenters
e servidores físicos, você pode acessar serviços de tecnologia, como capacidade computacional,
armazenamento e bancos de dados, conforme a necessidade, usando um provedor de nuvem,
como, por exemplo, Amazon Web Services (AWS) e Microsoft Azure.
Conceituar computação em nuvem ainda é uma tarefa árdua. São muitas definições e termos
técnicos associados. Procurei aqui trazer as definições mais aceitas:
ͫ “Computação em nuvem é um modelo para permitir acesso ubíquo, conveniente e sob
demanda há um conjunto compartilhado de recursos de computação configuráveis (por
exemplo, redes, servidores, equipamentos de armazenamento, aplicações e serviços), que
podem ser rapidamente alocados e liberados com o mínimo de esforço de gerenciamento
ou interação com prestador de serviço”. NIST.
ͫ “Computação em nuvem é um estilo de computação no qual recursos de TI massiva-
mente escaláveis são disponibilizados sobre a forma de prestação de serviços, por meio
da internet, para múltiplos consumidores externos”. GARTNER.
ͫ “Computação em nuvem é uma plataforma que dinamicamente provê, configura, reconfig-
ura e libera servidores de acordo com a necessidades e que entrega grandes data centers
e potentes servidores nos quais hospeda aplicações e serviços para serem utilizados via
internet”. IBM.
ͫ “Nuvem é um termo utilizado para descrever uma rede global de servidores, cada um com
uma função única. A nuvem não é uma entidade física, mas uma vasta rede de servidores
remotos ao redor do globo que são conectados e operam como um único ecossistema.
Estes servidores são responsáveis por armazenar e gerenciar dados, executar aplicativos
ou fornecer conteúdos ou serviços, como transmissão de vídeos, webmail, software de
produtividade ou mídias sociais. Em vez de acessar arquivos e dados do local ou de um
PC, você pode acessá-los online, de qualquer dispositivo com acesso à Internet. As infor-
mações estarão disponíveis em qualquer lugar, a qualquer hora.” MICROSOFT.
Resumindo, a computação em nuvem é o fornecimento de serviços de computação, incluindo
servidores, armazenamento, bancos de dados, rede, software, análise e inteligência, pela Internet
(“a nuvem”) para oferecer inovações mais rápidas, recursos flexíveis e economias de escala. Você
normalmente paga apenas pelos serviços de nuvem que usa, ajudando a reduzir os custos opera-
cionais, a executar sua infraestrutura com mais eficiência e a escalonar conforme as necessidades
da sua empresa mudam.
NIST: Instituto Nacional de Padrões e Tecnologia do Departamento de Comércio Norte-americano .

PRINCIPAIS BENEFÍCIOS DA COMPUTAÇÃO EM NUVEM


A computação em nuvem é uma grande mudança na forma tradicional de pensamento adotada
pelas empresas sobre os recursos de TI. De acordo com a Microsoft Azure os principais motivos
pelos quais as organizações estão adotando os serviços de computação em nuvem são:
COMPUTAÇÃO EM NUVEM 3

ͫ Custo: computação em nuvem elimina o gasto de capital com a compra de hardware e


software, configuração e execução de datacenters locais, incluindo racks de servidores,
disponibilidade constante de eletricidade para energia e refrigeração, além de especial-
istas de TI para o gerenciamento da infraestrutura. Tudo isso contribui para o alto custo
da computação.
ͫ Velocidade: a maior parte dos serviços de computação em nuvem é fornecida por autoss-
erviço e sob demanda, para que até grandes quantidades de recursos de computação pos-
sam ser provisionadas em minutos, normalmente com apenas alguns cliques, fornecendo
às empresas muita flexibilidade e aliviando a pressão do planejamento de capacidade.
ͫ Escala global: os benefícios dos serviços de computação em nuvem incluem a capacidade
de dimensionamento elástico. Em termos de nuvem, isso significa fornecer a quantidade
adequada de recursos de TI (assim como potência de computação maior ou menor, arma-
zenamento e largura de banda) sempre que necessário e na localização geográfica correta.
ͫ Produtividade: datacenters locais normalmente exigem pilhas de equipamentos e imple-
mentações, tais como configuração de hardware, correção de software e outras tarefas
demoradas de gerenciamento da TI. A computação em nuvem remove a necessidade de
muitas destas tarefas, para que as equipes de TI possam investir seu tempo na obtenção
de suas metas comerciais mais importantes.
ͫ Confiabilidade: a computação em nuvem facilita e reduz os custos de backup de dados,
recuperação de desastre e continuidade dos negócios, já que os dados podem ser espe-
lhados em diversos sites redundantes na rede do provedor em nuvem.
ͫ Segurança: muitos provedores em nuvem oferecem um amplo conjunto de políticas, tec-
nologias e controles que fortalecem sua postura geral de segurança, ajudando a proteger
os dados, os aplicativos e a infraestrutura contra possíveis ameaças.
COMPUTAÇÃO EM
NUVEM
2

COMPUTAÇÃO EM NUVEM
RECURSOS DE COMPUTAÇÃO
MÁQUINA VIRTUAL (VM)
Uma máquina virtual, normalmente reduzida apenas para VM (Virtual Machine), não é diferente
de qualquer outro computador físico, como um laptop, um smartphone ou um servidor. Ela tem
CPU, memória, discos para armazenar seus arquivos e pode se conectar à Internet, se necessário.
Embora as partes que compõem o seu computador (chamadas de hardware) sejam físicas e tangí-
veis, as VMs costumam ser consideradas como computadores virtuais ou computadores definidos
por software em servidores físicos, existindo apenas como código.
Virtualização é o processo de criação de uma versão baseada em software ou “virtual” de um
computador, com quantidades dedicadas de CPU, memória e armazenamento que são “empresta-
das” de um computador host físico – como o seu computador pessoal – e/ou um servidor remoto
– como um servidor no datacenter de um provedor de nuvem.
Uma máquina virtual é um arquivo de computador (normalmente chamado de imagem) que
se comporta como um computador de verdade. Ela pode ser executada em uma janela como um
ambiente computacional separado, geralmente para executar um sistema operacional diferente –
ou até mesmo para funcionar como a experiência completa do computador do usuário – como é
comum nos computadores de trabalho de muitas pessoas.
Embora as máquinas virtuais sejam executadas como computadores individuais com siste-
mas operacionais e aplicativos individuais, elas têm a vantagem de permanecer completamente
independentes umas das outras e do computador host físico. Um software chamado Hipervisor, ou
Virtual Machine Manager, permite que você execute sistemas operacionais diferentes em máquinas
virtuais diferentes ao mesmo tempo. Isso torna possível executar VMs do Linux, por exemplo, em
um sistema operacional Windows, ou executar uma versão anterior do Windows em um sistema
operacional Windows mais atual.

O QUE É HIPERVISOR?
Diversas máquinas virtuais podem ser executadas simultaneamente no mesmo computador
físico, todas gerenciadas por um hipervisor. Um hipervisor é o software que integra o hardware
físico e o hardware virtual da VM. Com isso, o hipervisor garante que cada VM obtenha os recursos
necessários do servidor físico de maneira ordenada e oportuna.
Como as VMs são independentes umas das outras, elas também são extremamente portáteis.
Você pode mover uma VM de um hipervisor para outro hipervisor em um computador completa-
mente diferente quase instantaneamente.
Devido à sua flexibilidade e portabilidade, as máquinas virtuais oferecem muitos benefícios,
como:
Economia de custos: a execução de vários ambientes virtuais por meio de uma única infraestru-
tura significa que você pode reduzir drasticamente o volume ocupado pela infraestrutura física. Isso
aumenta seus resultados, diminuindo a necessidade de manter tantos servidores e economizando
em custos de manutenção e eletricidade.
COMPUTAÇÃO EM NUVEM 3

Agilidade e velocidade: ativar uma VM é relativamente fácil e rápido, e muito mais simples do
que provisionar um ambiente totalmente novo para seus desenvolvedores. A virtualização torna o
processo de execução de cenários de desenvolvimento e teste muito mais rápido.
Tempo de inatividade reduzido: as VMs são muito portáteis e fáceis de passar de um hipervisor
para outro em um computador diferente, o que significa que são uma ótima solução para backup,
caso o host fique inativo inesperadamente.
Escalabilidade: as VMs permitem que você escale seus aplicativos mais facilmente, adicio-
nando mais servidores físicos ou virtuais para distribuir a carga de trabalho entre várias VMs. Como
resultado, você pode aumentar a disponibilidade e o desempenho de seus aplicativos.
Benefícios de segurança: como as máquinas virtuais são executadas em vários sistemas ope-
racionais, o uso de um sistema operacional convidado em uma VM permite que você execute
aplicativos de segurança questionável, protegendo o sistema operacional do host. As VMs também
permitem melhor análise forense de segurança e costumam ser usadas para estudar vírus de com-
putador de maneira segura, isolando-os para evitar o risco de seu computador host.
A máquina virtual é particionada do restante do sistema, o que significa que o software dentro
de uma VM não pode interferir no sistema operacional primário do computador host.
Com a nuvem, você pode ter uma VM pronta para uso em minutos com um custo menor do
que o de um computador físico.
Máquina virtual (VM) não é a única opção de computação – há duas outras opções populares:
contêineres e computação sem servidor.

CONTÊINER
Ao considerar a virtualização, normalmente as pessoas pensam nas VMs (máquinas virtuais).
Na verdade, a virtualização pode assumir muitas formas, e os contêineres são uma delas.
Então, qual é a diferença entre VMs e contêineres?
Ao contrário de um contêiner, uma máquina virtual (VM) executa um sistema operacional
completo, incluindo seu próprio kernel.
Os contêineres fornecem um ambiente leve e isolado que torna os aplicativos mais fáceis de
desenvolver, implantar e gerenciar. Os contêineres iniciam e param rapidamente, tornando-os ideais
para aplicativos que precisam se adaptar rapidamente a demandas que se alteram. A natureza leve
dos contêineres também os torna uma ferramenta útil para aumentar a densidade e a utilização
de sua infraestrutura.
Eles compartilham um sistema operacional instalado no servidor e são executados como
processos isolados de recursos. Isso permite fazer implantações rápidas, confiáveis e consistentes,
independentemente do ambiente.

COMPUTAÇÃO SEM SERVIDOR


A computação sem servidor permite executar o código do aplicativo sem a criação, a con-
figuração ou a manutenção de um servidor. A ideia geral é que seu aplicativo é dividido em fun-
ções separadas que são executadas quando disparadas por alguma ação. Isso é ideal para tarefas
automatizadas – por exemplo, você pode criar um processo sem servidor que envia um e-mail de
confirmação automaticamente depois que um cliente faz uma compra online.
O modelo sem servidor é diferente de VMs e contêineres, pois com ele você paga apenas o
tempo de processamento usado por cada função conforme ela é executada. VMs e contêineres são
cobrados enquanto eles estão em execução – mesmo se os aplicativos neles estão ociosos.
4

Essa arquitetura não funciona para todos os aplicativos, mas quando a lógica do aplicativo
pode ser separada em unidades independentes, você pode testá-las e atualizá-las separadamente
e iniciá-las em microssegundos, o que faz dessa abordagem a opção mais rápida para implantação.
REFERÊNCIAS
https://azure.microsoft.com/pt-br/overview/what-is-a-virtual-machine/#what-benefits
https://docs.microsoft.com/pt-br/virtualization/windowscontainers/about/
https://azure.microsoft.com/pt-br/overview/what-is-a-container/#why-containers
COMPUTAÇÃO EM
NUVEM
2

COMPUTAÇÃO EM NUVEM
MODELOS DE IMPLANTAÇÃO EM NUVEM
Uma forma de classificar a nuvem pode ser feita com base na sua implantação. A nuvem pode
ser implementada e utilizada de maneiras diferentes, dependendo das necessidades de uso e de
negócio. Considerando as formas de implantação, existem quatro categorias distintas, de acordo
com o NIST: nuvem pública, nuvem privada, nuvem comunitária e nuvem híbrida.

NUVEM PÚBLICA
Esse é o modelo de implantação mais comum. Os recursos de nuvem (como servidores e
armazenamento) pertencem a um provedor de serviço de nuvem terceirizado, são operados por
ele e entregues pela Internet. Com uma nuvem pública, todo o hardware, software e outras infraes-
truturas de suporte são de propriedade e gerenciadas pelo provedor de nuvem. Em uma nuvem
pública, você compartilha os mesmos dispositivos de hardware, de armazenamento e de rede com
outras organizações ou “locatários” da nuvem. Você acessa serviços e gerencia sua conta usando
um navegador da Web. As implantações de nuvem pública geralmente são usadas para fornecer
e-mail baseado na Web, aplicativos de escritório online, armazenamento e ambientes de desen-
volvimento e teste.

NUVEM PRIVADA
A infraestrutura de nuvem privada está disponível para uso exclusivo por uma única organi-
zação. Sua utilização, gerenciamento e operação podem ser feitos pela própria organização, por
terceiros ou por uma combinação dos dois. Ela pode estar localizada em suas dependências ou fora.
No entanto, o cliente terá controle sobre sua localização geográfica, o que torna atrativa para dados
ou sistemas com restrições de acesso ou que são de missão crítica. A nuvem privada, portanto, tem
sua elasticidade reduzida. A economia de custos associadas também é menor que a de uma nuvem
pública, mas pode mitigar alguns riscos de segurança.

NUVEM HÍBRIDA
A infraestrutura de nuvem é uma composição de duas ou mais infraestruturas de nuvem
(privada, comunitária ou pública), interligadas por tecnologias padronizadas ou proprietárias que
permitem portabilidade de aplicações e de dados entre as nuvens.
Essa opção permite que alguns aplicativos e dados da organização sejam executados na própria
infraestrutura privada e outros sejam executados na nuvem pública.
Esse modelo pode ser usado de várias formas. Primeiro, ele pode ser usado como uma abor-
dagem de migração para fazer a transição de seus aplicativos e serviços do datacenter privado para
a nuvem pública de forma mais gradual.
A nuvem híbrida também pode ser utilizada para segmentar o trabalho, ou seja, podemos
conectar os dois ambientes com uma rede segura e privada para trocar dados. Dessa forma, parte
dos dados é processada em sua infraestrutura local e privada, e a outra parte é processada na
nuvem pública.
Por fim, a nuvem híbrida pode ser usada para a intermitência de nuvem. Portanto, é possível
empurrar o trabalho para a nuvem pública quando o datacenter interno atingir o limite máximo de
carga de trabalho. Dessa forma, podemos dimensionar e deixar as cargas de trabalho intermitentes
COMPUTAÇÃO EM NUVEM 3

para aproveitar a nuvem pública e quando a carga de trabalho voltar ao normal, retornar aos
recursos internos.

NUVEM COMUNITÁRIA
A infraestrutura de nuvem comunitária está disponível para uso exclusivo de uma comunidade
específica formada por organizações que possuem interesses e preocupações em comum (por
exemplo: requisitos de segurança e conformidade). A sua propriedade, gerenciamento e operação
podem ser de uma ou mais organizações da comunidade, de terceiros ou de uma combinação mista,
e pode estar dentro ou fora das instalações das organizações participantes.

CARACTERÍSTICAS ESSENCIAIS DA NUVEM


Das definições sugeridas, a definição do NIST para computação em nuvem é a mais aceita na
atualidade. Ela também trata das características essenciais da nuvem, descritas a seguir:
ͫ Amplo acesso à rede: os recursos computacionais devem estar disponíveis para serem
acessados via internet e de uma forma padronizada, garantindo assim a possibilidade de
uso através dos mais diversos tipos de dispositivos (smartphones, tablets, computadores
etc.).
ͫ Rápida elasticidade: as funcionalidades computacionais devem ser fornecidas de maneira
rápida e elástica, ou seja, podem crescer ou diminuir rapidamente. O usuário precisa ter
a percepção da existência ilimitada de recursos e que eles podem ser adquiridos quando
ele quiser e na quantidade desejada.
ͫ Serviços mensuráveis: deve haver controle e monitoramento automático dos recursos
utilizados por cada serviço oferecido. Esse monitoramento deve acontecer de forma
transparente, tanto para o provedor quanto para o usuário do serviço.
ͫ Autosserviço sob demanda: capacidade de prover funcionalidades computacionais de
maneira automática, sem que haja necessidade do usuário interagir com o provedor de
serviço.
ͫ Agrupamento de recursos: múltiplos usuários podem fazer uso, concomitantemente,
dos recursos computacionais (físicos ou virtuais) oferecidos pelo provedor. Esses recursos
devem ser alocados e realocados de forma dinâmica de acordo com a necessidade de
cada usuário. Nesse caso, há uma certa independência de localização geográfica, uma
vez que o consumidor em geral não controla ou conhece a localização exata dos recursos
fornecidos (como armazenamento, processamento, memória e comunicação de rede),
mas pode ser capaz de especificar a localização em um nível de abstração mais alto (como
país, estado ou datacenter).
NIST: Instituto Nacional de Padrões e Tecnologia do Departamento de Comércio Norte-Americano
REFERÊNCIAS
https://aws.amazon.com/pt/what-is-cloud-computing/?nc2=h_ql_le_int_cc
https://azure.microsoft.com/pt-br/overview/what-are-private-public-hybrid-clouds/#overview
COMPUTAÇÃO EM
NUVEM
2

COMPUTAÇÃO EM NUVEM
TIPOS DE COMPUTAÇÃO EM NUVEM
Uma possível classificação para a computação em nuvem se baseia no conceito de arquitetura
em camadas hierárquicas, onde os serviços da camada superior são providos pela camada inferior
subsequente.
O NIST define 3 principais categorias de camadas a saber:

INFRAESTRUTURA COMO SERVIÇO (IAAS)


O IaaS contém os componentes básicos da TI na nuvem. Normalmente, o IaaS oferece acesso
a recursos de rede, computadores (virtuais ou em hardware dedicado) e espaço de armazenamento
de dados. O IaaS oferece o mais alto nível de flexibilidade e controle de gerenciamento sobre os
recursos de TI. Ele é o tipo de computação mais semelhante aos recursos existentes de TI, já conhe-
cidos por vários departamentos e desenvolvedores de TI.
Com o IaaS, você não precisa arcar com o custo e a complexidade de comprar e gerenciar os
servidores físicos e a infraestrutura do datacenter. Cada recurso é oferecido como um componente
de serviço separado e você só paga por um recurso específico durante o tempo em que precisa dele.
A organização evita as despesas de capital para armazenamento e a complexidade do gerencia-
mento do armazenamento, que normalmente exige uma equipe qualificada para gerenciar dados e
atender aos requisitos legais e de conformidade. IaaS é útil para lidar com demandas imprevisíveis
e necessidades de armazenamento em crescimento constante. Ela também pode simplificar o
planejamento e o gerenciamento dos sistemas de backup e recuperação.
Com o IaaS, quando você decide lançar um novo produto ou iniciativa, a infraestrutura de
computação necessária fica pronta em minutos ou horas, não em dias ou semanas.
Principais Características:
» em vez de comprar o hardware diretamente, as empresas pagam por IaaS sob
demanda;
» a infraestrutura é escalável dependendo das necessidades de processamento e
armazenamento;
» as empresas economizam com os custos de compra e manutenção de seu próprio
hardware.

PLATAFORMA COMO SERVIÇO (PAAS)


Os recursos fornecidos ao consumidor são linguagens de programação, bibliotecas, serviços e
ferramentas de suporte ao desenvolvimento de aplicações, para que o consumidor possa implantar,
na infraestrutura da nuvem, aplicativos criados ou adquiridos por ele. O consumidor não gerencia
nem controla a infraestrutura subjacente da nuvem (rede, servidores, sistema operacional, banco
de dados ou armazenamento), mas tem controle sobre as aplicações implantadas e possivelmente
sobre as configurações do ambiente que hospeda as aplicações.
Principais Características:
» fornece uma plataforma com ferramentas para testar, desenvolver e hospedar apli-
cativos no mesmo ambiente;
COMPUTAÇÃO EM NUVEM 3

» permite que as organizações se concentrem no desenvolvimento sem precisar se


preocupar com a infraestrutura subjacente;
» os provedores gerenciam a segurança, os sistemas operacionais, o software de ser-
vidor e os backups;
» facilita o trabalho colaborativo mesmo que as equipes trabalhem remotamente.

SOFTWARE COMO SERVIÇO (SAAS)


São as aplicações do fornecedor executadas em uma infraestrutura de nuvem (conforme as
cinco características de computação em nuvem), disponíveis ao consumidor. As aplicações podem
ser acessadas por vários dispositivos clientes, tais como navegador web ou um software cliente. O
consumidor não gerencia nem controla a infraestrutura da nuvem associada ao serviço, incluindo
rede, servidores, sistemas operacionais, armazenamento ou mesmo recursos individuais da apli-
cação. Portanto, o SaaS oferece um produto completo, executado e gerenciado pelo provedor de
serviços.
Um exemplo comum de aplicação do SaaS é o webmail, no qual você pode enviar e receber
e-mails sem precisar gerenciar recursos adicionais para o produto de e-mail ou manter os servidores
e sistemas operacionais no qual o programa de e-mail está sendo executado.
Principais Características:
» os fornecedores SaaS oferecem aos usuários aplicativos em um modelo de assinatura;
» os usuários não precisam gerenciar, instalar ou atualizar o software, os provedores
SaaS gerenciam isso;
» possibilita que o usuário acesse aplicativos e serviços de qualquer local usando um
computador conectado à Internet.
REFERÊNCIAS
https://aws.amazon.com/pt/types-of-cloud-computing/
https://azure.microsoft.com/pt-br/overview/what-is-iaas/
https://azure.microsoft.com/pt-br/overview/what-is-paas/
https://azure.microsoft.com/pt-br/overview/what-is-saas/
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. INTRODUÇÃO......................................................................................................................................... 2
1.1 PROPRIEDADES IMPLÍCITAS: ................................................................................................................ 2
2. SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD) ........................................................................ 3
2.1 O que é SGBD? ..................................................................................................................................... 3
2.1.1 Definir ............................................................................................................................................... 3
2.1.2 CONSTRUIR ....................................................................................................................................... 3
2.1.3 MANIPULAR ...................................................................................................................................... 3
2.1.4 COMPARTILHAR ................................................................................................................................ 3

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. INTRODUÇÃO
O termo banco de dados (do original database) é tão recorrente e amplo que é necessário
começar a nossa aula por ele. Sendo assim, as principais definições são:

 Conjunto de dados integrados que tem por objetivo atender a uma comunidade de
usuários;
 Um banco de dados é uma coleção de dados inter-relacionados, representando
informações sobre um domínio específico;
 Um banco de dados é uma coleção de dados relacionados.

Os dados são fatos que podem ser gravados e que possuem um significado implícito. Por
exemplo, considere nomes, números telefônicos e endereços de pessoas que você conhece.
Esses dados podem ter sido escritos em uma agenda de telefones ou armazenados em um
computador, por meio de programas como o Microsoft Access ou Excel. Essas informações são
uma coleção de dados com um significado implícito, consequentemente, um banco de dados.

A definição de banco de dados, mencionada anteriormente, é muito genérica. Por


exemplo, podemos considerar o conjunto de palavras que formam esta página como dados
relacionados, dessa maneira, constituindo um banco de dados. No entanto, o uso do termo
banco de dados é geralmente mais restrito. Portanto, precisamos observar algumas
propriedades implícitas.

1.1 PROPRIEDADES IMPLÍCITAS:

 Um banco de dados representa alguns aspectos do mundo real, sendo chamado, às


vezes, de minimundo ou de universo de discurso (UoD). As mudanças no minimundo
são refletidas em um banco de dados.

 Um banco de dados é uma coleção lógica e coerente de dados com algum significado
inerente, ou seja, uma organização de dados ao acaso (randômica) não pode ser
corretamente interpretada como um banco de dados.

 Um banco de dados é projetado, construído e povoado por dados, atendendo a uma


proposta específica. Possui um grupo de usuários definido e algumas aplicações
predefinida, de acordo com o interesse desse grupo de usuários.

Em outras palavras, um banco de dados possui algumas fontes das quais os dados são
derivados, alguns níveis de interação com os eventos do mundo real e um público efetivamente
interessado em seus conteúdos. Além disso, podemos destacar outras características
importantes:

 Um banco de dados pode ser de qualquer tamanho e de complexidade variável;

 Um banco de dados pode ser gerado e mantido manualmente ou pode ser


automatizado (computadorizado).

MUDE SUA VIDA!


2
alfaconcursos.com.br

2. SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD)

2.1 O QUE É SGBD?


Um sistema gerenciador de banco de dados (SGBD) é uma coleção de programas que
permite aos usuários criar e manter um banco de dados. Podemos citar como exemplo o
MySQL, o Microsoft Access, o Microsoft SQL Server, o Oracle Database e o dBASE.

O SGBD é um sistema de software de uso geral que facilita o processo de definição, de


construção, de manipulação e de compartilhamento de bancos de dados entre diversos
usuários e aplicações.

2.1.1 DEFINIR

Definir um banco de dados envolve especificar os tipos, estruturas e restrições dos dados
a serem armazenados. A definição ou informação descritiva do banco de dados também é
armazenada pelo SGBD na forma de um catálogo ou dicionário, chamado de metadados.

Na literatura sobre metadados, a definição mais utilizada é a de que metadados


representam "dados sobre dados". Outra definição diz que metadados são dados
estruturados que descrevem as características de uma fonte.

2.1.2 CONSTRUIR

A construção de um banco de dados é o processo de armazenar os dados em alguma mídia


apropriada controlada pelo SGBD.

2.1.3 MANIPULAR

A manipulação inclui algumas funções, como consulta ao banco de dados para recuperar
um dado específico, atualização do banco para refletir as mudanças no minimundo e geração
de relatórios com base nos dados.

2.1.4 COMPARTILHAR

O compartilhamento permite que diversos usuários e programas acessem


simultaneamente o banco de dados.

MUDE SUA VIDA!


3
alfaconcursos.com.br

Outras funções importantes fornecidas pelo SGBD :

 Controle de redundância: um SGBD deve ser capaz de gerenciar os arquivos de


modo a evitar a duplicação de dados que leva a desperdício de espaço de
armazenamento como também a possível inconsistência uma vez que apenas um
dos arquivos possa ser alterado enquanto o outro não.

 Controle de acesso: Um SGBD deve oferecer um subsistema de segurança e


autorização que irá permitir que o DBA possa criar contas de usuários e definir
suas restrições.

 Backup e recuperação: Um SGBD precisa oferecer recursos para recuperar-se de


falhas de hardware ou software. Seu subsistema de backup e recuperação é
responsável por isso.

 Restrições de integridade: A maioria das aplicações de banco de dados possui


certas restrições de integridade que devem ser mantidas para os dados. Um SGBD
deve oferecer capacidades para definir e impor tais restrições.

Referências
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
SILBERSCHATZ. Sistema de Banco de Dados. 5 Ed. Campus, 2006
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


4
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. SISTEMA DE BANCO DE DADOS ............................................................................................................. 2
2. USUÁRIOS DE BANCO DE DADOS .......................................................................................................... 3
2.1 ADMINISTRADORES DE BANCO DE DADOS ......................................................................................... 3
2.2 PROJETISTAS DE BANCO DE DADOS .................................................................................................... 3
2.3 USUÁRIOS FINAIS ................................................................................................................................. 3
2.4 ANALISTAS DE SISTEMAS E PROGRAMAÇÕES DE APLICAÇÕES (ENGENHEIROS DE SOFTWARE)........ 4
3. ARQUITETURA DE TRÊS ESQUEMAS (ANSI/SPARC) ................................................................................... 5
3.1 INDEPENDÊNCIA DE DADOS ................................................................................................................ 6

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. SISTEMA DE BANCO DE DADOS
Um conjunto formado por um banco de dados, um SGBD e as aplicações que o manipulam,
é chamado de sistema de banco de dados.

Por meio de um programa de aplicação é possível conversar com o SGBD e


fazer manipulações e consultas.
Uma consulta normalmente resulta na recuperação de alguns dados; uma
transação pode fazer que alguns dados sejam lidos e outros, gravados no banco de
dados.

MUDE SUA VIDA!


2
alfaconcursos.com.br

2. USUÁRIOS DE BANCO DE DADOS


Para um pequeno banco de dados pessoal, uma pessoa normalmente define, constrói e
manipula o banco de dados, sem compartilhamento. Porém, em grandes organizações, muitas
pessoas estão envolvidas no projeto, no uso e na manutenção de um grande banco de dados,
com centenas de usuários.

2.1 ADMINISTRADORES DE BANCO DE DADOS


Em qualquer organização onde muitas pessoas utilizam os mesmos recursos, há uma
necessidade de um administrador principal para supervisionar e gerenciar tais recursos. Em
um ambiente de bancos de dados, o recurso principal é o próprio banco de dados, e o recurso
secundário é o SGBD e os softwares relacionados. A administração desses recursos é de
responsabilidade do administrador de banco de dados ( DBA – database administrator ). O DBA
é responsável por autorizar o acesso ao banco de dados, coordenar e monitorar seu uso e
adquirir recursos de software e hardware conforme a necessidade. Também é responsável por
problemas como falhas na segurança e demora no tempo de respostas do sistema. Em grandes
organizações, ele é auxiliado por uma equipe que exerce essas funções.

2.2 PROJETISTAS DE BANCO DE DADOS


Os projetistas de banco de dados são responsáveis por identificar os dados a serem
armazenados e escolher estruturas apropriadas para representar e armazenar esses dados.
Essas tarefas são realizadas, principalmente, antes que o banco de dados esteja realmente
implementado e populado com dados. É responsabilidade dos projetistas de banco de dados de
se comunicar com todos os potenciais usuários a fim de entender suas necessidades e criar um
projeto que as atenda. Em muitos casos, os projetistas estão na equipe de DBAs e podem receber
outras responsabilidades após o projeto do banco de dados estar concluído. Os projetistas de
banco de dados normalmente interagem com cada grupo de usuários e desenvolvem visões do
grupo de dados que cumprem os requisitos de dados e processamento desses grupos. O projeto
final do banco de dados precisa ser capaz de atender às necessidades de todos os grupos de
usuários.
2.3 USUÁRIOS FINAIS
Os usuários finais são pessoas cujas funções exigem acesso ao banco de dados para
consultas, atualizações e geração de relatórios. O banco de dados existe primariamente para
atender os usuários finais. Existem várias categorias de usuários finais:

 Usuários finais casuais: ocasionalmente acessam o banco de dados, mas podem


precisar de diferentes informações a cada vez. Utilizam uma linguagem sofisticada
de consulta ao banco de dados para especificar suas necessidades e normalmente
são gerentes de nível intermediário ou alto.

 Usuários Finais iniciantes ou paramétricos: compõem uma grande parte dos


usuários finais do banco de dados. Sua função principal gira em torno de consultar
e atualizar o banco de dados constantemente, usando tipos de padrão de consultas
e atualizações – denominadas transações programadas – que foram
cuidadosamente programadas e testadas. As tarefas que esses usuários realizam são
variadas:

MUDE SUA VIDA!


3
alfaconcursos.com.br

• Caixas de banco verificam saldos de conta e realizam saques, depósitos,


pagamentos etc.
• Agentes de companhias aéreas, hotéis e locadoras de automóveis verificam a
disponibilidade de determinada solicitação e fazem reservas.
• Funcionários nas estações de recebimento de transportadoras inserem
identificações de pacotes por códigos de barra e informações descritivas por meio
de etiquetas para atualizar um banco de dados central de pacotes recebidos e em
trânsito.
 Usuários finais sofisticados: incluem engenheiros, cientistas, analistas de negócios
e outros que estão profundamente familiarizados com as facilidades do SGBD a
ponto de implementar as próprias aplicações para que atendam a suas necessidades
complexas.

 Usuários isolados: mantêm bancos de dados pessoais usando pacotes de


programas prontos, que oferecem interfaces de fácil utilização, baseadas em menus
ou gráficos. Um exemplo é o usuário de um pacote de cálculos de impostos, que
armazena uma série de dados financeiros pessoais para fins de declaração de
impostos.

Um SGBD típico oferece múltiplas facilidades para acessar um banco de dados.


Usuários iniciantes precisam aprender muito pouco sobre as facilidades oferecidas
pelo SGBD; eles simplemente têm de entender as interfaces de usuários das
transações padrão projetadas e implementadas para seu uso. Os usuários casuais
aprendem apenas algumas facilidades que podem usar repetidamente. Usuários
sofisticados tentam aprender a maioria das facilidades do SGBD para satisfazer suas
necessidades complexas. Usuários isolados costumam se tornar especialistas no uso
de um pacote de software específico.

2.4 ANALISTAS DE SISTEMAS E PROGRAMAÇÕES DE APLICAÇÕES


(ENGENHEIROS DE SOFTWARE)
Analistas de sistemas identificam as necessidades dos usuários finais, especialmente os
iniciantes, e definem as especificações das transições padrão que atendam esses usuários. Os
programadores de aplicações implementam essas especificações como programas; depois,
eles testam, depuram, documentam e mantêm essas transações programadas. Esses analistas e
programadores – também conhecidos como engenheiros de software e desenvolvedores de
sistemas de software – devem estar familiarizados com todo o conjunto de capacidades
fornecido pelo SGBD para realizarem suas tarefas.

MUDE SUA VIDA!


4
alfaconcursos.com.br

3. ARQUITETURA DE TRÊS ESQUEMAS (ANSI/SPARC)


O objetivo da arquitetura de três esquemas é separar as aplicações do usuário do banco
de dados físico. Nessa arquitetura, os esquemas podem ser definidos nos três níveis a seguir:

1. O nível interno: tem um esquema interno, que descreve a estrutura do


armazenamento físico do banco de dados. O esquema interno usa um modelo de dados físico e
descreve os detalhes completos do armazenamento de dados e caminhos de acesso para o
banco de dados.

2. O nível conceitual: tem um esquema conceitual, que descreve a estrutura do banco de


dados inteiro para uma comunidade de usuários. O esquema conceitual oculta os detalhes das
estruturas de armazenamento físico e se concentra na descrição de entidades, tipos de dados,
relacionamentos, operações do usuário e restrições. Normalmente, um modelo de dados
representativo é usado para descrever o esquema conceitual quando um sistema de banco de
dados é implementado. Esse esquema conceitual de implementação costuma estar baseado em
um projeto de esquema conceitual em um modelo de dados de alto nível.

3. O nível externo ou de visão: inclui uma série de esquemas externos ou visões do


usuário. Cada esquema externo descreve a parte do banco de dados em que um grupo de
usuários em particular está interessado e oculta o restante do banco de dados do grupo de
usuários. Como no nível anterior, cada esquema externo é comumente implementado usando
um modelo de dados representativo, possivelmente baseado em um projeto de esquema
externo em um modelo de dados de alto nível.

MUDE SUA VIDA!


5
alfaconcursos.com.br

3.1 INDEPENDÊNCIA DE DADOS


 Independência de dados lógica: é a capacidade de alterar o esquema conceitual
sem mudar o esquema externo ou os programas.

 Independência física de dados: é a capacidade de mudar o esquema interno sem


ter de alterar o esquema conceitual.

Referências
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.

MUDE SUA VIDA!


6
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. MODELAGEM DE DADOS ....................................................................................................................... 2
1.1 MODELO CONCEITUAL......................................................................................................................... 2
1.2 MODELO LÓGICO ................................................................................................................................. 2
1.3 MODELO FÍSICO ................................................................................................................................... 3
2. SQL (STRUCTURED QUERY LANGUAGE) ................................................................................................ 3
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) ..................................................................................... 3
2.2 LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML) ............................................................................. 4
DCL (DATA CONTROL LANGUAGE – LINGUAGEM DE CONTROLE DE DADOS) .......................................... 4
DTL (DATA TRANSACTION LANGUAGE – LINGUAGEM DE CONTROLE DE TRANSAÇÕES) ......................... 4

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. MODELAGEM DE DADOS

Uma característica fundamental da abordagem de banco de dados é que ela oferece algum
nível de abstração. A abstração de dados, geralmente, se refere à supressão de detalhes da
organização e armazenamento dos dados, destacando recursos essenciais para um melhor
conhecimento desses dados.

Um modelo de dados é uma coleção de conceitos que podem ser usados para descrever
a estrutura de um banco de dados.

Nesse contexto, o modelo de dados pode ser de alto nível ou de baixo nível. Sendo assim
os modelos de dados são classificados em:
 Modelo conceitual
 Modelo lógico
 Modelo Físico

1.1 MODELO CONCEITUAL

Modelos de dados de alto nível ou conceituais oferecem conceitos que são próximos ao
modo como muitos usuários percebem os dados, ou seja, descreve a estrutura de um banco de
dados de forma independente de um SGBD específico.

Podemos citar como exemplo de modelo de dados conceitual o Modelo Entidade-


Relacionamento que utiliza conceitos como entidades, atributos e relacionamentos.

1.2 MODELO LÓGICO

Modelo de dados que representa a estrutura de dados de um banco de dados conforme o


paradigma que será utilizado. Nesse caso, o modelo pode ser baseado em:

 Modelo Hierárquico: nesse modelo, os dados são organizados similarmente a


organização de pastas do computador, pois foi a primeira construção de uma base
de dados em substituição ao sistema de arquivos, por isso a semelhança. Assim,
quando um dado está ligado ao outro significa que se trata de uma informação
associada a ele. Pode-se dizer que esse modelo trabalha com a forma de uma árvore.
Também é característica do modelo de que cada registro é uma coleção de atributos,
sendo que cada um contém apenas um valor.

 Modelo em Rede: é constituído de vários registros conectados uns aos outros por
meio de ligações (ponteiros). As ligações consistem em relações entre os registros,
esse modelo oferece maior segurança do que o modelo hierárquico uma vez que o
acesso não passa por um nó raiz.

MUDE SUA VIDA!


2
alfaconcursos.com.br

Modelo Relacional: o modelo relacional foi introduzido por Edgar Frank Codd em
1970. Representa os dados em um banco de dados como uma coleção de relações
(tabelas). Sua teoria baseia-se na teoria dos conjuntos e álgebra relacional.

 Modelo Orientado a Objeto: são bancos criados baseados no modo de


programação orientada a objetos, em que são criadas classes que descrevem o
objeto, ou seja, uma classe é um conjunto de informações, características, relações,
ações e atributos que definem o objeto.

1.3 MODELO FÍSICO


Os modelos de dados de baixo nível, também chamados de modelos físicos, oferecem
conceitos que descrevem os detalhes de como os dados são armazenados no computador, ou
seja, são definidas as estruturas de armazenamento interno, organizações de arquivos, índices,
caminhos de acesso e parâmetros físicos do projeto. Esse modelo é dependente do SGBD, em
que será implementado.

2. SQL (STRUCTURED QUERY LANGUAGE)


Para manipulação e consulta de dados, o SGBD fornece recursos e, para que isso ocorra, é
necessária uma linguagem específica. Nesse caso, temos como padrão a linguagem SQL
(linguagem de consulta estruturada) que foi inicialmente desenvolvida pela IBM com o objetivo
de implementar o modelo relacional. A linguagem SQL é dividida em subconjuntos de acordo
com as operações (comandos) que queremos efetuar sobre um banco de dados. Os principais
subconjuntos são:

 DDL
 DML
 DCL
 DTL

2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)


Esse subconjunto possui comandos que possibilitam a criação, a modificação e também a
exclusão de tabelas (relações). Exemplos de comandos DDL:
 CREATE TABLE – comando utilizado para criar tabelas.
• CREATE TABLE <nome da tabela>
(<nome do atributo> <tipo do atributo> [NOT NULL],...,
PRIMARY KEY (<nome do atributo1>, <nome do atributo2>,...)
FOREIGN KEY ( <nome do atributo>) REFERENCES (<nome da tabela>);
PRIMARY KEY: indica os atributos que formam a chave primária;
FOREIGN KEY: indica os atributos que formam a chave estrangeira e o nome
da tabela referida pela chave estrangeira.

 ALTER TABLE – esse comando permite alterar a estrutura de uma tabela já definida.
Pode-se adicionar uma coluna à tabela, modificar ou excluir uma coluna existente,
ou renomear a tabela.

MUDE SUA VIDA!


3
alfaconcursos.com.br

 DROP TABLE – esse comando permite excluir uma tabela do banco de dados.

2.2 LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML)


Esse subconjunto possui comandos que possibilitam a inserção, a atualização e exclusão
de registros em uma tabela. São comandos DML:
 INSERT
 DELETE
 UPDATE
 SELECT

OBSERVAÇÃO:
Algumas literaturas colocam o SELECT como integrante do subconjunto DQL
(Data Query Language – Linguagem de Consulta de Dados).

DCL (DATA CONTROL LANGUAGE – LINGUAGEM DE CONTROLE DE


DADOS)
Os comandos DCL definem as permissões dos usuários, ou seja, o que cada usuário tem
acesso, deste modo, os administradores podem gerenciar os usuários do BD definindo o que
cada usuário pode ou não acessar. Os principais comandos deste grupo são:
 GRANT
 REVOKE

DTL (DATA TRANSACTION LANGUAGE – LINGUAGEM DE CONTROLE DE


TRANSAÇÕES)
Como sempre, é importante lembrar das propriedades essenciais nas transações de um
BD conhecidas como ACID (Atomicidade, Consistência, Isolamento e Durabilidade), deste
modo, para que sejam garantidas são definidos mecanismos para controlar estas transações. Os
principais comandos do conjunto DTL são:
 BEGIN TRANSACTION
 COMMIT
 ROLLBACK
TRANSAÇÃO
Uma transação é um conjunto de procedimentos, executados num banco de dados, que o
usuário percebe como uma única ação.
A integridade de uma transação depende de quatro propriedades, conhecidas como ACID:
 ATOMICIDADE: Todas as ações que compõem a unidade de trabalho da transação
devem ser concluídas com sucesso, para que seja efetivada. Se durante a transação
qualquer ação que constitui unidade de trabalho falhar, a transação inteira deve ser
desfeita (rollback). Quando todas as ações são efetuadas com sucesso, a transação
pode ser efetivada e persistida em banco (commit).

MUDE SUA VIDA!


4
alfaconcursos.com.br

 CONSISTÊNCIA: Todas as regras e restrições definidas no banco de dados devem


ser obedecidas. Relacionamentos por chaves estrangeiras, checagem de valores para
campos restritos ou únicos devem ser obedecidos para que uma transação possa ser
completada com sucesso.
 ISOLAMENTO: cada transação funciona completamente à parte de outras
transações. Todas as operações são parte de uma transação única. O princípio é que
nenhuma outra transação, operando no mesmo sistema, possa interferir no
funcionamento da transação corrente (é um mecanismo de controle). Outras
transações não podem visualizar os resultados parciais das operações de uma
transação em andamento (ainda em respeito à propriedade da atomicidade).
 DURABILIDADE: significa que os resultados de uma transação são permanentes e
podem ser desfeitos somente por uma transação subsequente. Por exemplo: todos
os dados e status relativos a uma transação devem ser armazenados num
repositório permanente, não sendo passíveis de falha por uma falha de hardware.

RESUMO DEPENDÊNCIA
Modelo de dados Modelo SGBD SGBD Específico
Modelo Conceitual NÃO NÃO
Modelo Lógico SIM NÃO
Modelo Físico SIM SIM

Referências
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
ALVES, W. P. Fundamentos de Bancos de Dados. Érica, 2004
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
GILLENSON. M. L. Fundamentos de Sistemas de Gerencia de Banco de Dados. LTC, 2006.
SILBERSCHATZ. Sistema de Banco de Dados. 5 Ed. Campus, 2006
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


5
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. MODELO ENTIDADE-RELACIONAMENTO .............................................................................................. 2
1.1 COMPONENTES DO DIAGRAMA ER (PETER CHEN):............................................................................. 2
2. ENTIDADES............................................................................................................................................. 3
2.1 TIPOS DE ENTIDADES ........................................................................................................................... 3

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. MODELO ENTIDADE-RELACIONAMENTO
O modelo entidade-relacionamento, também conhecido pela sigla MER, é um padrão de
modelagem conceitual com base em objetos criado por Peter Chen em 1976. Esse modelo
trabalha com entidades, atributos e relacionamentos. Nesse caso, os componentes do modelo
entidade-relacionamento são representados graficamente por um Diagrama de Entidade-
Relacionamento, conhecido como DER.

1.1 COMPONENTES DO DIAGRAMA ER (PETER CHEN):


 Retângulos : representam entidades
 Elipses : representam atributos
 Losangos : representam relacionamento
 Linhas : ligam atributos a entidades e entidades a relacionamento.

Representação de atributo

MUDE SUA VIDA!


2
alfaconcursos.com.br

2. ENTIDADES
Entre as conceituações técnicas das diversas áreas da ciência, temos o termo “Entidade”.
Segundo a área de Tecnologia da Informação (CHEN, 1976, p.10) : Uma entidade é uma “coisa”
que pode ser distintamente identificada.

Nesse contexto, exemplificamos com uma entidade livro, carro e pessoa como entidade
concreta, mas podemos encontrar entidades abstratas como disciplina, curso e empréstimo.
Mesmo com essa classificação, a representação continua sendo a mesma.

Uma entidade é capaz de armazenar dados de diversas instâncias daquela entidade. Por
exemplo, a entidade aluno pode armazenar dados de muitos alunos, ou seja, registrar dados de
diversas instâncias. Portanto, uma instância é um indivíduo ilustrativo de uma categoria.

2.1 TIPOS DE ENTIDADES

As entidades podem ser de três tipos: forte, fraca e associativa.

 Entidade Forte: a entidade forte é a mais comum de ser encontrada. Essa entidade
existe independentemente de qualquer outra entidade. Por ser a mais comum,
normalmente a denominamos apenas entidade.

 Entidade Fraca: ao contrário das entidades fortes, as fracas são aquelas que
dependem de outras entidades para existirem, pois individualmente elas não fazem
sentido. Por exemplo, a entidade dependente só existirá se houver instâncias de

MUDE SUA VIDA!


3
alfaconcursos.com.br

funcionários que declarem filhos ou outros entes como dependentes. Assim, a


entidade dependente é fraca, por depender da entidade funcionário.

 Entidade Associativa: também denominada agregação, trata-se de uma abstração


pela qual os relacionamentos são tratados como entidades de nível superior.

Quanto à notação gráfica, temos o retângulo para identificar a entidade forte, o retângulo
com outro retângulo menor em seu interior para identificar a entidade fraca e o retângulo com
um losango em seu interior para indicar a entidade associativa.

Referências
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
ALVES, W. P. Fundamentos de Bancos de Dados. Érica, 2004
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
GILLENSON. M. L. Fundamentos de Sistemas de Gerencia de Banco de Dados. LTC, 2006.
SILBERSCHATZ. Sistema de Banco de Dados. 5 Ed. Campus, 2006
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


4
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. MODELO ENTIDADE-RELACIONAMENTO .............................................................................................. 2
1.1 TIPOS DE ATRIBUTOS ........................................................................................................................... 2
1.1.1 ATRIBUTO-CHAVE ............................................................................................................................. 2
1.1.2 ATRIBUTO SIMPLES........................................................................................................................... 3
1.1.3 ATRIBUTO COMPOSTO ..................................................................................................................... 3
1.1.4 ATRIBUTO MULTIVALORADO ........................................................................................................... 3
1.1.5 ATRIBUTO DERIVADO ....................................................................................................................... 3
1.1.6 ATRIBUTOS EM RELACIONAMENTOS ............................................................................................... 4
1.1.7 VALORES NULOS DE ATRIBUTOS ...................................................................................................... 4

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. MODELO ENTIDADE-RELACIONAMENTO

O modelo de entidade-relacionamento (MER) fornece a opção de descrever a entidade, ou


seja, podemos inferir que o conceito de atributo é sinônimo de característica da entidade.
Muitos autores o definem como uma característica ou propriedade da entidade. Por exemplo, a
entidade Veículo pode ser descrita pelos seguintes atributos: Número chassi, modelo, cor, ano
de fabricação.

1.1 TIPOS DE ATRIBUTOS


Os atributos podem ser de vários tipos: atributo-chave, atributo simples, atributo
composto, atributo multivalorado, atributo derivado.

1.1.1 ATRIBUTO-CHAVE
Dentre os atributos de uma entidade, devemos indicar um atributo identificador, que é
comumente chamado de atributo-chave. Esse atributo identificará cada instância dentro da
entidade. Por exemplo, na entidade Veículo, o atributo cor indica a cor do veículo. Sendo assim,
a instância do veículo de chassi de número 10112 apresenta o texto “Azul” para o atributo cor;
a instância do veículo de chassi de número 12456 apresenta o texto “Vermelho” para o atributo
cor; a instância do veículo de chassi de número 13290 apresenta o texto “branco” para o
atributo cor.

Observa-se que a cor do veículo apenas caracteriza, ou seja, descreve os veículos em


questão. Como uma cor pode se repetir para muitas instâncias da entidade veículo, não é
possível identificar um veículo apenas a partir da sua cor. Por outro lado, o número do chassi é
único, identificando um veículo específico. Por isso, o atributo número do chassi da entidade
veículo pode ser considerado um atributo-chave.

Às vezes, um único atributo não é capaz de identificar exclusivamente uma instância


dentro de uma entidade. Nesse caso, vários atributos juntos formam um atributo-chave
composto, significando que a combinação dos valores de atributo deve ser distinta para cada
instância da entidade.

Diferentemente do modelo relacional, não existe o conceito de chave primária


no modelo entidade-relacionamento. A chave primária será escolhida durante o
mapeamento para um esquema relacional. (ELMASRI, R.; NAVATHE, S., 2011, p.
138).

MUDE SUA VIDA!


2
alfaconcursos.com.br

1.1.2 ATRIBUTO SIMPLES


Também conhecido como atributo atômico. Nesse caso, esses atributos são indivisíveis.
Ex: CPF, CNPJ e Número do cliente.

1.1.3 ATRIBUTO COMPOSTO


É formado por itens menores, ou seja, pode ser subdividido em outros atributos.

Ex: Endereço

1.1.4 ATRIBUTO MULTIVALORADO


É um atributo que possui um conjunto de valores para uma mesma instância da entidade.
No diagrama entidade-relacionamento (DER), um atributo multivalorado é representado por
uma elipse com contorno em linha dupla. Ex: Telefone.

1.1.5 ATRIBUTO DERIVADO


São atributos cujos valores devem ser obtidos após algum processamento utilizando
informações obtidas do próprio banco de dados.
Ex:
Idade = Data_Atual - Data_Nascimento

Nesse caso, idade é um atributo derivado porque é derivado do atributo data_nascimento.


No diagrama entidade-relacionamento (DER), um atributo derivado é representado por uma
elipse com contorno em linha tracejada.

MUDE SUA VIDA!


3
alfaconcursos.com.br

1.1.6 ATRIBUTOS EM RELACIONAMENTOS


Os relacionamentos podem ter atributos, eles não são exclusivamente propriedades das
entidades. No exemplo a seguir, temos que o professor ministra disciplinas e há um horário
específico que não é exclusivo do professor nem da disciplina. O atributo horário informa a hora
em que o professor ministra a disciplina, ou seja, quando ele exerce seu papel.

1.1.7 VALORES NULOS DE ATRIBUTOS


Algumas vezes pode acontecer de um atributo não possuir valor. Nesses casos, atribui-se
um valor nulo (null) para esse atributo.

Ex: Apartamento = null para aquelas pessoas que não residem em um prédio.
Além disso, o valor null pode ser aplicado também para denotar que o valor é
desconhecido.

Sumário da Notação do Diagrama Entidade-Relacionamento (DER)

Referências
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
SILBERSCHATZ. Sistema de Banco de Dados. 5 Ed. Campus, 2006
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


4
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. GENERALIZAÇÃO/ESPECIALIZAÇÃO ....................................................................................................... 2
2. RELACIONAMENTOS .............................................................................................................................. 2
2.1 GRAU DE RELACIONAMENTO .............................................................................................................. 3
2.1.1 RELACIONAMENTO UNÁRIO (AUTORRELACIONAMENTO)............................................................... 3
2.1.2 RELACIONAMENTO BINÁRIO ............................................................................................................ 3
2.1.3 RELACIONAMENTO TERNÁRIO ......................................................................................................... 4

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. GENERALIZAÇÃO/ESPECIALIZAÇÃO
Existem muitos casos práticos em que um conjunto de entidades representa elementos
do mundo real que se subdividem em entidades especializadas com atributos parcialmente
distintos.

A entidade genérica possui os atributos comuns às entidades especializadas. Cada


entidade especializada possui, além de suas próprias propriedades (atributos, relacionamentos
e generalizações/especializações), também as propriedades da ocorrência da entidade
genérica correspondente.

A generalização/especialização pode ser classificada em dois tipos: Total ou Parcial

 Total: quando para cada ocorrência da entidade genérica existe sempre uma
ocorrência em uma das entidades especializadas.
 Parcial: quando há ocorrências na entidade genérica sem correspondência nas
entidades especializadas.

2. RELACIONAMENTOS

As relações entre uma ou mais entidades são fundamentais dentro de um modelo de


dados, pois modelam a dinâmica do negócio associada ao sistema de informação. Daí o termo
relacionamento estar presente inclusive na composição do nome da técnica utilizada para
modelagem de dados: Modelo Entidade-Relacionamento (MER).

Uma ocorrência de relação entre as instâncias de uma ou mais entidades é denominada


instância de relacionamento ou ocorrência de relacionamento (TEOREY, 1990). As instâncias
de relacionamentos retratam associações reais do mundo de negócios.

No MER, não é permitido ligar uma entidade diretamente à outra, ou seja, quando há uma
associação, ela é representada por um relacionamento. O relacionamento no diagrama
entidade-relacionamento é apresentado na forma de um losango e, para a associação entre
entidades, deve-se seguir a notação básica, que são entidades ligadas ao relacionamento por
linhas retas, como mostra a figura a seguir.

MUDE SUA VIDA!


2
alfaconcursos.com.br

2.1 GRAU DE RELACIONAMENTO

O indicador grau informa a quantidade de entidades envolvidas em um relacionamento.


O menor grau é um (unário), ou seja, uma entidade envolvida, caracterizando um
relacionamento recursivo entre instâncias de si mesma. Esse relacionamento também é
chamado de autorrelacionamento. Um relacionamento de grau dois é aquele que envolve
instâncias de duas entidades diferentes. Nesse caso, um relacionamento de grau dois é chamado
de binário. É possível encontrar relacionamentos com grau superior a dois, por exemplo, o
relacionamento ternário que envolve instâncias de três entidades diferentes.

2.1.1 RELACIONAMENTO UNÁRIO (AUTORRELACIONAMENTO)

2.1.2 RELACIONAMENTO BINÁRIO

MUDE SUA VIDA!


3
alfaconcursos.com.br

2.1.3 RELACIONAMENTO TERNÁRIO

Referências
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
ALVES, W. P. Fundamentos de Bancos de Dados. Érica, 2004
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
GILLENSON. M. L. Fundamentos de Sistemas de Gerencia de Banco de Dados. LTC, 2006.
SILBERSCHATZ. Sistema de Banco de Dados. 5 Ed. Campus, 2006
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


4
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. RESTRIÇÕES SOBRE TIPOS DE RELACIONAMENTOS .............................................................................. 2
1.1 RAZÕES DE CARDINALIDADE PARA RELACIONAMENTOS BINÁRIOS (CARDINALIDADE MÁXIMA)...... 2
1.1.1 UM PARA UM (1:1) ........................................................................................................................... 2
1.1.2 UM PARA MUITOS (1:N) ................................................................................................................... 2
1.1.3 MUITOS PARA UM (N:1) ................................................................................................................... 3
1.1.4 MUITOS PARA MUITOS (N:N) ........................................................................................................... 3

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. RESTRIÇÕES SOBRE TIPOS DE RELACIONAMENTOS

Os tipos de relacionamentos costumam ter certas restrições que limitam as combinações


de entidades que podem participar no conjunto de relacionamentos correspondente. Essas
restrições são determinadas com base na situação do minimundo que os relacionamentos
representam. Podemos distinguir dois tipos principais de restrições de relacionamento binário:
razão de cardinalidade e participação.

1.1 RAZÕES DE CARDINALIDADE PARA RELACIONAMENTOS BINÁRIOS


(CARDINALIDADE MÁXIMA)

A razão de cardinalidade para um relacionamento binário especifica o número máximo


de instâncias de relacionamento em que uma entidade pode participar. Há na literatura
menções a quatro razões de cardinalidade possíveis para tipos de relacionamentos binários:
um para um (1:1), um para muitos (1:N), muitos para um (N:1) e muitos para muitos
(N:N). É importante destacar que a razão muitos para um (N:1) é a leitura inversa da razão um
para muitos (1:N), sendo assim, a maioria dos autores acaba por excluí-la da tipologia.

1.1.1 UM PARA UM (1:1)

Esse relacionamento indica que uma instância de uma entidade só pode estar relacionada
a no máximo a uma instância de outra entidade e vice-versa. Por exemplo, um professor só
pode ministrar uma única disciplina, enquanto a disciplina só pode ser ministrada por um único
professor.

1.1.2 UM PARA MUITOS (1:N)

Em um relacionamento um para muitos (1:N), uma instância de uma entidade pode estar
relacionada a múltiplas instâncias da outra entidade, mas a recíproca não é verdadeira. Por
exemplo, no caso do relacionamento entre professor e disciplina, pode ocorrer de um professor
ministrar várias disciplinas, mas cada disciplina ser ministrada somente por um professor.

MUDE SUA VIDA!


2
alfaconcursos.com.br

1.1.3 MUITOS PARA UM (N:1)

Podemos encontrar a situação inversa, em que a disciplina pode ser ministrada por mais
de um professor, mas, por sua vez, o professor leciona somente uma disciplina.

1.1.4 MUITOS PARA MUITOS (N:N)

E seguimos para o último caso, em que a cardinalidade é de muitos para muitos. Assim,
temos que um professor ministra mais de uma disciplina e uma disciplina pode ser ministrada
por mais de um professor.

Referências
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
ALVES, W. P. Fundamentos de Bancos de Dados. Érica, 2004
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
GILLENSON. M. L. Fundamentos de Sistemas de Gerencia de Banco de Dados. LTC, 2006.
SILBERSCHATZ. Sistema de Banco de Dados. 5 Ed. Campus, 2006
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


3
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. RESTRIÇÕES DE PARTICIPAÇÃO E DEPENDÊNCIAS DE EXISTÊNCIA (CARDINALIDADE MÍNIMA)........... 2
1.1 NOTAÇÃO (MIN, MAX)......................................................................................................................... 2
1.1.2 CARDINALIDADE 1:1 ......................................................................................................................... 2

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. RESTRIÇÕES DE PARTICIPAÇÃO E DEPENDÊNCIAS DE
EXISTÊNCIA (CARDINALIDADE MÍNIMA)

A restrição de participação especifica se a existência de uma entidade depende dela


estar relacionada a outra entidade por meio do tipo de relacionamento. Essa restrição
especifica o número mínimo de instâncias de relacionamento em que cada entidade pode
participar, e às vezes é chamada de restrição de cardinalidade mínima.

Existem dois tipos de restrições de participação:

 Parcial (0)  Relacionamento opcional.


 Total (1)  Relacionamento obrigatório.

No diagrama entidade-relacionamento, a restrição de participação pode ser representada


por uma linha simples ou por uma linha dupla. Nesse caso, a linha simples indica
relacionamento opcional e a linha dupla indica relacionamento obrigatório.

1.1 NOTAÇÃO (MIN, MAX)


A notação (min, max) permite representar a participação e a cardinalidade, ou seja, essa
notação utiliza dois valores entre parênteses para representar as cardinalidades mínima e
máxima, como nos exemplos abaixo:
1.1.2 CARDINALIDADE 1:1
Exemplo 1

 Entidade professor (Cardinalidade mínima 0, Cardinalidade máxima 1)

 Entidade disciplina (Cardinalidade mínima 0, Cardinalidade máxima 1)

MUDE SUA VIDA!


2
alfaconcursos.com.br

Exemplo 2

 Entidade professor (Cardinalidade mínima 0, Cardinalidade máxima 1)

 Entidade disciplina (Cardinalidade mínima 1, Cardinalidade máxima 1)

Exemplo 2 (representação equivalente)

Referências
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
ALVES, W. P. Fundamentos de Bancos de Dados. Érica, 2004
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
GILLENSON. M. L. Fundamentos de Sistemas de Gerencia de Banco de Dados. LTC, 2006.
SILBERSCHATZ. Sistema de Banco de Dados. 5 Ed. Campus, 2006
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


3
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. RESTRIÇÕES DE PARTICIPAÇÃO E DEPENDÊNCIA DE EXISTÊNCIA (CARDINALIDADE MÍNIMA) ............ 2
1.1 NOTAÇÃO (MIN, MAX)......................................................................................................................... 2
1.1.2 CARDINALIDADE 1:1 ......................................................................................................................... 2
1.1.3 CARDINALIDADE 1:N ......................................................................................................................... 3

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. RESTRIÇÕES DE PARTICIPAÇÃO E DEPENDÊNCIA DE
EXISTÊNCIA (CARDINALIDADE MÍNIMA)

A restrição de participação especifica se a existência de uma entidade depende dela


estar relacionada a outra entidade por meio do tipo de relacionamento. Essa restrição
especifica o número mínimo de instâncias de relacionamento em que cada entidade pode
participar, e às vezes é chamada de restrição de cardinalidade mínima.

Existem dois tipos de restrições de participação:

 Parcial (0)  Relacionamento opcional.


 Total (1)  Relacionamento obrigatório.

No diagrama entidade-relacionamento, a restrição de participação pode ser representada


por uma linha simples ou por uma linha dupla. Nesse caso, a linha simples indica
relacionamento opcional e a linha dupla indica relacionamento obrigatório.

1.1 NOTAÇÃO (MIN, MAX)


A notação (min, max) permite representar a participação e a cardinalidade, ou seja, essa
notação utiliza dois valores entre parênteses para representar as cardinalidades mínima e
máxima, como nos exemplos abaixo:
1.1.2 CARDINALIDADE 1:1
Exemplo 1

 Entidade professor (Cardinalidade mínima 1, Cardinalidade máxima 1)

 Entidade disciplina (Cardinalidade mínima 0, Cardinalidade máxima 1)

MUDE SUA VIDA!


2
alfaconcursos.com.br

Exemplo 2

 Entidade professor (Cardinalidade mínima 1, Cardinalidade máxima 1)

 Entidade disciplina (Cardinalidade mínima 1, Cardinalidade máxima 1)

1.1.3 CARDINALIDADE 1:N

Exemplo 1

 Entidade professor (Cardinalidade mínima 0, Cardinalidade máxima N)

 Entidade disciplina (Cardinalidade mínima 0, Cardinalidade máxima 1)

Exemplo 2

 Entidade professor (Cardinalidade mínima 0, Cardinalidade máxima N)

 Entidade disciplina (Cardinalidade mínima 1, Cardinalidade máxima 1)

MUDE SUA VIDA!


3
alfaconcursos.com.br

Exemplo 3

 Entidade professor (Cardinalidade mínima 1, Cardinalidade máxima N)

 Entidade disciplina (Cardinalidade mínima 1, Cardinalidade máxima 1)

Referências
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
ALVES, W. P. Fundamentos de Bancos de Dados. Érica, 2004
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
GILLENSON. M. L. Fundamentos de Sistemas de Gerencia de Banco de Dados. LTC, 2006.
SILBERSCHATZ. Sistema de Banco de Dados. 5 Ed. Campus, 2006
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


4
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. RESTRIÇÕES DE PARTICIPAÇÃO E DEPENDÊNCIA DE EXISTÊNCIA (CARDINALIDADE MÍNIMA) ............ 2
1.1 NOTAÇÃO (MIN, MAX)......................................................................................................................... 2
1.1.2 CARDINALIDADE N:N ........................................................................................................................ 2
2. OUTRAS NOTAÇÕES ............................................................................................................................... 3
2.1 ENGENHARIA DA INFORMAÇÃO (PÉ-DE-GALINHA) ....................................................................... 3

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. RESTRIÇÕES DE PARTICIPAÇÃO E DEPENDÊNCIA DE
EXISTÊNCIA (CARDINALIDADE MÍNIMA)

A restrição de participação especifica se a existência de uma entidade depende dela


estar relacionada a outra entidade por meio do tipo de relacionamento. Essa restrição
especifica o número mínimo de instâncias de relacionamento em que cada entidade pode
participar, e às vezes é chamada de restrição de cardinalidade mínima.

Existem dois tipos de restrições de participação:

 Parcial (0)  Relacionamento opcional.


 Total (1)  Relacionamento obrigatório.

No diagrama entidade-relacionamento, a restrição de participação pode ser representada


por uma linha simples ou por uma linha dupla. Nesse caso, a linha simples indica
relacionamento opcional e a linha dupla indica relacionamento obrigatório.

1.1 NOTAÇÃO (MIN, MAX)


A notação (min, max) permite representar a participação e a cardinalidade, ou seja, essa
notação utiliza dois valores entre parênteses para representar as cardinalidades mínima e
máxima, como nos exemplos abaixo:

1.1.2 CARDINALIDADE N:N

Exemplo 1
 Entidade professor (Cardinalidade mínima 0, Cardinalidade máxima N)

 Entidade disciplina (Cardinalidade mínima 0, Cardinalidade máxima N)

MUDE SUA VIDA!


2
alfaconcursos.com.br

Exemplo 2

 Entidade professor (Cardinalidade mínima 0, Cardinalidade máxima N)

 Entidade disciplina (Cardinalidade mínima 1, Cardinalidade máxima N)

Exemplo 3

 Entidade professor (Cardinalidade mínima 1, Cardinalidade máxima N)

 Entidade disciplina (Cardinalidade mínima 1, Cardinalidade máxima N)

2. OUTRAS NOTAÇÕES

2.1 ENGENHARIA DA INFORMAÇÃO (PÉ-DE-GALINHA)


Outras notações podem ser usadas para representar modelos conceituais, uma dessas
notações é conhecida como diagrama pé-de-galinha. Os diagramas de pé-de-galinha
representam entidades como caixas e relações como linhas entre as caixas. Formas diferentes
nas extremidades dessas linhas representam a cardinalidade relativa da relação.

Três símbolos são usados para representar cardinalidade:

Um anel representa “zero”

Um traço representa “um”

O pé-de-galinha representa “muitos”

MUDE SUA VIDA!


3
alfaconcursos.com.br

Esses símbolos são usados em pares para representar os quatro tipos de cardinalidade
que uma entidade pode ter em uma relação. O elemento interno da notação representa o
mínimo, e o elemento externo (mais próximo da entidade) representa o máximo.

Descrição Símbolo

Anel e traço: mínimo zero, máximo um

Traço e traço: mínimo um, máximo um

Anel e pé-de-galinha: mínimo de zero, máximo de muitos

Traço e pé-de-galinha: mínimo um, máximo de muitos

EXEMPLO

Referências
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
ALVES, W. P. Fundamentos de Bancos de Dados. Érica, 2004
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
GILLENSON. M. L. Fundamentos de Sistemas de Gerencia de Banco de Dados. LTC, 2006.
SILBERSCHATZ. Sistema de Banco de Dados. 5 Ed. Campus, 2006
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


4
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. AUTORRELACIONAMENTO .................................................................................................................... 2
1.1 CARDINALIDADE 1:1 ...................................................................................................................... 2
1.2 CARDINALIDADE 1:N ............................................................................................................................ 2
1.3 CARDINALIDADE N:N ........................................................................................................................... 3
2. RELACIONAMENTO TERNÁRIO .................................................................................................................. 3

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. AUTORRELACIONAMENTO
No caso do autorrelacionamento, o mesmo tipo de entidade participa mais de uma vez em
um tipo de relacionamento em funções diferentes. Nesses casos, o nome da função torna-se
essencial para distinguir o significado da função que cada entidade participante desempenha.
Esses tipos de relacionamentos são chamados de relacionamentos recursivos. Por exemplo, o
tipo de relacionamento SUPERVISÃO relaciona um funcionário a um supervisor, no qual as
entidades funcionário e supervisor são membros do mesmo conjunto entidade FUNCIONÁRIO.
Logo, o tipo de entidade FUNCIONÁRIO participa duas vezes na SUPERVISÃO: uma vez no papel
de supervisor (ou chefe) e outra no papel de supervisionado (ou subordinado).

1.1 CARDINALIDADE 1:1


O diagrama abaixo representa a seguinte situação: uma ocorrência de funcionário
exerce o papel de supervisor e outra ocorrência de funcionário exerce o papel de
supervisionado.

1.2 CARDINALIDADE 1:N


Abaixo temos representada a seguinte situação: uma ocorrência de funcionário exerce
o papel de supervisor e outras ocorrências de funcionário exercem o papel de supervisionado

MUDE SUA VIDA!


2
alfaconcursos.com.br

1.3 CARDINALIDADE N:N


E, finalmente, temos representada a seguinte situação: algumas ocorrências de
funcionário exercem o papel de supervisor e outras ocorrências exercem o papel de
supervisionado.

2. RELACIONAMENTO TERNÁRIO
Denominamos ternários os relacionamentos entre três conjuntos de entidades. Nesse
caso, a cardinalidade refere-se a pares de entidades relacionadas com a terceira. No exemplo a
seguir queremos garantir que a seguinte situação seja representada de forma apropriada: o
professor X ministra a disciplina Y para a turma Z. Sendo assim, essa condição deve ser
representada através de um relacionamento ternário.

Funciona assim:
 TURMA E DISCIPLINA: Esse par pode estar associado a no máximo um professor.
 TURMA E PROFESSOR: Esse par pode estar associado a muitas disciplinas, ou seja, o mesmo
professor pode ministrar na mesma turma várias disciplinas.
 PROFESSOR E DISCIPLINA: Esse par pode estar associado a muitas turmas, ou seja, o professor
pode ministrar a mesma disciplina em várias turmas.

Referências
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


3
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. MODELO RELACIONAL ........................................................................................................................... 2
1.1 TERMINOLOGIA DO MODELO RELACIONAL ........................................................................................ 2
1.2 ORDENAÇÃO DE TUPLAS EM UMA RELAÇÃO ...................................................................................... 2
1.3 ORDEM DOS VALORES DENTRO DE UMA TUPLA ................................................................................ 3

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. MODELO RELACIONAL
O modelo relacional foi introduzido por Edgar Frank Codd em 1970. Representa os dados
em um banco de dados como uma coleção de relações (tabelas). Sua teoria baseia-se na teoria
dos conjuntos e álgebra relacional.

1.1 TERMINOLOGIA DO MODELO RELACIONAL


Na terminologia formal do modelo relacional, uma linha é chamada de tupla, um
cabeçalho da coluna é chamado de atributo e a tabela é chamada de relação.

No modelo relacional, cada valor em uma tupla é um valor atômico, ou seja,


ele não é divisível em componentes dentro da estrutura do modelo. Logo, atributos
compostos ou multivalorados não são permitidos.

1.2 ORDENAÇÃO DE TUPLAS EM UMA RELAÇÃO

De acordo com Elmasri e Navathe (2011, p.41), uma relação é definida como um conjunto
de tuplas. Matematicamente, os elementos de um conjunto não possuem ordem entre eles; logo,
as tuplas em uma relação não possuem nenhuma ordem em particular.

A ordenação da tupla não faz parte da definição da relação porque uma relação tenta
representar fatos em um nível lógico ou abstrato. Muitas ordens de tuplas podem ser
especificadas na mesma relação. Por exemplo, a relação apresentada na figura 1.3 é considerada
idêntica aquela mostrada na figura 1.2.

MUDE SUA VIDA!


2
alfaconcursos.com.br

1.3 ORDEM DOS VALORES DENTRO DE UMA TUPLA

De acordo com a definição anterior de uma relação, uma tupla n é uma lista ordenada de
n valores, de modo que a ordem dos valores em uma tupla – e, portanto, dos atributos em um
esquema de relação – é importante.

No entanto, em um nível mais abstrato, a ordem dos atributos e seus valores não é tão
importante, desde que a correspondência entre atributos e valores seja mantida.

Referências
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.

MUDE SUA VIDA!


3
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. CHAVE .................................................................................................................................................... 2
1.1 CHAVE CANDIDATA........................................................................................................................ 2
1.2 CHAVE PRIMÁRIA (PK –PRIMARY KEY) ................................................................................................ 2

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. CHAVE
O conceito básico para estabelecer relações entre linhas de tabelas de um banco de dados
relacional é o da chave.

1.1 CHAVE CANDIDATA


Uma chave é definida como chave candidata quando reúne todas as características de uma
chave que pode ser utilizada para identificar exclusivamente uma tupla dentro de uma tabela.
Portanto, é possível que a mesma tabela tenha mais de uma chave candidata. Por exemplo,
observe a tabela Aluno apresentada na figura a seguir:

Podemos afirmar que a tabela Aluno tem duas chaves candidatas: Matrícula e CPF. Nesse
caso, apenas uma chave candidata se tornará primária, ou seja, a chave candidata que não for
escolhida como primária passará a ser tratada como chave alternativa.
1.2 CHAVE PRIMÁRIA (PK –PRIMARY KEY)
No modelo entidade-relacionamento (MER) temos o atributo-chave, esse identificador, no
modelo relacional, é denominado de chave primária e tem as mesmas propriedades do modelo
anterior. Sendo assim, uma chave primária é um campo ou conjunto de campos que será
escolhida para garantir que cada tupla dentro de uma tabela seja única.

Cada tabela só pode ter uma chave primária. Porém, a chave primária pode ser simples ou
composta, ou seja, a chave primária será simples se for formada por apenas um campo
(atributo) da tabela, caso não seja possível utilizar apenas um campo como chave primária, é
possível combinar dois ou mais campos para que juntos formem uma única chave primária.
Propriedades da chave primária:

 Única;
 Campos obrigatórios (not null);
 Irredutível.
Referências
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
HEUSER, Carlos Alberto. Projeto de Banco de dados.

MUDE SUA VIDA!


2
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. CHAVE ESTRANGEIRA (FOREIGN KEY) ....................................................................................................... 2
EXEMPLO 1 ................................................................................................................................................ 2
EXEMPLO 2 ................................................................................................................................................ 3
2. RESTRIÇÕES DE INTEGRIDADE ................................................................................................................... 4

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. CHAVE ESTRANGEIRA (FOREIGN KEY)
Uma chave estrangeira é um campo ou conjunto de campos de uma tabela que aponta para
a chave primária (candidata) de outra tabela ou, em casos específicos, podendo apontar para a
chave primária da mesma tabela.

PRINCIPAIS CARACTERÍSTICAS:
 Uma mesma tabela pode ter mais de uma chave estrangeira;
 A chave estrangeira pode aceitar valor nulo (NULL);
 A chave estrangeira de uma tabela tem que existir como chave primária na tabela
referenciada (restrição de integridade referencial).

EXEMPLO 1

Como podemos observar na figura 1.1, temos a tabela professor com os campos: CPF
(chave primária – PK), nome e endereço. Além disso, temos a tabela disciplina com os campos:
código (chave primária – PK), nome e CPF (chave estrangeira - FK).

Portanto, o campo CPF na tabela professor é chave primária (PK), porém, na tabela
disciplina o campo CPF é chave estrangeira apontando para a chave primária da tabela
professor.

MUDE SUA VIDA!


2
alfaconcursos.com.br

EXEMPLO 2

Como podemos observar na figura 1.2, temos um caso de autorrelacionamento com razão
de cardinalidade 1:N.

No modelo lógico, temos a tabela funcionário com os campos: CPF (chave primária – PK),
nome, sexo e CPF_SUPERVISOR (chave estrangeira - FK).

Sendo assim, aqui temos um caso de uma chave estrangeira apontando para uma chave
primária da mesma tabela.

MUDE SUA VIDA!


3
alfaconcursos.com.br

2. RESTRIÇÕES DE INTEGRIDADE
Um dos objetivos primordiais de um SGBD é a integridade de dados. Dizer que os dados
de um banco de dados estão íntegros significa dizer que eles refletem corretamente a realidade
representada pelo banco de dados e que são consistentes entre si. Para tentar garantir a
integridade de um banco de dados, o SGBD oferece o mecanismo de restrição de integridade.

Uma restrição de integridade é uma regra de consistência de dados que é garantida pelo
próprio SGBD. No caso da abordagem relacional, costuma-se classificar as restrições de
integridade nas seguintes categorias:

 Integridade de domínio: define os valores que podem ser assumidos pelos campos
de uma coluna.
 Integridade de vazio: especifica se o campo de uma coluna pode ou não ser vazio.
 Integridade de unicidade: define que o valor do campo seja único.
 Integridade de chave: define que os valores da chave primária e alternativa devem
ser únicos.
 Integridade de entidade: define que nenhum valor da chave primária pode ser
nulo.
 Integridade referencial: define que os valores dos campos que aparecem numa
chave estrangeira devem aparecer na chave primária da tabela referenciada.

Referências
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
HEUSER, Carlos Alberto. Projeto de Banco de dados.
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


4
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. MAPEAMENTO MER-MR ........................................................................................................................... 2
MAPEAMENTO MER- MR (CARDINALIDADE 1:1) ...................................................................................... 2
EXEMPLO 1 ................................................................................................................................................ 2
EXEMPLO 2 ................................................................................................................................................ 3
EXEMPLO 3 ................................................................................................................................................ 4
EXEMPLO 4 ................................................................................................................................................ 5
FUSÃO DE TABELAS ....................................................................................................................................... 6
EXEMPLO 1 ................................................................................................................................................ 6
EXEMPLO 2 ................................................................................................................................................ 7

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. MAPEAMENTO MER-MR
O mapeamento é feito em etapas para não perdermos nenhuma informação e restrições
já impostas no projeto. É possível mapear em esquemas de tabelas os seguintes elementos do
diagrama entidade-relacionamento: entidades, atributos e relacionamentos. Para fazermos
essa migração, a indicação básica e determinante é a cardinalidade prescrita.
O mapeamento será descrito em etapas para compreendermos com mais clareza o que é
preciso ser feito.

 Etapa 1: cada entidade torna-se uma tabela.


 Etapa 2: cada atributo torna-se um campo (coluna) da tabela criada.
 Etapa 3: o atributo-chave torna-se chave primária da tabela criada.
 Etapa 4: uma chave estrangeira é criada em uma tabela específica com base em
regras definidas de acordo com a cardinalidade prescrita.

Relacionamentos binários

Estudaremos a partir de agora os mapeamentos do modelo conceitual para o modelo


lógico relacional dos diversos tipos de relacionamentos binários.

MAPEAMENTO MER- MR (CARDINALIDADE 1:1)

EXEMPLO 1

ETAPA 1

As entidades professor e disciplina do modelo entidade-relacionamento se transformam


em tabelas no modelo lógico.

ETAPA 2

 A tabela professor será formada pelos campos: CPF, NOME e SEXO.

MUDE SUA VIDA!


2
alfaconcursos.com.br

 A tabela disciplina será formada pelos campos: COD e NOME.


ETAPA 3

 A tabela professor terá como chave primária (PK) o campo: CPF.


 A tabela disciplina terá como chave primária (PK) o campo: COD.

ETAPA 4

Na tabela professor será adicionado o campo COD, nesse caso, esse campo será a chave
estrangeira da tabela professor que estará apontando para a chave primária COD da tabela
disciplina, implementando assim, o relacionamento entre essas tabelas.

EXEMPLO 2

ETAPA 1

As entidades professor e disciplina do modelo entidade-relacionamento se transformam


em tabelas no modelo lógico.

ETAPA 2

 A tabela professor será formada pelos campos: CPF, NOME e SEXO.


 A tabela disciplina será formaada pelos campos: COD e NOME.

MUDE SUA VIDA!


3
alfaconcursos.com.br

ETAPA 3

 A tabela professor terá como chave primária (PK) o campo: CPF.


 A tabela disciplina terá como chave primária (PK) o campo: COD.

ETAPA 4

Na tabela disciplina será adicionado o campo CPF, nesse caso, esse campo será a chave
estrangeira da tabela disciplina que estará apontando para a chave primária CPF da tabela
professor.

EXEMPLO 3

ETAPA 1

As entidades professor e disciplina do modelo entidade-relacionamento se transformam


em tabelas no modelo lógico.

ETAPA 2

 A tabela professor será formada pelos campos: CPF, NOME e SEXO.

MUDE SUA VIDA!


4
alfaconcursos.com.br

 A tabela disciplina será formaada pelos campos: COD e NOME.

ETAPA 3

 A tabela professor terá como chave primária (PK) o campo: CPF.


 A tabela disciplina terá como chave primária (PK) o campo: COD.

ETAPA 4

Na tabela disciplina será adicionado o campo CPF, ou seja, esse campo será a chave
estrangeira da tabela disciplina que estará apontando para a chave primária CPF da tabela
professor. Nesse caso, a chave estrangeira terá que ser um campo NOT NULL, logo, esse campo
será de preenchimento obrigatório.

EXEMPLO 4

ETAPA 1
As entidades professor e disciplina do modelo entidade-relacionamento se transformam
em tabelas no modelo lógico.

ETAPA 2

 A tabela professor será formada pelos campos: CPF, NOME e SEXO.


 A tabela disciplina será formaada pelos campos: COD e NOME.

MUDE SUA VIDA!


5
alfaconcursos.com.br

ETAPA 3

 A tabela professor terá como chave primária (PK) o campo: CPF.


 A tabela disciplina terá como chave primária (PK) o campo: COD.

ETAPA 4

Na tabela professor será adicionado o campo COD, ou seja, esse campo será a chave
estrangeira da tabela professor que estará apontando para a chave primária COD da tabela
disciplina. Nesse caso, a chave estrangeira terá que ser um campo NOT NULL, logo, esse campo
será de preenchimento obrigatório.

FUSÃO DE TABELAS

EXEMPLO 1

Outra solução possível para relacionamentos um para um (1:1) é a fusão de tabelas.


Porém, essa solução só poderá ser realizada se, em pelo menos um dos lados do relacionamento,
a participação for total, ou seja, com relacionamento obrigatório.

Nesse caso, a participação da entidade disciplina no relacionamento é total. Portanto, uma


solução possível para o mapeamento é a fusão das tabelas. Sendo assim, no modelo lógico será
criada uma tabela Professor_Disciplina com os seguintes campos: CPF (chave primária – PK),
NOME, SEXO, COD e NOME.

MUDE SUA VIDA!


6
alfaconcursos.com.br

EXEMPLO 2

Se a participação dos dois lados for obrigatória, então, a melhor solução será a fusão das
tabelas. Nesse caso, podemos afirmar que os campos CPF e COD são chaves candidatas, ou seja,
somente um desses campos poderá ser escolhido como chave primária da tabela.

Alternativa 1

Chave primária (PK) : CPF

Alternativa 2

Chave primária (PK) : COD

MUDE SUA VIDA!


7
alfaconcursos.com.br

Referências
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
HEUSER, Carlos Alberto. Projeto de Banco de dados.
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


8
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. MAPEAMENTO MER-MR ........................................................................................................................... 2
MAPEAMENTO MER- MR (CARDINALIDADE 1:N) ...................................................................................... 2
EXEMPLO 1 ................................................................................................................................................ 2
EXEMPLO 2 ................................................................................................................................................ 3
EXEMPLO 3 ................................................................................................................................................ 4
EXEMPLO 4 ................................................................................................................................................ 5

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. MAPEAMENTO MER-MR
O mapeamento é feito em etapas para não perdermos nenhuma informação e restrições
já impostas no projeto. É possível mapear em esquemas de tabelas os seguintes elementos do
diagrama entidade-relacionamento: entidades, atributos e relacionamentos. Para fazermos
essa migração, a indicação básica e determinante é a cardinalidade prescrita.
O mapeamento será descrito em etapas para compreendermos com mais clareza o que é
preciso ser feito.

 Etapa 1: cada entidade torna-se uma tabela.


 Etapa 2: cada atributo torna-se um campo (coluna) da tabela criada.
 Etapa 3: o atributo-chave torna-se chave primária da tabela criada.
 Etapa 4: uma chave estrangeira é criada em uma tabela específica com base em
regras definidas de acordo com a cardinalidade prescrita.

Relacionamentos binários

Estudaremos a partir de agora os mapeamentos do modelo conceitual para o modelo


lógico relacional dos diversos tipos de relacionamentos binários.

MAPEAMENTO MER- MR (CARDINALIDADE 1:N)

EXEMPLO 1

ETAPA 1

As entidades professor e disciplina do modelo entidade-relacionamento se transformam


em tabelas no modelo lógico.

ETAPA 2

 A tabela professor será formada pelos campos: CPF, NOME e SEXO.


 A tabela disciplina será formada pelos campos: COD e NOME.

MUDE SUA VIDA!


2
alfaconcursos.com.br

ETAPA 3

 A tabela professor terá como chave primária (PK) o campo: CPF.


 A tabela disciplina terá como chave primária (PK) o campo: COD.

ETAPA 4

Em relacionamentos um para muitos (1:N), a chave estrangeira deve ser criada no lado N
da cardinalidade do relacionamento, ou seja, na tabela disciplina será adicionado o campo CPF,
nesse caso, esse campo será a chave estrangeira da tabela disciplina que estará apontando para
a chave primária CPF da tabela professor.

EXEMPLO 2

ETAPA 1

As entidades professor e disciplina do modelo entidade-relacionamento se transformam


em tabelas no modelo lógico.

ETAPA 2

 A tabela professor será formada pelos campos: CPF, NOME e SEXO.


 A tabela disciplina será formada pelos campos: COD e NOME.

MUDE SUA VIDA!


3
alfaconcursos.com.br

ETAPA 3

 A tabela professor terá como chave primária (PK) o campo: CPF.


 A tabela disciplina terá como chave primária (PK) o campo: COD.

ETAPA 4

Conforme já mencionado anteriormente, em relacionamentos um para muitos (1:N), a


chave estrangeira deve ser criada no lado N da cardinalidade do relacionamento. Sendo assim,
na tabela disciplina será adicionado o campo CPF, nesse caso, esse campo será a chave
estrangeira da tabela disciplina que estará apontando para a chave primária CPF da tabela
professor. Porém, como a participação da entidade disciplina é total no relacionamento, ou seja,
o relacionamento é obrigatório, o campo CPF da tabela disciplina será de preenchimento
obrigatório (not null).

EXEMPLO 3

ETAPA 1

As entidades professor e disciplina do modelo entidade-relacionamento se transformam


em tabelas no modelo lógico.

ETAPA 2

MUDE SUA VIDA!


4
alfaconcursos.com.br

 A tabela professor será formada pelos campos: CPF, NOME e SEXO.


 A tabela disciplina será formada pelos campos: COD e NOME.

ETAPA 3

 A tabela professor terá como chave primária (PK) o campo: CPF.


 A tabela disciplina terá como chave primária (PK) o campo: COD.

ETAPA 4

Nesse exemplo, temos uma novidade. Observe que agora temos um atributo no
relacionamento, nesse caso, o atributo data. Portanto, tanto a chave estrangeira (CPF) como o
atributo data, serão adicionados na tabela disciplina.

EXEMPLO 4

ETAPA 1
As entidades funcionário e dependente do modelo entidade-relacionamento se
transformam em tabelas no modelo lógico.

ETAPA 2

 A tabela funcionário será formada pelos campos: CPF, NOME e SEXO.


 A tabela dependente será formada pelos campos: Nr_D e NOME.

MUDE SUA VIDA!


5
alfaconcursos.com.br

ETAPA 3

 A tabela professor terá como chave primária (PK) o campo: CPF.


 A tabela disciplina terá como chave parcial o campo: Nr_D.

ETAPA 4

Nesse exemplo, temos mais uma novidade. Agora temos no modelo entidade-
relacionamento uma entidade fraca, nesse caso, a entidade dependente. Sendo assim, a regra
para esse mapeamento indica que a chave estrangeira terá que compor a chave primária, ou
seja, na tabela dependente será criada uma chave primária composta: Nr_D (chave parcial) +
CPF.

Referências
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
HEUSER, Carlos Alberto. Projeto de Banco de dados.
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


6
alfaconcursos.com.br

SUMÁRIO
BANCO DE DADOS ............................................................................................................................................. 2
1. MAPEAMENTO MER-MR ........................................................................................................................... 2
MAPEAMENTO MER- MR (CARDINALIDADE N:N) ..................................................................................... 2
Exemplo 1 .................................................................................................................................................. 2
EXEMPLO 2 ................................................................................................................................................ 3
MAPEAMENTO AUTORRELACIONAMENTO (CARDINALIDADE N:N).......................................................... 4
EXEMPLO ................................................................................................................................................... 4

MUDE SUA VIDA!


1
alfaconcursos.com.br

BANCO DE DADOS
1. MAPEAMENTO MER-MR
O mapeamento é feito em etapas para não perdermos nenhuma informação e restrições
já impostas no projeto. É possível mapear em esquemas de tabelas os seguintes elementos do
diagrama entidade-relacionamento: entidades, atributos e relacionamentos. Para fazermos
essa migração, a indicação básica e determinante é a cardinalidade prescrita.
O mapeamento será descrito em etapas para compreendermos com mais clareza o que é
preciso ser feito.

 Etapa 1: cada entidade torna-se uma tabela.


 Etapa 2: cada atributo torna-se um campo (coluna) da tabela criada.
 Etapa 3: o atributo-chave torna-se chave primária da tabela criada.
 Etapa 4: uma chave estrangeira é criada em uma tabela específica com base em
regras definidas de acordo com a cardinalidade prescrita.

MAPEAMENTO MER- MR (CARDINALIDADE N:N)

Em relacionamentos muitos para muitos (N:N), a solução para o mapeamento do modelo


entidade-relacionamento para o modelo lógico relacional, é a criação de uma tabela própria
para o relacionamento. Nesse caso, a nova tabela terá uma chave primária composta, formada
pela combinação das chaves estrangeiras existentes nessa tabela.
EXEMPLO 1

 Tabela professor: CPF (PK – chave primária)


 Tabela disciplina: COD (PK – chave primária)
 Tabela leciona: possui duas chaves estrangeiras (CPF e COD) e uma chave
primária composta: CPF+COD.

MUDE SUA VIDA!


2
alfaconcursos.com.br

EXEMPLO 2

 Tabela professor: CPF (PK – chave primária)


 Tabela disciplina: COD (PK – chave primária)
 Tabela leciona: possui duas chaves estrangeiras (CPF e COD) e uma chave primária
composta: CPF + COD + DATA (atributo-chave do relacionamento)

MUDE SUA VIDA!


3
alfaconcursos.com.br

MAPEAMENTO AUTORRELACIONAMENTO (CARDINALIDADE N:N)

EXEMPLO

 Tabela funcionário: CPF (PK – chave primária)


 Tabela Gerencia: possui duas chaves estrangeiras (CPF_Ger e CPF_Sub) e uma
chave primária composta: CPF_Ger + CPF_Sub).

Referências
ELMASRI., NAVATHE. Sistemas de Banco de Dados. 6 Ed. Pearson, 2011.
HEUSER, Carlos Alberto. Projeto de Banco de dados.
DATE, C.J. Introdução a sistemas de banco de dados. 8. Ed. Rio de Janeiro: Elsevier, 2004.
CARDOSO, VIRGÍNIA. Sistema de Banco de Dado. Ed. Saraiva, 2012.
DE SORDI, JOSÉ OSVALDO. Modelagem de dados. Ed. Érica, 2019.

MUDE SUA VIDA!


4
alfaconcursos.com.br

SUMÁRIO
TEORIA DA INFORMAÇÃO ................................................................................................................................. 2
DADOS ........................................................................................................................................................... 2
TIPOS DE DADOS............................................................................................................................................ 2
DADOS ESTRUTURADOS ............................................................................................................................ 2
DADOS SEMIESTRUTURADOS .................................................................................................................... 2
DADOS NÃO ESTRUTURADOS .................................................................................................................... 3

MUDE SUA VIDA!


1
alfaconcursos.com.br

TEORIA DA INFORMAÇÃO
DADOS

Um dado é qualquer registro ou indício relacionável a alguma entidade ou evento. Sendo


assim, os dados são unidades transportadoras de valor, armazenáveis, quantificáveis e
transmissíveis, que não têm significado relevante num primeiro momento, mas que podem
ser posteriormente transformadas em informações de real significância.

Resumindo, dados podem ser definidos como sucessões de fatos brutos, que não foram
processados, relacionados, avaliados ou interpretados, representando apenas partes isoladas
de eventos, situações ou ocorrências.

TIPOS DE DADOS
Os dados podem ser classificados como:
 Estruturados
 Semiestruturados
 Não estruturados

DADOS ESTRUTURADOS
Dados estruturados são aqueles organizados e representados com uma estrutura rígida,
a qual foi previamente planejada para armazená-los. Sendo assim, os dados armazenados e
mantidos por um SGBD (sistema gerenciador de banco de dados) são exemplos de dados
estruturados.

Principais características:

 Dados organizados em blocos semânticos (relações);


 Dados de um mesmo grupo possuem as mesmas descrições (atributos);
 compartilham o mesmo formato (esquema).

DADOS SEMIESTRUTURADOS

Dados semiestruturados apresentam uma representação estrutural heterogênea, não


sendo nem completamente não estruturados nem estritamente tipados.

A principal diferença entre dados estruturados e semiestruturados diz respeito a como as


construções do esquema (como os nomes de atributos, relacionamentos e tipos de entidade)
são tratadas. Nos dados semiestruturados, a informação do esquema é misturada com os
valores dos dados, já que cada objeto de dado pode ter atributos diferentes que não são
conhecidos antecipadamente. Logo, esse tipo de dado às vezes é chamado de dado
autodescritivo. Podemos citar como exemplo de dados semiestruturados os arquivos em
formato XML (eXtensible Markup Language).

MUDE SUA VIDA!


2
alfaconcursos.com.br

Observe a estrutura a seguir em XML:


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

<cadastro>

<nome>Rafael Araújo</nome>

<e-mail>prof.rafaelaraujo@outlook.com</e-mail>

<endereço>Rua Paraná, 3193, centro, Cascavel - PR</endereço>

</cadastro>

Principais características dos dados semiestruturados:

 Definição a posteriori: esquemas para dados semiestruturados são usualmente


definidos após a existência dos dados, com base em uma investigação de suas
estruturas particulares e da análise de similaridades e diferenças. Isso não significa
que sempre existe um esquema associado a um dado semiestruturado;
 Estrutura irregular: coleções extensas de dados semanticamente similares
estão organizados de maneiras diferentes, podendo algumas ocorrências
terem informações incompletas ou adicionais em relação a outras. Em suma,
não existe um esquema padrão para esses dados;
 Estrutura implícita: muitas vezes existe uma estrutura básica para os dados,
porém, essa estrutura está implícita na forma como os dados são
apresentados;
 Estrutura parcial: apenas parte dos dados disponíveis pode ter alguma
estrutura, seja implícita ou explícita.
 Estrutura evolutiva: a estrutura dos dados modifica-se tão frequentemente
quanto os seus valores. Dados Web apresentam este comportamento, uma vez
que existe o interesse em manter dados sempre atualizados;
 Distinção entre estrutura e dados não é clara: como a estrutura está
embutida na descrição dos dados, muitas vezes a distinção lógica entre estrutura
e valor não é clara.
DADOS NÃO ESTRUTURADOS

Além de dados estruturados e semiestruturados, existe uma terceira categoria, conhecida


como dados não estruturados. Nesse caso, os dados não estruturados não possuem uma
estrutura definida. Documentos, imagens e vídeos são exemplos típicos de dados não
estruturados. É importante destacar que as estruturas dos dados não estruturados não são
descritas nem implicitamente.

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.

MUDE SUA VIDA!


3
alfaconcursos.com.br

SUMÁRIO
TEORIA DA INFORMAÇÃO ................................................................................................................................. 2
INFORMAÇÃO ................................................................................................................................................ 2
CONHECIMENTO............................................................................................................................................ 2

MUDE SUA VIDA!


1
alfaconcursos.com.br

TEORIA DA INFORMAÇÃO
De acordo com a teoria da Informação, a forma de representação mais simples de uma
informação é dada por um par de possibilidades/opções, que indicam situações opostas, tais
como: sim/não, ligado/desligado, verdadeiro/falso etc. Em computação, essas opções podem
ser representadas por um dígito binário, o famoso bit (binary digit), da seguinte maneira:

BIT SIGNIFICADO
Não, desligado, falso.
0
Sim, ligado, verdadeiro.
1

Portanto, o bit é a menor unidade de informação que pode ser armazenada, transmitida
ou processada por um sistema computacional.

INFORMAÇÃO
Podemos definir informação como sendo um conjunto de dados ordenados e organizados
de forma a transmitir significado e compreensão dentro de um determinado contexto, ou seja,
dados brutos não podem ser definidos como informação. Dessa forma, informação deve ser
aquilo que reduz a incerteza. Além disso, a informação deve ser utilizada de forma a
fundamentar o conhecimento.

Peter Drucker definiu informação como "dados dotados de relevância e propósito".


Quem os dota de tais atributos? Os seres humanos, é claro. Pessoas transformam dados
em informação. Ao contrário dos dados, a informação exige análise.

A clara percepção da informação é o primeiro requisito para que ela possa ser
compreendida, e a compreensão de uma informação é o primeiro passo para que ela se torne
um conhecimento.

CONHECIMENTO
É a capacidade, adquirida por alguém, de interpretar e operar sobre um conjunto de
informações. Essa capacidade é construída a partir de experiências, impressões, valores,
crenças etc.
O conhecimento é dinâmico, ou seja, quem conhece pode estabelecer novas relações, tirar
novas conclusões, fazer novas inferências, agregar novas informações, reformular significados.
Ao exercitar o conhecimento, ele se consolida e cresce. Portanto, conhecimento é uma
propriedade subjetiva, inerente a quem analisa as informações. Sendo assim, conhecer é o
processo de compreender e interiorizar as informações recebidas, possivelmente combinando-
as de forma a gerar mais conhecimento.

MUDE SUA VIDA!


2
alfaconcursos.com.br

Podemos classificar o conhecimento em dois tipos:

1. Conhecimento Tácito:
➢ A palavra tácito vem do latim tacitus que significa “silencioso, não expresso por
palavras”.
➢ É o conhecimento que existe na mente das pessoas, formulado a partir de
experiências que cada um adquiriu ao longo de sua vida.
➢ É altamente pessoal, ou seja, difícil de ser formalizado ou explicado a outra pessoa,
pois é subjetivo e inerente às habilidades de um indivíduo, como “know-how”.
2. Conhecimento Explícito:
➢ A palavra explícito vem do latim explicitus que significa “formal, explicado, claro,
declarado”.
➢ É o conhecimento formal, claro, regrado, fácil de ser descrito e comunicado a outras
pessoas.
➢ É o conhecimento que está registrado em livros, revistas, artigos, diagramas,
desenhos, figuras e documentos, dentre outros.
➢ Esse conhecimento é de fácil articulação, manipulação e transmissão.

MUDE SUA VIDA!


3
alfaconcursos.com.br

SUMÁRIO
TEORIA DA INFORMAÇÃO ................................................................................................................................. 2
MODELO SECI ............................................................................................................................................ 2
DADO, INFORMAÇÃO E CONHECIMENTO ..................................................................................................... 3
INTELIGÊNCIA ................................................................................................................................................ 3

MUDE SUA VIDA!


1
alfaconcursos.com.br

TEORIA DA INFORMAÇÃO
ESPIRAL DO CONHECIMENTO
Os modos de conversão do conhecimento são identificados como modelo SECI
desenvolvido por Nonaka e Takeuchi (1997). Esse modelo detalha a conversão de
conhecimentos entre tácito e explícito. Os quatro modos de conversão do conhecimento
formam um ciclo ou espiral do conhecimento.
MODELO SECI

SOCIALIZAÇÃO

EXTERNALIZAÇÃO
SECI
COMBINAÇÃO

INTERNALIZAÇÃO
MODOS DE CONVERSÃO DO CONHECIMENTO:

1. DE TÁCITO PARA TÁCITO: Socialização – processo de criar conhecimento tácito


comum a partir da troca de experiência.

2. DE TÁCITO PARA EXPLÍCITO: Externalização – processo de articular conhecimento


tácito em conceitos explícitos. Geralmente essa articulação é efetuada através de metáforas,
analogias, conceitos, hipóteses ou modelos.

3. DE EXPLÍCITO PARA EXPLÍCITO: Combinação – processo de agregar conhecimentos


explícitos, novos ou já existentes, num sistema de conhecimento como um conjunto de
especificações para um novo produto ou serviço.

4. DE EXPLÍCITO PARA TÁCITO: Internalização – processo de incorporar conhecimento


explícito em tácito. Está geralmente relacionado com aprender fazendo.

MUDE SUA VIDA!


2
alfaconcursos.com.br

DADO, INFORMAÇÃO E CONHECIMENTO


Dados Informação Conhecimento
Simples observações Dados dotados de relevância Informação valiosa da mente
sobre o estado do e propósito humana, inclui reflexão, síntese,
mundo contexto

Facilmente estruturado Requer unidade de análise De difícil estruturação

Facilmente obtido por Exige consenso em relação ao De difícil captura em máquinas


máquinas significado
Frequentemente Frequentemente tácito
quantificado Exige necessariamente a
mediação humana
Facilmente transferível De difícil transferência

FONTE: Davenport, Prusak.

INTELIGÊNCIA
Inteligência no nosso contexto diz respeito à sabedoria, ou seja, quando alguém utiliza o
seu conhecimento para algum propósito. Sendo assim, é uma habilidade essencialmente
humana. Nessa etapa, os gestores aplicam ao conhecimento gerado, suas habilidades, suas
competências de negócio e vivência na organização, para identificar direções estratégicas, tais
como:
➢ Novos projetos de pesquisa;
➢ Acordos de cooperação;
➢ Transferência de tecnologia;
➢ Ações e reações da concorrência.

MUDE SUA VIDA!


3
NOÇÕES DE
PROGRAMAÇÃO
SUMÁRIO

NOÇÕES DE PROGRAMAÇÃO����������������������������������������������������������������������������������� 3
LINGUAGENS DE PROGRAMAÇÃO���������������������������������������������������������������������������������������������������� 3
LINGUAGEM DE BAIXO NÍVEL�������������������������������������������������������������������������������������������������������������������������������������������3
LINGUAGEM DE ALTO NÍVEL���������������������������������������������������������������������������������������������������������������������������������������������3
LINGUAGEM COMPILADA��������������������������������������������������������������������������������������������������������������������������������������������������4
LINGUAGEM INTERPRETADA��������������������������������������������������������������������������������������������������������������������������������������������4
PYTHON��������������������������������������������������������������������������������������������������������������������������������������� 4
NOÇÕES DE PROGRAMAÇÃO 3

NOÇÕES DE PROGRAMAÇÃO
O primeiro passo para aprender programação é entender que um programador precisa ser
capaz de formular um problema do mundo real em termos computacionais. Em seguida, o pro-
gramador terá que elaborar uma solução para esse problema em termos computacionais, ou seja,
um algoritmo será implementado para solucionar o problema. Sendo assim, o programador terá
que escrever um programa em uma linguagem de programação que implemente esse algoritmo.
Além disso, é fundamental testar o programa para verificar se ele realmente resolve o problema
de forma correta.
IMPORTANTE – Um algoritmo nada mais é do que um texto contendo comandos (instruções) que devem ser
executados numa determinada ordem. Ou seja, algoritmo é um conjunto de instruções, como uma receita de
bolo, constituído de um número finito de passos.
De forma simplificada, em computação o que fazemos é:
» analisar o problema;
» criar um algoritmo genérico que resolva esse problema;
» escrever um programa que implemente esse algoritmo;
» testar o programa para verificar se ele realmente funciona.

LINGUAGENS DE PROGRAMAÇÃO
Linguagens formais, precisas e cujas instruções podem ser executadas por um computador.
Basicamente, as linguagens de programação podem ser divididas em: linguagem de baixo nível e
linguagem de alto nível.

LINGUAGEM DE BAIXO NÍVEL


Quando pensamos no hardware do computador, precisamos compreender que ele só entende
uma linguagem de baixo nível, também conhecida como linguagem de máquina, nesse caso, essa
linguagem trabalha com uma sequência de zeros e uns, ou seja, em código binário. Portanto, pode-
mos concluir que essa linguagem é muito difícil de programar.

LINGUAGEM DE ALTO NÍVEL


Diferentemente da linguagem de baixo nível, a linguagem de alto nível possui comandos que
utilizam palavras que estão bem mais próximas da nossa linguagem (da linguagem humana), por-
tanto, é mais fácil e agradável de aprender.

Como essas linguagens são entendidas pelo computador?


A implementação de qualquer linguagem de programação requer que os programas nessa
linguagem sejam analisados e traduzidos para serem executados em computadores. Nesse caso,
existem basicamente dois tipos diferentes de linguagens: a linguagem compilada e a linguagem
interpretada.
4

LINGUAGEM COMPILADA
Nessa linguagem, um compilador lê o programa de alto nível (denominado código-fonte) e
traduz esse código completamente antes de executá-lo, ou seja, o compilador traduz o código-fonte
para código de máquina de uma plataforma específica e salva o código gerado em um arquivo
executável. Uma vez que o programa tenha sido compilado, você pode executá-lo quantas vezes
quiser, sem que seja necessário usar o compilador novamente.
Exemplos de linguagens compiladas: C e C++.

LINGUAGEM INTERPRETADA
As linguagens interpretadas funcionam da seguinte forma: um interpretador lê as linhas do
código-fonte uma de cada vez, e para cada linha interpretada uma ação é executada internamente
no computador, a qual irá gerar algum tipo de saída. Dessa forma, se o código do programa tiver dez
linhas e a nona linha possuir um erro, você só irá descobri-lo quando a nona linha for interpretada
e tiver feito todas as operações das linhas anteriores.
Já em uma linguagem compilada, o compilador verifica todas as linhas do programa antes de
executá-lo, ou seja, um programa compilado só é executado se todo o código estiver corretamente
escrito e for antes verificado, o que não acontece com um código de programa em linguagem
interpretada.
Exemplos de linguagens interpretadas: Python e R.

PYTHON
Python é uma linguagem de programação de alto nível. Essa linguagem é muito interessante
como primeira linguagem de programação devido à sua simplicidade e clareza. Embora simples,
Python é uma linguagem poderosa, podendo ser usada, por exemplo, para análise de dados, inte-
ligência artificial e machine learning.
Python é software livre e pode ser utilizado em praticamente qualquer arquitetura de com-
putadores ou sistema operacional, como Linux, Microsoft Windows e Mac OS.
Uma grande vantagem do Python é a legibilidade dos programas escritos nessa linguagem.
Outras linguagens de programação utilizam inúmeras marcações, como ponto (.) ou ponto e vírgula
(;), no fim de cada linha, além dos marcadores de início e fim de bloco como ({ }) ou palavras espe-
ciais (begin/end). Esses marcadores tornam os programas um tanto mais difíceis de ler e felizmente
não são usados em Python.
NOÇÕES DE PROGRAMAÇÃO 5

Principais características:
» Python é uma linguagem dinamicamente tipada: não há declaração explícita de
tipos de variáveis;
» Fortemente tipada: impede operações entre tipos incompatíveis;
» Case-sensitive;
» Indentação obrigatória: define blocos e hierarquias.
INDENTAÇÃO
Python é uma das poucas linguagens de programação que utiliza o deslocamento do texto à direita (recuo) para
marcar o início e o fim de um bloco.
Exemplo
While <condição>:
bloco
PYTHON
SUMÁRIO

PYTHON������������������������������������������������������������������������������������������������������������� 3
INSTALAÇÃO NO WINDOWS������������������������������������������������������������������������������������������������������������ 3
USANDO O INTERPRETADOR PYTHON�����������������������������������������������������������������������������������������������������������������������������3
OPERADORES MATEMÁTICOS�������������������������������������������������������������������������������������������������������������������������������������������3
FUNÇÃO PRINT������������������������������������������������������������������������������������������������������������������������������������������������������������������4
PYTHON 3

PYTHON
INSTALAÇÃO NO WINDOWS
Python está disponível para todas as versões de Windows. Como é um software livre, podemos
baixar o interpretador Python gratuitamente no site http://www.python.org.

USANDO O INTERPRETADOR PYTHON


Com o Python instalado, vamos começar a estudar. O IDLE (que é a sigla em inglês para
Ambiente de Aprendizado e Desenvolvimento Integrado) é uma interface gráfica para o interpre-
tador Python, permitindo também a edição e execução de nossos programas.
A janela inicial do IDLE, no Windows 10, é mostrada na figura a seguir.

Observe que o cursor está posicionado dentro da janela Python Shell, e que a linha de coman-
dos é iniciada pela sequência >>>.
O interpretador Python também pode ser utilizado como calculadora. Sendo assim, é funda-
mental conhecer os operadores matemáticos.

OPERADORES MATEMÁTICOS
Operador Operação

** Exponenciação ou potenciação

% Módulo ou resto

// Divisão (com resultados inteiros)

/ Divisão (com resultado fracionário)

* Multiplicação
- Subtração
+ Adição

Os parênteses são utilizados em Python da mesma forma que em expressões matemáticas, ou


seja, para alterar a ordem de execução de uma operação. Para relembrar a ordem de precedência
das operações, temos as seguintes prioridades:
4

1.Exponenciação (**).
2.Multiplicação (*), divisão (/ e //) e módulo (%).
3.Adição (+) e subtração (-).
A expressão 400 + (200 * 5 / 100) é equivalente a:
Não se esqueça de que, tanto em Python como na matemática, as operações de mesma prio-
ridade são realizadas da esquerda para a direita. Utilize parênteses sempre que precisar alterar a
ordem de execução das operações.

FUNÇÃO PRINT
A função print informa que vamos exibir algo na tela. Podemos dizer que a função exibe uma
mensagem na tela do computador.
Sempre que quisermos mostrar algo para o usuário do computador, como uma mensagem,
uma pergunta ou o resultado de uma operação de cálculo, utilizaremos a função print.
Outro elemento importante são as aspas. Elas são utilizadas para separar os textos destinados
ao usuário do computador do resto do programa. Utilizamos aspas para indicar o início e o fim do
texto de nossa mensagem.
A mensagem é nosso texto em si e será exibida exatamente como digitada. Os parênteses são
utilizados para separar os parâmetros de uma função. Um parâmetro é um valor passado para uma
função: no caso da função print, a mensagem a imprimir (Alfa).
PYTHON
SUMÁRIO

PYTHON������������������������������������������������������������������������������������������������������������� 3
CONCEITOS DE VARIÁVEIS E ATRIBUIÇÃO���������������������������������������������������������������������������������������� 3
NOMES DE VARIÁVEIS�������������������������������������������������������������������������������������������������������������������������������������������������������3
TIPOS DE DADOS���������������������������������������������������������������������������������������������������������������������������������������������������������������3
VARIÁVEIS NUMÉRICAS�����������������������������������������������������������������������������������������������������������������������������������������������������4
PYTHON 3

PYTHON
CONCEITOS DE VARIÁVEIS E ATRIBUIÇÃO
Além de operações simples de cálculo, o interpretador também pode ser usado para realizar
operações mais complexas e até executar programas completos. Antes de continuarmos, é impor-
tante observar o conceito de variável e como podemos usá-la em um programa. Em matemática,
aprendemos o conceito de variável para representar incógnitas e equações do tipo x + 1 = 2, cujo
valor de x deve ser determinado, resolvendo a equação. Em programação, variáveis são utilizadas
para armazenar valores e para nomear uma área da memória do computador onde armazenamos
dados.
Por enquanto, podemos imaginar a memória do computador como uma grande estante, na
qual cada compartimento tem um nome. Para armazenar algo nesses compartimentos, usaremos
o símbolo de igualdade entre o nome do compartimento e o valor que queremos armazenar. Cha-
maremos essa operação de atribuição na qual um valor é atribuído a uma variável.
Quando lermos nosso programa, as operações de atribuição serão chamadas “recebe”, ou
seja, uma variável recebe um valor. Nesse caso, para declarar [criar] uma variável, você só precisa
dar a ela algum valor, ou seja, quando você atribui um valor a uma variável pela primeira vez, ela
é automaticamente criada, por exemplo, nome_da_variável = valor.
IMPORTANTE - O # é o símbolo usado para indicar um comentário. Comentários são ignorados pelo interpreta-
dor Python e podemos escrever o que quisermos.

NOMES DE VARIÁVEIS
Em Python, nomes de variáveis podem conter letras, números e o símbolo sublinha (_). Vejamos
exemplos completos de nomes válidos e inválidos em Python na tabela a seguir.

IMPORTANTE - A versão 3 da linguagem Python permite a utilização de acentos em nomes variáveis, pois, por
padrão, os programas são interpretados utilizando-se um conjunto de caracteres chamado UTF-8, capaz de
representar praticamente todas as letras dos alfabetos conhecidos.

TIPOS DE DADOS
Variáveis têm outras propriedades além de nome e conteúdo. Uma delas é conhecida como
tipo e define a natureza dos dados que a variável armazena. Python tem vários tipos de dados,
4

mas os mais comuns são números inteiros (class ‘int’), números de ponto flutuante (class ‘float’)
e strings (class ‘str’).
Além de poder armazenar números e letras, as variáveis também podem armazenar valores
como verdadeiro ou falso. Nesse caso, utilizaremos um tipo de variável chamado tipo lógico ou
booleano (class ‘bool’). Em Python, escreveremos True para verdadeiro e False para falso. Observe
que o T e o F são escritos com letras maiúsculas.

VARIÁVEIS NUMÉRICAS
Dizemos que uma variável é numérica, quando armazena números inteiros ou de ponto flu-
tuante. Os números inteiros são aqueles sem parte decimal, como 1,0; -5,550; -47, 30000.
Números de ponto flutuante ou decimais são aqueles com parte decimal, como 1.0, 5.478,
10.478. Observe que 1.0, mesmo tendo zero na parte decimal é um número de ponto flutuante.
PYTHON 5

Em Python, e na maioria das linguagens de programação, utilizamos o ponto, em vez da vírgula,


como separador entre a parte inteira e fracionária de um número.
Essa é outra herança da língua inglesa. Observe também que não utilizamos nada como separa-
dor de milhar. Exemplo 1.000.000(um milhão) é escrito 1000000. Uma forma alternativa de separar
números grandes é utilizar o sublinhado entre os dígitos (a partir do Python 3.6).
6
PYTHON
SUMÁRIO

PYTHON������������������������������������������������������������������������������������������������������������� 3
VARIÁVEIS DO TIPO LÓGICO���������������������������������������������������������������������������������������������������������������������������������������������3
OPERADORES RELACIONAIS��������������������������������������������������������������������������������������������������������������������������������������������3
OPERADORES LÓGICOS����������������������������������������������������������������������������������������������������������������������������������������������������4
OPERADOR AND����������������������������������������������������������������������������������������������������������������������������������������������������������������4
OPERADOR OR�������������������������������������������������������������������������������������������������������������������������������������������������������������������5
OPERADOR NOT����������������������������������������������������������������������������������������������������������������������������������������������������������������5
EXPRESSÕES LÓGICAS�����������������������������������������������������������������������������������������������������������������������������������������������������5
PYTHON 3

PYTHON
VARIÁVEIS DO TIPO LÓGICO
Muitas vezes, queremos armazenar um conteúdo simples: verdadeiro ou falso em uma variá-
vel. Nesse caso, utilizaremos um tipo de variável chamado tipo lógico ou booleano. Em Python,
escreveremos True para verdadeiro e False para falso. Observe que o T e o F são escritos com letras
maiúsculas:
ͫ resultado= True
ͫ aprovado= False

OPERADORES RELACIONAIS
Para realizarmos comparações lógicas, utilizaremos operadores relacionais. A lista de operadores
relacionais suportados em Python é apresentada na tabela a seguir.
4

Operador Operação
== Igualdade
!= Diferente
< Menor que
> Maior que
<= Menor ou igual
>= Maior ou igual
O resultado de uma comparação com esses operadores é um valor do tipo lógico, ou seja,
True (verdadeiro) ou False (falso).
Considere:
ͫ a=7
ͫ b=10
ͫ c=6.9
ͫ d=1
ͫ e=9.

OPERADORES LÓGICOS
Para agrupar operações com lógica booleana, utilizaremos operadores lógicos. Python suporta
três operadores básicos: not (não), and (e), or (ou).

OPERADOR AND
O operador and (e) resulta verdadeiro apenas quando os seus dois operadores forem
verdadeiros.

Expressão Avaliada como...


True and True True
True and False False
PYTHON 5

False and True False


False and False False

OPERADOR OR
A regra fundamental do operador or (ou) é que ele resulta em falso apenas se seus dois opera-
dores também forem falsos. Se apenas um de seus operadores for verdadeiro, ou se os dois forem,
o resultado da operação será verdadeiro.

Expressão Avaliada como...


True or True True
True or False True
False or True True
False or False False

OPERADOR NOT
O operador not é o mais simples, pois precisa apenas de um operador. A operação de negação
também é chamada de inversão, pois um valor verdadeiro negado se torna falso e vice-versa.

Expressão Avaliada como...


not True False
not False True

EXPRESSÕES LÓGICAS
Os operadores lógicos podem ser combinados em expressões lógicas mais complexas. Quando
uma expressão tiver mais de um operador lógico, avalia-se o operador not (não) primeiro, seguido
do operador and (e) e, finalmente, or (ou).
Os operadores relacionais também podem ser utilizados em expressões com operadores
lógicos. Nesses casos, os operadores relacionais devem ser avaliados primeiro.
PYTHON
SUMÁRIO

PYTHON������������������������������������������������������������������������������������������������������������� 3
VARIÁVEIS DO TIPO STRING������������������������������������������������������������������������������������������������������������ 3
OPERAÇÕES COM STRINGS����������������������������������������������������������������������������������������������������������������������������������������������4
F-STRING���������������������������������������������������������������������������������������������������������������������������������������������������������������������������5
ENTRADA DE DADOS���������������������������������������������������������������������������������������������������������������������������������������������������������6
FUNÇÃO INPUT�����������������������������������������������������������������������������������������������������������������������������������������������������������������6
CONVERSÃO ENTRADA DE DADOS�����������������������������������������������������������������������������������������������������������������������������������7
PYTHON 3

PYTHON
VARIÁVEIS DO TIPO STRING
Variáveis do tipo string armazenam cadeias de caracteres com nomes e textos em geral. Cha-
mamos cadeia de caracteres uma sequência de símbolos como letras, números, sinais de pontuação
etc. Podemos imaginar uma string com uma sequência de blocos, em que cada letra, número ou
espaço em branco ocupa uma posição.
Para possibilitar separação entre o texto do seu programa e o conteúdo de uma string, utili-
zaremos aspas (“) para desabilitar o início e o fim de sequência de caracteres.
Uma string em Python tem um tamanho associado, assim como um conteúdo que pode ser
acessado caractere a caractere. O tamanho de uma string pode ser obtido utilizando-se a função
len. Essa função retorna o número de caracteres na string. Dizemos que a função retorna um valor,
quando podemos substituir o texto da função por seu resultado. A função len retorna um valor
do tipo inteiro, representando a quantidade de caracteres contidos na string. Se a string é vazia
(representada simplesmente por “”, ou seja, duas aspas sem nada entre elas, nem mesmo espaço
em branco), seu tamanho é igual a zero.

Como dito anteriormente, outra característica de strings é poder acessar seu conteúdo carac-
tere a caractere. Sabendo que uma string tem um determinado tamanho, podemos acessar seus
caracteres utilizando o número inteiro para representar sua posição. Esse número é chamado de
índice, e começamos a contar de zero. Isso quer dizer que o primeiro caractere da string é de posi-
ção ou índice 0.
Para acessar os caracteres de uma string, devemos informar o índice ou posição do caractere
entre colchetes ([ ]). Como o primeiro caractere de uma string é o de índice 0, podemos acessar
valores de 0 até o tamanho de uma string menos 1. Logo, se a string contiver 9 caracteres, podemos
acessar os caracteres de 0 a 8.
Se tentarmos acessar um índice maior que a quantidade de caracteres da string, o interpre-
tador emitirá uma mensagem de erro.
4

OPERAÇÕES COM STRINGS


As variáveis de tipo strings suportam operações como fatiamento, concatenação e composi-
ção. Por fatiamento, podemos entender a capacidade de utilizar apenas uma parte de uma string,
ou uma fatia. A concatenação nada mais é do que poder juntar duas ou mais strings em uma nova
string maior. A composição é muito utilizada em mensagens que enviamos à tela e consiste em
utilizar strings como modelos em que podemos inserir outras strings.
ͫ CONCATENAÇÃO
Os conteúdos de variáveis strings podem ser somados, ou melhor, concatenados. Para con-
catenar duas strings, utilizamos operador de adição (+) são assim como “AB” + “C” é igual a “ABC”.
Um caso especial de concatenação é a repetição de uma string várias vezes. Para isso, utilizamos
operador de multiplicação (*): “A”* 3 é igual a “AAA”.
ͫ FATIAMENTO DE STRINGS
O fatiamento em Python é muito poderoso. Imagine nossa string sendo “CONCURSO POLÍCIA
FEDERAL”. Sendo assim, podemos fatiá-la de forma a escrever apenas os dois primeiros caracteres
CO utilizando como índice [0:2]. O fatiamento funciona com a utilização de dois pontos no índice
da string. O número à esquerda dos dois pontos indica a posição de início da fatia; e o à direita, do
fim. No entanto, é preciso ter atenção ao final, pois no exemplo anterior utilizamos 2; e o N, que
é o caractere na posição 2, não foi incluído. Dizemos que isso acontece porque o final da fatia não
incluído nela, sendo deixado de fora. Entenda [0:2] como a fatia de caracteres da posição 0 até a
posição 2, sem incluí-la, ou o intervalo fechado em 0 e aberto em 2.
Podemos também omitir o número da esquerda para direita para representar do início ou até
o final. Assim, [:2] indica do início até a segunda posição (sem incluí-la), e [1:] indica do caractere de
posição 1 até o final da string. Observe que, nesse caso, nem precisamos saber quantos caracteres
a string contém. Se omitirmos o início e o fim da fatia [:], faremos apenas uma cópia de todos os
caracteres da string para uma nova string.
Podemos também utilizar valores negativos para indicar posições a partir da direita. Assim -1
é o último caractere; -2, o penúltimo; e assim por diante.
PYTHON 5

ͫ COMPOSIÇÃO
Podemos utilizar composição para combinar vários valores em uma nova string. Nesse caso,
uma das formas de compor strings é utilizando o método format. Vejamos o exemplo a seguir:
nome = “Marcos”
idade = 18
print(“ O funcionário {} tem {} anos”.format(nome,idade))

F-STRING
Outra forma de compor strings é utilizando o método f-string (adicionada na versão 3.6). Ela se
chama f-string, pois escrevemos a letra f antes de abrirmos as aspas. Vejamos o programa anterior,
mas dessa vez usando f-string:
nome = “Marcos”
idade = 18
print(f”O funcionário {nome} tem {idade} anos.”)
6

Com f-strings, além de prefixarmos a string com a letra f, escrevemos o nome da variável dire-
tamente na string, entre {}. Essa forma é mais compacta que utilizar o método format.

ENTRADA DE DADOS
Até agora, nossos programas trabalharam apenas com valores conhecidos, escritos no pró-
prio programa. No entanto, a melhor programação é poder escrever a solução de um problema e
aplicá-la várias vezes. Para isso, precisamos melhorar nossos programas de forma a permitir que
nossos valores sejam fornecidos durante sua execução, de modo que possamos executá-los com
valores diferentes sem alterar os programas propriamente
Chamamos entrada de dados o momento em que o programa recebe valores por um dispo-
sitivo de entrada de dados (como teclado do computador) ou o arquivo em disco. Nesse caso, em
Python utilizaremos a função input para a entrada de dados.

FUNÇÃO INPUT
A função input é utilizada para solicitar dados do usuário. Ela recebe um parâmetro, que é a
mensagem a ser exibida, e retorna o valor digitado pelo usuário.
Vejamos um exemplo:
PYTHON 7

a= input(‘Digite um número:’)
print(a)
Que produz a seguinte saída na tela (se você digitar o 36 e pressionar a tecla ENTER):

CONVERSÃO ENTRADA DE DADOS


A função input sempre retorna valores do tipo string, ou seja, não importa se digitamos apenas
números, o resultado sempre é string. Para resolver esse pequeno problema, vamos utilizar a função
int para converter o valor retornado em um número inteiro, e a função float para convertê-lo em
número decimal ou de ponto flutuante.
PROGRAMAÇÃO
PYTHON
SUMÁRIO

PROGRAMAÇÃO PYTHON��������������������������������������������������������������������������������������� 3
CONDIÇÕES���������������������������������������������������������������������������������������������������������������������������������� 3
IF����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3
ELSE����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������4
PROGRAMAÇÃO PYTHON 3

PROGRAMAÇÃO PYTHON
CONDIÇÕES
Nem sempre todas as linhas dos programas serão executadas. Muitas vezes, será mais interes-
sante decidir que parte do programa deve ser executada com base no resultado de uma condição.
A base dessas decisões consistirá em expressões lógicas que permitiram representar escolhas em
programas.

IF
As condições servem para selecionar quando uma parte do programa deve ser ativada e
quando deve ser simplesmente ignorada. Em Python, a estrutura de decisão é o if. Seu formato é
apresentado a seguir:
If<condição>:
Bloco verdadeiro
O if nada mais é que o nosso “se”. Poderemos, então, entendê-lo em português da seguinte
forma: se a condição for verdadeira, faça algo.
IMPORTANTE – O sinal de dois pontos após a condição é obrigatório em Python, ou seja, se não for utilizado o
código do programa irá apresentar um erro.
Vejamos o exemplo a seguir

Para resolver o problema do código mostrado na imagem, basta acrescentar o sinal de dois
pontos após a condição. Vejamos o exemplo a seguir:

Nesse caso, podemos observar que o valor da variável “a” é diferente do valor da variável “b”,
logo, o programa irá imprimir na tela a mensagem: Os dois valores são diferentes!
Mas se os valores fossem iguais? Bem, nesse caso, o nosso programa não iria apresentar
nenhuma mensagem na tela.
4

ELSE
A cláusula else é usada para especificar o que fazer, caso o resultado da avaliação da condição
seja falso, sem precisarmos de um novo if. Vejamos como ficaria o programa escrito para usar else.
Vejamos o exemplo a seguir
PROGRAMAÇÃO
PYTHON
SUMÁRIO

PROGRAMAÇÃO PYTHON��������������������������������������������������������������������������������������� 3
ESTRUTURAS ANINHADAS�������������������������������������������������������������������������������������������������������������� 3
PROGRAMAÇÃO PYTHON 3

PROGRAMAÇÃO PYTHON
ESTRUTURAS ANINHADAS
Nem sempre nossos programas serão tão simples. Muitas vezes, precisaremos aninhar vários
if para obter o comportamento desejado do programa. Aninhar, nesse caso, é utilizar um if dentro
de outro. Porém, a linguagem Python apresenta uma solução muito interessante ao problema de
múltiplos ifs aninhados. A cláusula elif substitui um par else if, mas sem criar outro nível de estru-
tura, evitando problemas de deslocamentos desnecessários à direita.
Dessa forma, a cláusula elif é a maneira de dizer “se as condições anteriores não eram ver-
dadeiras, então tente esta condição”. Ao contrário da cláusula else, é possível utilizar um número
arbitrário de declarações de elif.
Vejamos o exemplo a seguir

Nesse caso, interpretando o código mostrado, temos:


Se “a” for maior ou igual a 10, então:
Conceito A
Se não se “a” for maior ou igual a 9, então:
Conceito B
Se não se “a” for maior ou igual a 8, então:
Conceito C
Se não se “a” for maior ou igual a 7, então:
Conceito D
Se não (ou seja, se todas as anteriores forem falsas), então:
Conceito E
Considere o programa a seguir, na linguagem Python.
4

A sintaxe do programa está correta e, quando executado, caso o usuário digite 1, ele apre-
sentará o seguinte resultado.
0.25
PROGRAMAÇÃO
PYTHON
SUMÁRIO

PROGRAMAÇÃO PYTHON��������������������������������������������������������������������������������������� 3
REPETIÇÕES��������������������������������������������������������������������������������������������������������������������������������� 3
WHILE��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3
PROGRAMAÇÃO PYTHON 3

PROGRAMAÇÃO PYTHON
REPETIÇÕES
Repetições representam a base de vários programas. São utilizadas para executar a mesma
parte de um programa várias vezes, normalmente dependendo de uma condição.

WHILE
Uma das estruturas de repetição do Python é o while, que repete um bloco enquanto a condi-
ção for verdadeira. Seu formato é apresentado a seguir, em que condição é uma expressão lógica, e
bloco representa as linhas de programa a repetir enquanto o resultado da condição for verdadeiro.
while <condição>:
Bloco
Vejamos o exemplo a seguir
PROGRAMAÇÃO
PYTHON
SUMÁRIO

PROGRAMAÇÃO PYTHON��������������������������������������������������������������������������������������� 3
WHILE������������������������������������������������������������������������������������������������������������������������������������������ 3
OPERADORES DE ATRIBUIÇÃO ESPECIAIS����������������������������������������������������������������������������������������������������������������������3
INTERROMPENDO A REPETIÇÃO��������������������������������������������������������������������������������������������������������������������������������������4
PROGRAMAÇÃO PYTHON 3

PROGRAMAÇÃO PYTHON
WHILE
Uma das estruturas de repetição do Python é o while, que repete um bloco enquanto a condi-
ção for verdadeira. Seu formato é apresentado a seguir, em que condição é uma expressão lógica, e
bloco representa as linhas de programa a repetir enquanto o resultado da condição for verdadeiro.
while <condição>:
Bloco

OPERADORES DE ATRIBUIÇÃO ESPECIAIS


Muitas vezes, teremos de escrever expressões como x= x + 1 ou y= y-1. Para simplificar a escrita, a
linguagem Python oferece operadores de atribuição especiais como += e-=. Esses operadores têm
o mesmo significado de expressões com os sinais que os precedem. Por exemplo:

Operador Exemplo Equivalência


+= x+=1 x=x+1
-= y-=1 y=y-1
*= c*=2 c=c*2
/= d/=2 d=d/2
**= e**=2 e=e**2
//= f//=4 f=f//4
No que diz respeito à linguagem de programação Python, julgue o item a seguir.

Considerando-se o código acima, escrito na linguagem Python, é correto afirmar que


3
5
4
25
5
623
é o resultado do referido código.
GABARITO: CERTO
4

1. No que diz respeito à linguagem de programação Python, julgue o item a seguir.

2.
Considerando-se o código acima, escrito na linguagem Python, é correto afirmar que
7
9
é o resultado do referido código.
GABARITO: CERTO

INTERROMPENDO A REPETIÇÃO
Embora muito útil, a estrutura while só verifica sua condição de parada na início de cada
repetição. Dependendo do problema, a habilidade de terminar while dentro do bloco a repetir
pode ser interessante.
A instrução break é utilizada para interromper a execução de while independentemente do
valor atual da condição.
No que diz respeito à linguagem de programação Python, julgue o item a seguir.

Considerando-se o código acima, escrito na linguagem Python, é correto afirmar que


9
5
18
É o resultado do referido código.
GABARITO: CERTO
PROGRAMAÇÃO
PYTHON
SUMÁRIO

PROGRAMAÇÃO PYTHON��������������������������������������������������������������������������������������� 3
LISTA������������������������������������������������������������������������������������������������������������������������������������������� 3
CÓPIA E FATIAMENTO DE LISTAS�������������������������������������������������������������������������������������������������������������������������������������4
TAMANHO DE LISTAS��������������������������������������������������������������������������������������������������������������������������������������������������������5
ADIÇÃO DE ELEMENTOS���������������������������������������������������������������������������������������������������������������������������������������������������6
ORDENAÇÃO DE UMA LISTA���������������������������������������������������������������������������������������������������������������������������������������������7
REMOÇÃO DE ELEMENTOS DA LISTA�������������������������������������������������������������������������������������������������������������������������������7
PROGRAMAÇÃO PYTHON 3

PROGRAMAÇÃO PYTHON
LISTA
Listas são um tipo de variável que permite o armazenamento de vários valores, acessados por
um índice. Uma lista pode conter zero ou mais elementos de um mesmo tipo ou de tipos diversos,
podendo inclusive conter outras listas. O tamanho de uma lista é igual à quantidade de elementos
que ela contém.
Podemos imaginar uma lista como um edifício de apartamentos, em que o térreo é o andar
zero, o primeiro andar 1 e assim por diante. O índice é utilizado para especificarmos o “apartamento”
onde guardaremos nossos dados.
Em um prédio de seis andares, teremos números de andar variando entre 0 e 5. Se chamarmos
nosso prédio de P, teremos P[0] como endereço do térreo, P[1] como endereço do primeiro andar,
continuando assim até P[5]. Em Python, P seria o nome da lista; e o número entre colchetes, o índice.
Listas são mais flexíveis que prédios e podem crescer ou diminuir com o tempo. Vejamos como
criar uma lista em Python:
L=[ ]

Essa linha cria uma lista chamada L com zero elemento, ou seja, uma lista vazia. Os colchetes
([ ]) após o símbolo de igualdade servem para indicar que L é uma lista. Vejamos agora como criar
uma lista Z, com 3 elementos:
Z= [15, 8, 9]

A lista Z foi criada com três elementos: 15, 8 e 9. Dizemos que o tamanho da lista Z é 3. Como
o primeiro elemento tem índice 0, temos que o último elemento é Z[2]. Veja o resultado de testes
com Z:
>>> Z= [15, 8, 9]
>>> Z[0]
15
>>> Z[1]
8
>>>Z[2]
9
Utilizando o nome da lista e um índice, podemos mudar o conteúdo de um elemento. Observe
os testes no interpretador:
>>> Z = [15, 8, 9)
>>> Z[0]
15
>>> Z[0] = 7
>>> Z[0)
7
>>> Z
4

[7, 8, 9]
Quando criamos a lista Z, o primeiro elemento era o número 15. Por isso, Z[0] era 15. Quando
executamos Z[0] = 7, alteramos o conteúdo do primeiro elemento para 7. Isso pode ser verificado
quando pedimos para exibir Z, agora com 7, 8 e 9 como elementos.

CÓPIA E FATIAMENTO DE LISTAS


Embora listas em Python sejam um recurso muito poderoso, todo poder traz responsabilida-
des. Um dos efeitos colaterais de listas aparece quando tentamos fazer cópias. Vejamos um teste
no interpretador:
>>> L = [1, 2, 3, 4, 5]
>>> V = L
>>> L
[1, 2, 3, 4, 5]
>>> V
[1, 2, 3, 4, 5]
>>> V[0] = 6
>>> V
[6, 2, 3, 4, 5]
>>> L
[6, 2, 3, 4, 5]

Veja que, ao modificarmos V, modificamos também o conteúdo de L. Isso porque uma lista em
Python é um objeto e, quando atribuímos um objeto a outro, estamos apenas copiando a mesma
referência da lista, e não seus dados em si. Nesse caso, V funciona como um apelido de L, ou seja,
V e L são a mesma lista. Vejamos o que acontece na figura a seguir.

Quando modificamos V[0], estamos modificando o mesmo valor de L[0], pois ambos são
referências, ou apelidos para a mesma lista na memória.
Dependendo da aplicação, esse efeito pode ser desejado ou não. Para criar uma cópia inde-
pendente de uma lista, utilizaremos outra sintaxe. Vejamos o resultado das operações:
>>> L= [1, 2, 3, 4, 5]
>>> V = L[ : ]
>>> V[0] = 6
>>> L
[1, 2, 3, 4, 5]
>>> V
PROGRAMAÇÃO PYTHON 5

[6, 2, 3, 4, 5]
Ao escrevermos L[:], estamos nos referindo a uma nova cópia de L. Assim L e V se referem a
áreas diferentes na memória, permitindo alterá-las de forma independente, como na figura a seguir:

Duas variáveis referenciando duas listas.


Podemos também fatiar uma lista, da mesma forma que fizemos com strings. Vejamos alguns
exemplos no interpretador:
>>> L = [1, 2, 3, 4, 5]
>>> L[0:5]
[1, 2, 3, 4, 5]
>>> L[ :5]
[1, 2, 3, 4, 5]
>>> L[ :-1]
[1, 2, 3, 4]
>>> L[1:3]
[2, 3]
>>>L[3:]
[4, 5]
>>>L[:3]
[1, 2, 3]
>>>L[-1]
5
>>>L[-2]
4
Veja que índices negativos também funcionam. Um índice negativo começa a contar do último
elemento, mas observe que começamos de -1. Assim L[0] representa o primeiro elemento; L[-1], o
último; L[-2], o penúltimo, e assim por diante.

TAMANHO DE LISTAS
Podemos usar a função len com listas. O valor retornado é igual ao número de elementos da
lista. Veja alguns testes:
>>> L = [12, 9, 5]
>>> len(L)
3
6

>>> V= [ ]
>>> len(V)
0

ADIÇÃO DE ELEMENTOS
Uma das principais vantagens de trabalharmos com listas é poder adicionar novos elementos
durante a execução do programa. Para adicionar um elemento ao fim da lista, utilizaremos o método
append. Em Python, chamamos um método escrevendo o nome dele após o nome do objeto. Como
listas são objetos, sendo L a lista, teremos L.append(valor). Métodos são recursos de orientação a
objetos, suportados e muito usados em Python. Você pode imaginar um método como uma função
do objeto. Quando invocado, ele já sabe a que objeto estamos nos referindo, pois o informamos à
esquerda do ponto. Vejamos um teste no interpretador:
>>> L = [ ]
>>> L.append(“a”)
[‘a’)
>>> L.append(“b”)
>>> L
[‘a’, ‘b’]
>>> L.append(“c”)
>>>L
[‘a’, ‘b’, ‘c’]
>>> len(L)
3
Outra forma de adicionar elementos a uma lista é utilizando o método insert. Nesse caso, esse
método adiciona um item na posição especificada. Vejamos o exemplo a seguir:
IMPORTANTE
L.insert(i,x)
onde:
i=índice;
x=item.
>>>L[8,4,6]
>>>L
[8,4,6]
>>>L.insert(1,7)
>>>L
[8,7,4,6]
PROGRAMAÇÃO PYTHON 7

ORDENAÇÃO DE UMA LISTA


É comum termos uma lista toda bagunçada e querermos ordenar os elementos contidos nela.
Para ordenar uma lista de valores, basta chamar o método sort da lista. Vejamos o exemplo a seguir:
>>>L=[9, 1, 4, 0, 6]
>>>L.sort( )
>>>L
[0, 1, 4, 6, 9]
Também podemos ordená-la de forma descendente:
>>>L.sort(reverse=True)
>>>L
[9, 6, 4, 1, 0]

REMOÇÃO DE ELEMENTOS DA LISTA


Como o tamanho da lista pode variar, permitindo a adição de novos elementos, podemos tam-
bém retirar alguns elementos da lista, ou mesmo todos eles. Para isso, utilizaremos a instrução del:
>>> L = [“a”, “b”, “c”]
>>>del L[1]
>>>L
[‘a’, ‘c’]
>>>del L[0]
>>>L
[‘c’]
É importante notar que o elemento excluído não ocupa mais lugar na lista, fazendo com que
os índices sejam reorganizados, ou melhor, que passem a ser calculados sem esse elemento.
Outra forma de excluir elementos de uma lista é utilizando o método pop. Nesse caso, esse
método retira um item da lista. Quando o elemento não for especificado, o método pop retira o
último item da lista.
>>>L = [5, 8, 9, 1, 7, 3]
>>>L.pop( )
>>>L
[5, 8, 9, 1, 7]
>>>L.pop(2)
>>>L
[5, 8, 1, 7]
8

Além dos métodos anteriores, é possível remover elementos de uma lista utilizando o método
remove. Nesse caso, em vez de informar o índice a ser excluído, informaremos diretamente o ele-
mento a ser excluído. Vejamos os exemplos a seguir:
>>>L = [6, 8, 1, 0, 3, 2, 7]
>>>L.remove(2)
>>>L
[6, 8, 1, 0, 3, 7]
PROGRAMAÇÃO
PYTHON
SUMÁRIO

PROGRAMAÇÃO PYTHON��������������������������������������������������������������������������������������� 3
FOR���������������������������������������������������������������������������������������������������������������������������������������������� 3
RANGE�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3
PROGRAMAÇÃO PYTHON 3

PROGRAMAÇÃO PYTHON
FOR
A linguagem Python apresenta uma estrutura de repetição especialmente projetada para
percorrer listas. A instrução for funciona de forma parecida a while, mas a cada repetição utiliza
um elemento diferente da lista.
A cada repetição, o próximo elemento da lista é utilizado, o que se repete até o fim da lista.
Vamos escrever um programa que utilize for para imprimir todos os elementos de uma lista:

Resultado da execução do programa:


8
9
15

RANGE
Podemos utilizar a função range para gerar listas simples. A função range não retorna uma
lista propriamente dita, mas um gerador.
Vejamos um exemplo:

Resultado da execução do programa:


0
1
2
3
Com a mesma função range, podemos também indicar qual é o primeiro número a gerar. Para
isso, utilizaremos dois parâmetros:

Resultado da execução do programa:


5
6
4

7
Se acrescentarmos um terceiro parâmetro à função range, teremos como saltar entre os valores
gerados, por exemplo, range (0,10,2) gera os pares entre 0 e 10, pois começa de zero e adiciona 2
a cada elemento. Vejamos um exemplo em que geramos os 10 primeiros múltiplos de 3:

Resultado da execução do programa:


3
6
9
12
15
18
21
24
27
30
Vejamos outros exemplos:

Resultado da execução do programa:


20
17
14
11
8
5
Considere o programa a seguir, na linguagem Python.

A sintaxe do programa está correta e, quando executado, ele apresentará o seguinte resultado.
PF
GABARITO: CERTO
PROGRAMAÇÃO PYTHON 5

Embora a instrução for facilite nosso trabalho, ela não substitui completamente while. Dependendo do pro-
blema, utilizaremos for ou while. Normalmente utilizaremos for quando quisermos processar os elementos de
uma lista, um a um. while é indicado para repetições nas quais não sabemos ainda quantas vezes vamos repetir
ou onde manipulamos os índices de forma não sequencial.
PROGRAMAÇÃO
PYTHON
SUMÁRIO

PROGRAMAÇÃO PYTHON��������������������������������������������������������������������������������������� 3
TUPLA����������������������������������������������������������������������������������������������������������������������������������������� 3
PROGRAMAÇÃO PYTHON 3

PROGRAMAÇÃO PYTHON
TUPLA
Tuplas podem ser vistas como listas em Python, com a grande diferença de serem imutáveis.
Tuplas são ideais para representar listas de valores constantes e para realizar operações de empa-
cotamento e desempacotamento de valores. Primeiro, vejamos como criar uma tupla.
Tuplas são criadas de forma semelhante às listas, mas utilizamos parênteses em vez de col-
chetes. Por exemplo:
>>> a=(“a”,”b”,3)
>>> a
(‘a’, ‘b’, 3)
Os parênteses são opcionais, porém sua utilização aumenta a clareza da expressão em si,
uma vez que visualizar a vírgula pode não ser tão fácil. Você poderia criar a mesma tupla usando
a sintaxe seguinte:
>>> a=”a”,”b”,3
>>> a
(‘a’, ‘b’, 3)
>>> type(a)
<class ‘tuple’>
Tuplas suportam a maior parte das operações de lista, como fatiamento e indexação:
>>> a=”p”,”f”,”concurso”,9,4
>>> len(a)
5
>>> a[0]
‘p’
>>> a[4]
4
>>> a[1:]
(‘f’, ‘concurso’, 9, 4)
>>> a[:4]
(‘p’, ‘f’, ‘concurso’, 9)
>>> a*2
(‘p’, ‘f’, ‘concurso’, 9, 4, ‘p’, ‘f’, ‘concurso’, 9, 4)
Tuplas também podem ser criadas a partir de listas, utilizando-se a função tuple:
>>> L = [1, 2, 3]
>>> T = tuple(L)
>>> T
(1, 2, 3)
4

Embora não possamos alterar uma tupla depois de sua criação, podemos concatená-las,
gerando novas tuplas:
>>> t1 = (1, 2, 3)
>>> t2 = (4, 5, 6)
>>> t1 + t2
(1, 2, 3, 4, 5, 6)
Observe que, se uma tupla contiver uma lista ou outro objeto que pode ser alterado, este
continuará a funcionar normalmente. Veja o exemplo de uma tupla que contém uma lista:
>>> tupla = (“a”, [“b”, “c”, “d”])
>>> tupla
(‘a’, [‘b’, ‘c’, ‘d’])
>>> len(tupla)
2
>>> tupla[1]
[‘b’, ‘c’,’d’]
>>> tupla[1].append(“e”)
>>> tupla
(‘a’, [‘b’, ‘c’, ‘d’, ‘e’])
Nesse caso, nada mudou na tupla em si, mas na lista que é seu segundo ele mento. Ou seja,
a tupla não foi alterada, mas a lista que ela continha sim.
PROGRAMAÇÃO
PYTHON
SUMÁRIO

PROGRAMAÇÃO PYTHON��������������������������������������������������������������������������������������� 3
DICIONÁRIOS�������������������������������������������������������������������������������������������������������������������������������� 3
DICIONÁRIOS COM LISTAS������������������������������������������������������������������������������������������������������������������������������������������������3
PROGRAMAÇÃO PYTHON 3

PROGRAMAÇÃO PYTHON
DICIONÁRIOS
Dicionários consistem em uma estrutura de dados similar às listas, mas com propriedades de
acesso diferentes. Um dicionário é composto de um conjunto de chaves e valores. O dicionário em
si consiste em relacionar uma chave a um valor específico.
Em Python, criamos dicionários utilizando chaves ({ }). Cada elemento do dicionário é uma
combinação de chave e valor.

Um dicionário é acessado por suas chaves. Para obter o número de questões de Informática,
digite no interpretador, depois de ter criado a tabela, tabela[“Informática”], em que tabela é o nome
da variável do tipo dicionário, e “Informática” é a nossa chave. O valor retornado é o mesmo que
associamos na tabela, ou seja, 36.
Diferentemente das listas, em que o índice é um número, dicionários utilizam suas chaves
como índice. Quando atribuímos um valor a uma chave, duas coisas podem ocorrer:
1. Se a chave já existe: o valor associado é alterado para o novo valor.
2. Se a chave não existe: a nova chave será adicionada ao dicionário.
>>> tabela[“Estatística”]=10
>>> tabela
{‘Informática’: 36, ‘Contabilidade’: 24, ‘Português’: 24, ‘Direito Penal’: 4, ‘Estatística’: 10}
>>> tabela[“Português”]=20
>>> tabela
{‘Informática’: 36, ‘Contabilidade’: 24, ‘Português’: 20, ‘Direito Penal’: 4, ‘Estatística’: 10}

DICIONÁRIOS COM LISTAS


Em Python, podemos ter dicionários nos quais as chaves são associadas a listas ou mesmo a
outros dicionários. Imagine uma relação de disciplinas de um concurso na qual teríamos, além da
quantidade de questões, o peso de cada disciplina:

>>> concurso
4

{‘Português’: [24, 1], ‘Direito Penal’: [4, 1], ‘Contabilidade’: [24, 2], ‘Informática’: [36, 3]}
Nesse caso, o nome da disciplina é a chave, e a lista consiste nos valores associados, uma lista
por chave. O primeiro elemento da lista é a quantidade de questões, e o segundo, o peso de cada
disciplina. Para alterar valores da lista, basta utilizar a sintaxe:
concurso[‘Informática’][1]=1000
>>> concurso
{‘Português’: [24, 1], ‘Direito Penal’: [4, 1], ‘Contabilidade’: [24, 2], ‘Informática’: [36, 1000]}
PROGRAMAÇÃO
PYTHON
SUMÁRIO

PROGRAMAÇÃO PYTHON��������������������������������������������������������������������������������������� 3
CONJUNTOS��������������������������������������������������������������������������������������������������������������������������������� 3
CRIANDO UM CONJUNTO (SET) A PARTIR DE UMA LISTA�����������������������������������������������������������������������������������������������3
CRIANDO UM CONJUNTO (SET) A PARTIR DE UMA TUPLA���������������������������������������������������������������������������������������������3
CRIANDO UM CONJUNTO (SET) VAZIO������������������������������������������������������������������������������������������������������������������������������3
ADICIONANDO ELEMENTOS����������������������������������������������������������������������������������������������������������������������������������������������4
REMOVENDO ELEMENTOS DE UM CONJUNTO�����������������������������������������������������������������������������������������������������������������4
OPERAÇÕES MATEMÁTICAS COM CONJUNTOS���������������������������������������������������������������������������������� 5
UNIÃO��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������5
INTERSECÇÃO�������������������������������������������������������������������������������������������������������������������������������������������������������������������5
DIFERENÇA�����������������������������������������������������������������������������������������������������������������������������������������������������������������������5
DIFERENÇA SIMÉTRICA����������������������������������������������������������������������������������������������������������������������������������������������������6
PROGRAMAÇÃO PYTHON 3

PROGRAMAÇÃO PYTHON
CONJUNTOS
Conjunto, set em Python, é uma estrutura de dados que implementa operações de união, inter-
secção e diferença, entre outras. A principal característica dessa estrutura de dados é não admitir
repetição de elementos. Outra característica importante é que conjuntos não mantém a ordem de
seus elementos, ou seja, não suportam indexação. Vejamos algumas operações com conjuntos.

CRIANDO UM CONJUNTO (SET) A PARTIR DE UMA LISTA


>>> alfa=set([4,6,2,1,7,0])
>>> alfa
{0, 1, 2, 4, 6, 7}
>>> type(alfa)
<class ‘set’>

CRIANDO UM CONJUNTO (SET) A PARTIR DE UMA TUPLA


>>> b=(4,7,8,1,2)
>>> type(b)
<class ‘tuple’>
>>> c=set(b)
>>> c
{1, 2, 4, 7, 8}
>>> type(c)
<class ‘set’>

CRIANDO UM CONJUNTO (SET) VAZIO


>>> a=set( )
>>> a
set( )

ATENÇÃO – set ( ) é a notação utilizada na linguagem Python para indicar um conjunto vazio. Nesse caso, preci-
samos tomar cuidado porque é muito comum achar que um conjunto vazio seria apresentado como {}. Porém, {}
é a notação utilizada para representar um dicionário vazio. Portanto, para evitar confusão, o Python representa o
conjunto vazio por set ( ) em vez de {}. Vejamos um exemplo de dicionário vazio:
>>> a= dict()
>>> a
{}
4

ADICIONANDO ELEMENTOS
Para adicionar elementos a um set (conjunto), utilizaremos a função add. Vejamos alguns exemplos.

>>> alfa=set()
>>> alfa.add(3)
>>> alfa.add(1)
>>> alfa.add(7)
>>> alfa
{1, 3, 7}
>>> alfa.add(3)
>>> alfa
{1, 3, 7}
No exemplo, veja que, ao adicionarmos 3 pela segunda vez, nada alteramos no conjunto em si, uma
vez que 3 já fazia parte do conjunto.

>>> alfa.add(0)
>>> alfa.add(-1)
>>> alfa
{0, 1, 3, 7, -1}
IMPORTANTE – Conjunto é uma estrutura de dados que não aceita repetição de elementos.
Podemos testar se um elemento faz parte de um conjunto usando o operador in do Python:

>>> alfa
{0, 1, 3, 7, -1}
>>> 1 in alfa
True
>>> -4 in alfa
False

REMOVENDO ELEMENTOS DE UM CONJUNTO


Para remover um elemento de um conjunto em Python, podemos usar a função remove ou a
função discard. Além disso, é possível remover todos os elementos de um conjunto de uma só vez.
Para isso, utilizaremos a função clear.
Vejamos um exemplo da função remove.

Função remove

>>> a
{5, 6, 9}
>>> a=set([1,5,6,1,9,1,5])
>>> a.remove(7)
>>> a.remove(1)
Traceback (most recent call last):
>>> a
File “<pyshell#18>”, line 1, in <module>
{5, 6, 9}
a.remove(7)
KeyError: 7
PROGRAMAÇÃO PYTHON 5

ATENÇÃO - A função remove deve ser usada somente se tivermos certeza que o elemento está presente no
conjunto, pois se o elemento não estiver presente, a função remove retornará um erro.
Caso não tenha certeza se o elemento está presente no conjunto, devemos utilizar a função
discard. Sendo assim, caso o elemento esteja presente, ele será removido, porém, caso o elemento
não faça parte do conjunto nada irá acontecer. Além disso, é possível remover todos os elementos
de um conjunto de uma só vez. Para isso, utilizaremos a função clear. Vejamos alguns exemplos.

Função discard Função clear

>>> alfa
{0, 1, 3, 7, -1}
>>> alfa
>>> alfa.discard(3)
{0, 1, 7, -1}
>>> alfa
>>> alfa.clear( )
{0, 1, 7, -1}
>>> alfa
>>> alfa.discard(10)
set( )
>>> alfa
{0, 1, 7, -1}

OPERAÇÕES MATEMÁTICAS COM CONJUNTOS


UNIÃO
Em Python, a união pode ser realizada utilizando o operador | ou utilizando a função union.
Vejamos alguns exemplos.

Utilizando o operador | Utilizando a função union


a.union(b)
>>> a={0,3,5,7,8,9}
>>> a={0,3,5,7,8,9}
>>> b={0,5,6,8}
>>> b={0,5,6,8}
>>> a|b
>>> a.union(b)
{0, 3, 5, 6, 7, 8, 9}
{0, 3, 5, 6, 7, 8, 9}

INTERSECÇÃO
Outra operação comum em conjuntos é a intersecção, que nos retorna os elementos que aparecem
em ambos conjuntos. Nesse caso, podemos utilizar o operador & ou a função intersect.

Utilizando o operador & Utilizando a função intersection


>>> a={0,3,5,7,8,9} >>> a={0,3,5,7,8,9}
>>> b={0,5,6,8} >>> b={0,8,5,6}
>>> a&b >>> a.intersection(b)
{0, 8, 5} {0, 8, 5}

DIFERENÇA
Entre as operações disponíveis com conjuntos, temos, a diferença entre conjuntos, que utiliza o
operador -.
6

>>> a={0,1,2,3,4,5,6}
>>> b={0,2,4,6,8,9,1}
>>> a-b
{3, 5}
>>> b-a
{8, 9}

DIFERENÇA SIMÉTRICA
A diferença simétrica entre dois conjuntos A e B é composto dos elementos que pertencem somente
a A e somente a B. Nesse caso, podemos utilizar o operador ^ ou a função symmetric_difference.

Utilizando o operador ^ Utilizando a função symmetric_difference


>>> a={3,6,7,2,9} >>> a={3,6,7,2,9}
>>> b={1,3,6,0,8} >>> b={1,3,6,0,8}
>>> a^b >>> a.symmetric_difference(b)
{0, 1, 2, 7, 8, 9} {0, 1, 2, 7, 8, 9}
LINGUAGEM DE
PROGRAMAÇÃO R
SUMÁRIO

LINGUAGEM DE PROGRAMAÇÃO R��������������������������������������������������������������������������� 3


INTRODUÇÃO�������������������������������������������������������������������������������������������������������������������������������� 3
INICIANDO O R������������������������������������������������������������������������������������������������������������������������������������������������������������������3
OPERAÇÕES ARITMÉTICAS�����������������������������������������������������������������������������������������������������������������������������������������������4
OPERADORES DE COMPARAÇÃO��������������������������������������������������������������������������������������������������������������������������������������4
LINGUAGEM DE PROGRAMAÇÃO R 3

LINGUAGEM DE PROGRAMAÇÃO R
INTRODUÇÃO
O uso de pacotes estatísticos para a análise de dados é de grande importância no que se refere
à análise e a interpretação de resultados. Contudo observa-se que estes apresentam um custo de
aquisição relativamente elevado, ou a criação de programas de alternativos. Dentre os softwares
de domínio público, livres, que podem ser utilizados para análise de dados em geral, encontra-se
o Ambiente R, ou simplesmente R, conforme usualmente chamado pelos seus usuários, apresenta
código fonte aberto, podendo ser modificado ou implementado com novos procedimentos desen-
volvidos por qualquer usuário a qualquer momento.
O R torna-se, portanto, uma importante ferramenta na análise e na manipulação de dados,
com testes paramétricos e não paramétricos, modelagem linear e não linear, análise de séries tem-
porais, análise de sobrevivência, simulação e estatística espacial, entre outros, além de apresentar
facilidade na elaboração de diversos tipos de gráficos, no qual o usuário tem pleno controle sobre
o gráfico criado.
O R pode ser obtido gratuitamente em http://cran.r-project.org, onde é apresentado em ver-
sões de acordo com o sistema operacional Linux, Windows ou Mac. Além disso, encontra-se neste
site mais informação sobre a sua utilização e uma central de correspondências onde profissionais
de várias áreas do conhecimento podem contribuir na implementação de novos recursos assim
como responder a dúvidas dos demais usuários.
Como o R é uma linguagem de programação orientada a objetos o usuário pode criar suas
próprias funções, e sua própria rotina na análise de dados. Outro atributo do R é sua capacidade
de interagir com outros programas estatísticos, bem como de banco de dados.
Além dos procedimentos estatísticos o R permite operações matemáticas simples, e manipu-
lação de vetores e matrizes. Assim como confecção de diversos tipos de gráficos.

INICIANDO O R
Com o R iniciado você verá o símbolo “>” em vermelho, que é o prompt do R (conhecido tam-
bém como R Console) indicando que o sistema está pronto para receber seus comandos. Acima do
prompt em cor azul encontram-se algumas informações sobre o sistema e alguns comandos básicos.
4

OPERAÇÕES ARITMÉTICAS
Você pode utilizar o R como uma calculadora. A tabela a seguir apresenta os operadores arit-
méticos que podem ser utilizados.
OPERADORES ARITMÉTICOS

Operador Operação Exemplo Avaliado como...


2 ** 3
** ou ^ Exponencial 8
2^3
%% Módulo/resto 22 %% 8 6
%/% Divisão inteira 22 %/% 8 2
/ Divisão 22 / 8 2.75
* Multiplicação 3*5 15
- Subtração 5–2 3
+ Adição 2+2 4
Prioridades de operações
1. Parênteses ( )
2. Potência ** ou ^
3. Resto %%
4. Divisão inteira %/%
5. Multiplicação e Divisão * /
6. Adição e Subtração + -

OPERADORES DE COMPARAÇÃO
Operador Significado
== Igual a
!= Diferente de
< Menor que
> Maior que
<= Menor ou igual a
>= Maior ou igual a
LINGUAGEM DE
PROGRAMAÇÃO R
SUMÁRIO

LINGUAGEM DE PROGRAMAÇÃO R��������������������������������������������������������������������������� 3


TRABALHANDO COM OBJETOS�������������������������������������������������������������������������������������������������������� 3
CRIANDO OBJETOS�����������������������������������������������������������������������������������������������������������������������������������������������������������3
TIPOS DE DADOS���������������������������������������������������������������������������������������������������������������������������������������������������������������3
LISTANDO OBJETOS����������������������������������������������������������������������������������������������������������������������������������������������������������4
APAGANDO OBJETOS��������������������������������������������������������������������������������������������������������������������������������������������������������4
LINGUAGEM DE PROGRAMAÇÃO R 3

LINGUAGEM DE PROGRAMAÇÃO R
TRABALHANDO COM OBJETOS
Objetos são entidades lógicas que podem ser usadas pelo programa R para armazenar valores,
ou seja, um objeto é um espaço na memória do computador que pode ser utilizado para armazenar
dados.

CRIANDO OBJETOS
Um objeto pode ser criado com a operação de “atribuição”, o qual se denota como uma flecha,
com o sinal de menos e o símbolo “>” ou “<”, dependendo da direção em que se atribui o objeto,
ou com um único sinal de igual.

É importante dizer que o nome de um objeto pode começar com uma letra qualquer, maiúscula
ou minúscula, que pode ser seguida de outra letra, número, ponto (.) ou sublinhado (_).

O R é case-sensitive, portanto:
dados ≠ Dados ≠ DADOS

TIPOS DE DADOS
Os objetos podem receber alguns tipos de dados:
ͫ Numeric: quando seu valor é um número real.
ͫ Interger: quando seu valor é inteiro. O caractere L após um número indica ao R que o
número deve ser registrado como inteiro.
ͫ Character: quando seu valor é texto.
ͫ Complex: quando seu valor é um número complexo.
4

ͫ Logical: quando seu valor é lógico (TRUE ou FALSE).


A função class(), aplicada a um objeto, retorna a sua classe. Vejamos alguns exemplos:

LISTANDO OBJETOS
A função ls() mostra os objetos criados até o momento.

APAGANDO OBJETOS
É possível apagar objetos com o uso do rm ou remove.
LINGUAGEM DE PROGRAMAÇÃO R 5

Além disso, é possível apagar todos os objetos de uma só vez. Nesse caso, podemos utilizar:
rm(list=ls()) ou remove(list=ls()).
LINGUAGEM DE
PROGRAMAÇÃO R
SUMÁRIO

LINGUAGEM DE PROGRAMAÇÃO R��������������������������������������������������������������������������� 3


TIPOS DE OBJETOS����������������������������������������������������������������������������������������������������������������������� 3
VETOR��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3
INDEXANDO VETORES������������������������������������������������������������������������������������������������������������������������������������������������������3
ADICIONANDO VALORES���������������������������������������������������������������������������������������������������������������������������������������������������4
LINGUAGEM DE PROGRAMAÇÃO R 3

LINGUAGEM DE PROGRAMAÇÃO R
TIPOS DE OBJETOS
VETOR
Os vetores recebem vários valores em uma única sequência (uma linha), ou seja, uma estru-
tura unidimensional. Nesse caso, os vetores são objetos que admitem armazenar vários valores
diferentes. Porém, todos de um mesmo tipo. A função c é utilizada para criar um vetor.

INDEXANDO VETORES
Uma vez que aprendemos como criar vetores, chegou o momento de aprendermos a mani-
pulá-los e a realizar algumas operações. Vamos começar criando um vetor com cinco elementos
numéricos e depois realizaremos algumas operações.

Uma vez que temos nosso vetor v, podemos recuperar todos os valores de uma só vez ou
apenas um ou alguns componentes desejados. A posição inicial de um vetor no R possui valor 1
e segue da esquerda para a direita. Portanto, se quisermos obter o valor contido na posição 2 do
nosso vetor v, usamos a seguinte notação: v[2]. Vejamos:

É possível realizar operações aritméticas com os valores obtidos a partir de determinadas


posições. Vejamos alguns exemplos:

Podemos também selecionar um intervalo de componentes do vetor, o que é bastante útil e


rápido. Se quisermos selecionar os dados das posições 2 a 4 do nosso vetor, basta fazermos:
4

Para exibirmos todos os componentes do vetor exceto o de uma determinada posição, utili-
zamos o sinal - ao indexar o nosso vetor. O exemplo seguinte selecionará todos os elementos do
nosso vetor v, exceto o elemento da posição 4.

É possível indexar apenas algumas posições específicas, por exemplo, 2 e 5. Nesse caso, uti-
lizaremos a sintaxe:

ADICIONANDO VALORES
Para adicionar valores ao vetor, é possível utilizar a função append. Vejamos os exemplos a
seguir:
LINGUAGEM DE PROGRAMAÇÃO R 5
LINGUAGEM DE
PROGRAMAÇÃO R
SUMÁRIO

LINGUAGEM DE PROGRAMAÇÃO R��������������������������������������������������������������������������� 3


FUNÇÕES�������������������������������������������������������������������������������������������������������������������������������������� 3
LINGUAGEM DE PROGRAMAÇÃO R 3

LINGUAGEM DE PROGRAMAÇÃO R
FUNÇÕES
Funções são trechos de programas que realizam ações e que retornam, normalmente,
resultados.
Funções são escritas assim: nome(argumentos)
ͫ sqrt  função utilizada para calcular a raiz quadrada.

ͫ factorial  permite calcular o fatorial de um número.

Criação de Sequências
Para criar vetores de números com intervalo fixo unitário (intervalo de 1) se utiliza o operador
sequencial (:):

ͫ Função seq

ͫ Função rep
Também é fácil criar uma sequência de números repetidos utilizando a função ‘rep’:
4

ͫ Função “length“
A função length retorna o número de elementos de um objeto:

ͫ Função Sample
A função sample é utilizada para realizar amostras aleatórias e funciona assim:
ͫ sample(x, size=1, replace = FALSE)
# em que x é o conjunto de dados do qual as amostras serão retiradas, size é o número de
amostras e replace é onde você indica se a amostra deve ser feita com reposição (TRUE) ou sem
reposição (FALSE).
LINGUAGEM DE
PROGRAMAÇÃO R
SUMÁRIO

LINGUAGEM DE PROGRAMAÇÃO R��������������������������������������������������������������������������� 3


LISTAS����������������������������������������������������������������������������������������������������������������������������������������� 3
CONDIÇÕES���������������������������������������������������������������������������������������������������������������������������������� 3
IF & ELSE��������������������������������������������������������������������������������������������������������������������������������������������������������������������������3
LINGUAGEM DE PROGRAMAÇÃO R 3

LINGUAGEM DE PROGRAMAÇÃO R
LISTAS
Lista é um tipo de objeto que admite armazenar vários valores diferentes, mesmo de tipos
diferentes. As listas permitem combinar diferentes tipos de objetos em um mesmo objeto. Esses
objetos podem ser vetores, matrizes, números e/ou caracteres e até mesmo outras listas.
ͫ Listas são construídas com a função list().
Os componentes da lista são introduzidos usando a forma usual (nome = argumento) de atribuir
argumentos em uma função. Quando você digita o nome de um objeto que é uma lista cada compo-
nente é mostrado com seu nome e valor. Cada um desses componentes da lista pode ser acessado
individualmente por seu nome antecedido pelo símbolo “$”:

> pf<-list(concurso =’Polícia Federal’, disciplina = ‘Informática’, questões = 36)


> str(pf)
List of 3
$ concurso : chr “Polícia Federal”
$ disciplina: chr “Informática”
$ questões : num 36

> pf<-list(concurso =’Polícia Federal’, disciplina = ‘Informática’, questões = 36)


> pf$disciplina
[1] “Informática”
> pf$questões
[1] 36

> pf<-list(concurso =’Polícia Federal’, disciplina = ‘Informática’, questões = 36)


> pf[1]
$`concurso`
[1] “Polícia Federal”
> pf[[1]]
[1] “Polícia Federal”

> pf<-list(concurso =’Polícia Federal’, disciplina = ‘Informática’, questões = 36)


> pf[3]
$`questões`
[1] 36
> pf[[3]]
[1] 36

CONDIÇÕES
IF & ELSE
A estrutura condicional é algo bastante intuitivo. A estrutura de if (se) e else (então) usa os ope-
radores lógicos apresentados anteriormente. Se a condição do if() for verdadeira, executa-se uma
tarefa específica, se for falsa, executa-se uma tarefa diferente.
4

if (condição) {
ações a serem realizadas se a condição for verdadeira
} else {
ações a serem realizadas se a condição for falsa
}
Considere o programa a seguir, escrito em R.
a<-TRUE
b<-FALSE
if (a&!b){
print(“concurso”)
}else{
print(“pf”)
}
Após a execução do programa, será obtido o seguinte resultado.
[1] “pf”
GABARITO: ERRADO
Considere o programa a seguir, escrito em R.
a<-c(4,6,9)
c(3,2,7)->b
if (a[3]>b[1]){
print(a[-2])
}else{
b[-1]
}
Após a execução do programa, será obtido o seguinte resultado.
[1] 4 9
GABARITO: CERTO
LINGUAGEM DE
PROGRAMAÇÃO R
SUMÁRIO

LINGUAGEM DE PROGRAMAÇÃO R��������������������������������������������������������������������������� 3


ESTRUTURAS DE REPETIÇÃO���������������������������������������������������������������������������������������������������������� 3
FOR( )���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3
WHILE()������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3
LINGUAGEM DE PROGRAMAÇÃO R 3

LINGUAGEM DE PROGRAMAÇÃO R
ESTRUTURAS DE REPETIÇÃO
Reescrever o seu código muitas vezes por precisar de repetições seria bastante trabalhoso,
além de precisarmos de mais tempo para isso. Por isso, o R tem algumas funções que fazem essas
repetições para nós. Aqui vamos falar das funções for () e while (). Além de fazerem repetições de
código, eles possuem a estrutura parecida na forma de escrever: nas duas funções, os comandos
a serem repetidos devem vir entre chaves.

FOR( )
Função que repete o código seguinte para o comprimento da sequência indicada entre parênteses.

Sintaxe:
for (variável in sequência) {
Comandos a serem repetidos
}
Exemplo:
for (i in 1:10) {
print (i)
}
Considere o programa a seguir, escrito em R.
a<-seq(1,12,3)
for (x in a){
print(x*2)
}
Após a execução do programa, será obtido o seguinte resultado.
[1] 2
[1] 8
[1] 14
[1] 20
GABARITO: CERTO

WHILE()
A tradução desta função nos ajuda a entendê-la mais: while significa enquanto. Então podemos
ler essa função como: Enquanto alguma condição for verdadeira, o código abaixo será repetido.
4

Sintaxe:
while (condição){
comandos a serem repetidos
}
Exemplo:
a=1
while (a <=10 ) {
print (a)
a=a+1
}
Considere o programa a seguir, escrito em R.
a=3
while (a <=10 ) {
a=a+2
if (a!=9-2){
print(a)
}
}
Após a execução do programa, será obtido o seguinte resultado.
[1] 5
[1] 7
[1] 9
GABARITO: ERRADO
LINGUAGEM DE
PROGRAMAÇÃO R
SUMÁRIO

LINGUAGEM DE PROGRAMAÇÃO R��������������������������������������������������������������������������� 3


MATRIZ����������������������������������������������������������������������������������������������������������������������������������������� 3
DATAFRAME���������������������������������������������������������������������������������������������������������������������������������� 4
LINGUAGEM DE PROGRAMAÇÃO R 3

LINGUAGEM DE PROGRAMAÇÃO R
MATRIZ
São objetos que admitem armazenar vários valores diferentes em várias linhas e colunas.
Porém, todos de um mesmo tipo. A função matrix cria uma matriz com os valores do argumento.
Os argumentos nrow e ncol são utilizados para definir a quantidade de linhas e colunas da matriz.

Para acessar posições de uma matriz, utilizaremos a sintaxe[linha,coluna]. Vejamos os exem-


plos a seguir:
4

Considere o programa a seguir, escrito em R.


> x<-seq(4,37,3)
> y<-matrix(x,nrow=3)
> print(y[3,2])
Após a execução do programa, será obtido o seguinte resultado.
[1] 19
GABARITO: CERTO

DATAFRAME
O mesmo que uma matriz, mas aceita valores de tipos diferentes (numérico e caracteres). A
função para criar um dataframe é: data.frame( ).
LINGUAGEM DE PROGRAMAÇÃO R 5

Acessando valores de um dataframe:


LINGUAGEM DE
PROGRAMAÇÃO R
SUMÁRIO

LINGUAGEM DE PROGRAMAÇÃO R��������������������������������������������������������������������������� 3


FUNÇÕES�������������������������������������������������������������������������������������������������������������������������������������� 3
TRABALHANDO COM GRÁFICOS������������������������������������������������������������������������������������������������������� 4
GRÁFICOS DE BARRAS������������������������������������������������������������������������������������������������������������������������������������������������������4
GRÁFICOS DE PIZZA����������������������������������������������������������������������������������������������������������������������������������������������������������6
GRÁFICO DE PONTOS (GRÁFICOS DE DISPERSÃO)����������������������������������������������������������������������������������������������������������7
LINGUAGEM DE PROGRAMAÇÃO R 3

LINGUAGEM DE PROGRAMAÇÃO R
FUNÇÕES
ͫ mean – função utilizada para calcular a média aritmética.

ͫ
ͫ median – função utilizada para calcular a mediana.

ͫ
ͫ max – função utilizada para retornar o maior valor de um conjunto de dados.

ͫ
ͫ min – função utilizada para retornar o menor valor de um conjunto de dados.

ͫ
ͫ sum – função utilizada para somar valores de um conjunto de dados.

ͫ
Considere o programa a seguir, escrito em R.
a<-c(7,30,1,0,9,5,100,2)
4

b<-matrix(a,ncol=2)
c<-b[2,1]
d<-b[4,2]
e=c(c,d)
print(mean(e))
Após a execução do programa, será obtido o seguinte resultado.
[1] 17.5
GABARITO: ERRADO

TRABALHANDO COM GRÁFICOS


Produzir gráficos de qualidade é uma ótima forma para apresentar e explorar dados. Os gráficos
mais comuns são os gráficos de barras, pizza e de pontos (gráfico de dispersão).

GRÁFICOS DE BARRAS
O gráfico de barras é composto por duas linhas ou eixos, um vertical e outro horizontal. No
eixo vertical são construídas as barras que representam a variação de um fenômeno ou de um
processo de acordo com sua intensidade. Essa intensidade é indicada pela altura da barra. No eixo
horizontal especifica-se as categorias da variável. As barras devem sempre possuir a mesma largura
e a distância entre elas deve ser constante. Veja a seguir como construir este tipo de gráfico no R.
ͫ Para fazer gráficos de barras no R a função é barplot.
Estatística de Drogas Apreendidas
Cocaína (cloridrato, crack e pasta base) – kg
LINGUAGEM DE PROGRAMAÇÃO R 5

Vamos construir o nosso gráfico passo a passo

Podemos nomear as posições do vetor kg através do comando names():


6

GRÁFICOS DE PIZZA
Os gráficos de torta (ou pizza) são representados por círculos divididos proporcionalmente de
acordo com os dados do fenômeno ou do processo a ser representado. Veja a seguir como construir
este tipo de gráfico no R.
ͫ Para fazer gráficos de pizza no R a função é pie.
LINGUAGEM DE PROGRAMAÇÃO R 7

GRÁFICO DE PONTOS (GRÁFICOS DE DISPERSÃO)


Os diagramas de dispersão são representações de duas variáveis que são organizadas em um
gráfico, para observar o padrão de relacionamento entre as mesmas. É um método gráfico que per-
mite verificar a existência ou não de relação entre duas variáveis de natureza quantitativa, ou seja,
variáveis que podem ser medidas ou contadas. Veja a seguir como construir este tipo de gráfico no R.
ͫ Para fazer gráficos de dispersão no R a função é plot.
Exemplo 1:
8

Exemplo 2:

Exemplo 3:
LINGUAGEM DE PROGRAMAÇÃO R 9

Exemplo 4:

Вам также может понравиться