Escolar Documentos
Profissional Documentos
Cultura Documentos
de Sistemas
Módulo Programação
de Sistemas
Disciplina:
Fundamentos de Programação
Fundamentos de Programação
Introdução
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
Introdução
A linguagem de programação
é um conjunto de instruções
direcionadas à um computador.
5
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Introdução
6
Fundamentos de Programação
Introdução
O grande desafio dos programadores Na década de 1940, os primeiros
é conceber uma sintaxe que seja, computadores elétricos foram
leve, intuitiva e preferencialmente criados, necessitando a criação
limpa, ou seja, com códigos claros e das primeiras linguagens.
objetivos.
Como os dispositivos de
armazenamento ainda eram
precários, exigia-se códigos de
programação complexos, que
ficaram conhecidos como
linguagem de máquina.
7
Imagem: https://pixabay.com/pt/vectors/codifica%c3%a7%c3%a3o-computador-1294361/
Fundamentos de Programação
Introdução
Nesta mesma década tivemos ainda
a criação do Plankalkül por Korand
Assembly Suze, ENIAC code System que foi
a linguagem do primeiro
computador digital o ENIAC.
A primeira linguagem de
máquina que foi trabalhada foi o
Assembly, com está linguagem
Na década de 50, Grace Hopper, que
foi possível programar estes
nesta época era programadora na
grandes computadores.
marinha americana, desenvolveu o A-10,
uma linguagem de alto nível criada para
Mais ainda se trabalhava a nível
o computador UNIVAC.
de máquina.
8
Fundamentos de Programação
Introdução
Introdução
À orientação à objeto também é
considerado um marco na história das
linguagens de programação.
10
Imagem: https://pixabay.com/pt/photos/designer-de-web-design-do-site-1953129/
Fundamentos de Programação
Introdução
11
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
• C
Introdução • C#
• C++
• Java
Existem milhares de linguagens de • JavaScript
programação, dentre delas, destacamos • Perl
algumas linguagens de programação: • PHP
• PL/SQL
• Portugol
• Python
• Ruby
• Scratch
• Swift
• Visual Basic
• Entre outras...
12
Imagem: https://pixabay.com/pt/illustrations/rede-desenvolvedor-web-1935737/
Fundamentos de Programação
Introdução
Linguagem de Programação de
Níveis de Programação ALTO NÍVEL
Introdução
Interpretadores e
Um compilador basicamente,
Compiladores traduz o programa para código
de máquina, uma vez
Todas os códigos de programação compilado, o programa não
podem ser convertidos a código de mais estará em formato de
máquina por compiladores ou
“edição” ele já se torna algo
interpretados por interpretadores.
existente dentro do sistema em
Esta tradução transforma o código fonte que o mesmo está inserido.
em código de máquina.
14
Fundamentos de Programação
Introdução
• Linguagens aplicativas, ou de aplicação;
Classificação das • Linguagens concorrentes, distribuídas e
Linguagens de paralelas;
• Linguagens de altíssimo nível;
Programação • Linguagens de aplicação especializada;
• Linguagens de fluxo de dados;
• Linguagens de micro programação;
A ACM (Association for Computing • Linguagens de montagem e de macro;
Machinery) classifica as linguagens • Linguagens de projeto;
de programação em vários tipos, • Linguagens extensíveis;
buscando padronizar seu uso e suas • Linguagens não determinísticas;
aplicações, são elas: • Linguagens não procedurais;
• Linguagens orientadas a objeto.
15
Fundamentos de Programação
Introdução
Conceito de Programação
16
Fundamentos de Programação
Introdução
1. Programação Estruturada
A programação estruturada foi a Este conceito orientava os
percursora da estruturação da programadores a usarem códigos
linguagem de programação, ela simples, usando de funções e
divide em três partes. sub-rotinas em sua criação.
17
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Introdução
2. Programação Linear
A programação linear é focada
em otimizações e soluções de
problemas de programação, este Historicamente a programação
tipo de programação utiliza uma linear apresenta resoluções
estrutura matemática para
como dualidade, decomposição,
buscar resoluções.
e a importância da convexidade
e suas generalizações.
18
Fundamentos de Programação
Introdução
3. Programação Modular
A programação modular apresenta o
conceito de estruturar um programa por
módulos relacionados e interdependentes
através de uma interface em comum.
19
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Introdução
4. Programação
Orientada a Eventos
Diferente de programas normais que
seguem um fluxo de controle padronizado,
os controles de fluxo de programas
orientados a evento são guiados por ações
externas, chamadas eventos.
20
Imagem: https://pixabay.com/pt/illustrations/internet-meios-de-comunica%c3%a7%c3%a3o-sociais-4463031/
Fundamentos de Programação
Introdução
5. Programação
Orientada a Objetos
Visa não apenas estruturar o código em Este método de programação
classes ou em módulos, este tipo de deu origem a diversas
programação traz um grande paradigma, interpretações semânticas da
apresentando o desafio de implementar
inteligência artificial, atribuindo
um código e potencializar sua atuação.
atributos e definindo métodos
Unindo diversas composições e interações entre seus objetos.
de códigos, o que conhecemos por
objetos.
21
Fundamentos de Programação
Introdução
5. Programação
Orientada a Objetos
A programação orientada a
objeto é estruturada em 5 bases
fundamentais.
Introdução
Conceito de Lógica
É um conjunto ordenado de
instruções visando alcançar um
objetivo, sistematizando todas as
suas etapas em sequência, a fim
de organizar um pensamento, e
desta forma, alcançar a solução
de uma problemática.
23
Imagem: https://pixabay.com/pt/illustrations/homem-cabe%c3%a7a-silhueta-tingir-3591573/
Fundamentos de Programação
Introdução
Linguagens Web
As linguagens de programação web
ou conhecidas como linguagem de
As principais ferramentas para
marcação, são utilizadas para o
desenvolvimento web são:
desenvolvimento de páginas e
sistemas que são atrelados à internet,
estas linguagens permitem a criação • HTML;
de uma estrutura que faz a
comunicação entre os usuários de
• CSS;
internet e bases de dados locais. • JavaScript.
24
Imagem: https://pixabay.com/pt/illustrations/local-na-rede-internet-responsivo-3374825/
Fundamentos de Programação
Introdução
ATIVIDADE
25
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
TEMA 01
Introdução a Lógica de Programação
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
27
Imagem: https://pixabay.com/pt/illustrations/intelig%c3%aancia-artificial-c%c3%a9rebro-3382507/
Fundamentos de Programação
29
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
30
Imagem: https://pixabay.com/pt/illustrations/brasil-bandeira-m%c3%a3o-paz-vit%c3%b3ria-641381/
Fundamentos de Programação
31
Imagem: https://pixabay.com/pt/photos/desenvolvedor-de-software-6521720/
Fundamentos de Programação
32
Imagem: https://pixabay.com/pt/photos/desenvolvedor-de-software-6521720/
Fundamentos de Programação
33
Fundamentos de Programação
34
Imagem: https://pixabay.com/pt/photos/desenvolvedor-de-software-6521720/
Fundamentos de Programação
35
Imagem: https://pixabay.com/pt/illustrations/bola-bin%c3%a1rio-dados-de-computador-63527/
Fundamentos de Programação
37
Fundamentos de Programação
39
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
40
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
41
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
INGREDIENTES:
1. Faça uma pesquisa de alguma 2 cebolas grandes cortadas em rodelas
receita de comida na internet e 1 xícara (chá) de farinha de trigo
faça um algoritmo no VISUALG que 1 colher (chá) de fermento químico
exiba esta receita para o usuário. 1 ovo
1 xícara (chá) de leite
Pitada de sal
Para empanar: Aproximadamente 1 xícara (chá)
de farinha de rosca
MODO DE PREPARO:
1-Misture a farinha, o fermento, o ovo, o leite e
o sal até formar uma massa homogênea.
2-Empane os anéis de cebola na massa, e depois
na farinha de rosca.
3-Frite em óleo quente até ficar dourado, na
sequência coloque no papel toalha. 42
Imagem: https://pixabay.com/pt/illustrations/monumento-
pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
43
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
44
Fundamentos de Programação
45
Fundamentos de Programação
46
Fundamentos de Programação
4. Caracter
As variáveis do tipo caractere, Números também podem ser armazenados
deverão armazenar somente nelas, porém serão interpretados como
letras e palavras. palavras e não como números.
47
Fundamentos de Programação
48
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
49
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
50
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
51
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
52
Imagem: https://pixabay.com/pt/illustrations/fundo-n%c3%bameros-contando-n%c3%bameros-5594879/
Fundamentos de Programação
53
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
54
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
55
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
56
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
57
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
58
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
60
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
EXEMPLO:
61
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
TEMA 02
Fluxogramas e Condicionais
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
Fluxogramas e Condicionais
63
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
64
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
Exemplo 1
Somando dois valores
65
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
Exemplo 2
Utilizando condicionais
66
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
Criando fluxogramas
pelo Power Point
67
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
ATIVIDADES
1. Qual a utilidade em utilizar um fluxograma?
2. Em qual fase do projeto os fluxogramas são mais úteis?
3. Através do próprio Word, crie um fluxograma que calculará a média entre dois
valores. Faça todo o processo com base nos exemplos mostrados neste tema ou
em aula.
4. Através do próprio Word crie um fluxograma para ler a nota do aluno, se a nota for
menor que 7 deverá aparecer uma mensagem: “Aluno reprovado!” Caso contrário
deverá aparecer “Passou de ano!”.
5. Pesquise na internet três programas gratuitos que são próprios para criar
fluxogramas e ou sites online que permitem a criação de fluxogramas
gratuitamente.
68
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
Fluxogramas e Condicionais
69
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
Operadores de
Comparação
70
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
Condicionais Simples
A condicional simples funciona da
seguinte maneira, utilizamos:
Fluxogramas e Condicionais
Condicionais Simples
A condicional simples funciona da
seguinte maneira, utilizamos:
Fluxogramas e Condicionais
Condicionais Composta
Exemplo 01:
Note que se a condição for verdadeira,
ou seja, (nota >=7) o algoritmo exibirá:
“Parabéns! Continue assim!”
73
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
Condicionais Composta
Exemplo 02:
74
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
Conectivo lógico “E”
Para que as ações sejam executadas é
necessário que todas as condições
sejam verdadeiras, do contrário não
serão executadas.
Exemplo 01:
A garota tem duas condições para sair, essas duas
condições (receber o salário e não chover) precisam ser
verdadeiras para que ela saia, do contrário ela não irá sair.
75
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
Conectivo lógico “E”
Exemplo 02:
76
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
Conectivo lógico “OU”
Para que as ações sejam executadas é
necessário que qualquer uma das
condições sejam verdadeiras.
Exemplo 01:
Se qualquer uma das condições for
verdadeira (passa o ônibus A ou B) ele
conseguirá chegar no horário. Se
nenhum dos ônibus passar ele se
atrasará.
77
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
Conectivo lógico “OU”
Exemplo 02:
78
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
Escolha Caso
A escolha caso é muito utilizado em telas
com menus de interação com o usuário.
79
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Fluxogramas e Condicionais
ATIVIDADES
1. Desenvolva um programa utilizando uma condicional simples, o algoritmo deve
verificar se o valor digitado é menor ou igual a 20. Se a condição for verdadeira, deve
aparecer uma mensagem: "O valor digitado é menor ou igual a 20!".
Exemplo de tela:
80
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
Fluxogramas e Condicionais
ATIVIDADES
2. Desenvolva um programa qualquer utilizando a condicional composta.
OBS: O seu nome deve aparecer na tela de execução do programa.
81
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
TEMA 03
Valores aleatórios e Laços de Repetição
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
As linguagens de programação
normalmente possuem funções para a
criação de valores aleatórios e através
delas podemos gerar valores aleatórios
para utilizarmos na criação de por
exemplo: jogos, senhas, captcha,
algoritmos de criptografia etc.
83
Imagem: https://pixabay.com/pt/photos/pol%c3%adtica-de-privacidade-isto-2117996/
Fundamentos de Programação
84
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
85
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
86
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
87
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
88
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
EXEMPLO:
89
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
EXEMPLO:
90
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
91
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
92
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
93
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Resultado:
94
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
95
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
97
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
98
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
99
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
100
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
TEMA 04
Menus e validações de dados
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
102
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
A validação de dados é
algo extremamente necessária,
visto que o sistema deve prever a
possibilidade de falhas humanas
durante a interação com o usuário
através de leitura de dados em
tela.
103
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
104
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
105
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
106
106
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
107
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Menus e validações
de dados
Entendo o código:
Neste caso foi utilizado a condicional
“escolha” para interagir com o valor
inserido pelo usuário, inclusive a
condicional escolha é muito boa para
ser utilizada nesses casos.
108
Fundamentos de Programação
110
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
111
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
112
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
TEMA 05
Vetores
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
Vetores
Os vetores ajudam a facilitar esta tarefa,
Imagine que você deseja armazenar eles são um tipo de variável que permite
o nome e as notas de dez alunos, armazenarmos uma grande quantidade
seria uma tarefa árdua ter que criar de informações de um mesmo tipo, quer
dez variáveis para armazenar cada sejam: números inteiros, reais, caracteres
uma os nomes e mais dez para ou lógicos, sem precisar criar várias
armazenar as notas deles. variáveis diferentes para cada dado a ser
armazenado.
114
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
EXEMPLO 01
Uma variável que será
transformada em vetor deverá
ser declarada normalmente
como todas as variáveis, ou
seja, dentro da seção de
declarações de variáveis, ou
dentro de funções e
procedimentos para serem
usados localmente.
115
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
EXEMPLO 01
nomeDoVetor: vetor [tamanho do
vetor] de tipo (inteiro, real, caractere
ou lógico).
No exemplo, criamos um vetor com
o nome vetorDeInteiros para
armazenar 4 números inteiros
([0...3]), veja a linha 9 do algoritmo.
Em seguida, na linha 14, atribuímos
a primeira posição de memória do
vetor (posição 0) para receber o
valor 2.
116
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
EXEMPLO 01
Veja como ficou o armazenamento dos dados
no vetor vetorDeInteiros, na posição 0 está
armazenado o valor 2, já, nas demais posições
do vetor, por padrão para vetores inteiros ou
reais receberão o valor inicial de 0, podendo
serem alterados quando assim desejarmos.
Representação do vetor:
117
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
EXEMPLO 02
Criando um vetor do tipo Real
118
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
EXEMPLO 02
Criando um vetor do tipo Real
Note que na posição 0 do vetor foi
atribuído o valor de 2.6, veja a
linha 14.
Representação do vetor:
119
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
EXEMPLO 03
Criando um vetor do tipo Caractere
120
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
EXEMPLO 03
Criando um vetor do tipo Caractere
Note que na posição 0 do vetor foi
atribuído o valor de “blablabla”, veja
a linha 14.
Representação do vetor:
121
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
EXEMPLO 04
Criando um vetor do tipo Lógico
122
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
EXEMPLO 04
Criando um vetor do tipo Lógico
Note que na posição 0 do vetor foi
atribuído o valor verdadeiro veja a
linha 14.
Representação do vetor:
123
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
EXEMPLO 05
Exibindo as informações
armazenadas nos vetores
A partir da linha 18, é possível
visualizar uma maneira de mostrarmos
as informações armazenadas num
vetor.
Vetores
EXEMPLO 05
Exibindo as informações
armazenadas nos vetores
No exemplo, foi criado um laço
de repetição do tipo “Para”
com o objetivo de ler os
números inteiros digitados
para as quatro posições de um
determinado vetor. Veja entre
as linhas 19 e 23.
125
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
EXEMPLO 05
Exibindo as informações
armazenadas nos vetores
Outro laço de repetição foi
criado para mostrar os valores
armazenados no vetor, veja as
linhas entre 29 e 31.
Os laços de repetição utilizam
uma variável como contador
do tipo inteiro que será
responsável por armazenar a
posição de memória do vetor.
126
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
ATIVIDADE
127
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
Vetores
ATIVIDADE
3. Desenvolva um programa que utilizará Limpe a tela e exiba os
um vetor para armazenar 5 números números conforme o
inteiros digitados pelo usuário, e depois exemplo:
mostre esses 5 números em tela.
Exemplo:
128
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
ATIVIDADE
4. Desenvolva um programa
que utilizará um vetor que
receberá 5 números inteiros
que serão gerados de forma
aleatória (entre 0 e 100) e
depois mostre esses números
aleatórios armazenados no
vetor em tela.
129
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
5. Desenvolva um programa
utilizando vetores que irão ler do
usuário 5 nomes de alunos e 5
notas de AV1 e 5 notas de AV2.
Segundo passo: Mostre os nomes
O algoritmo deverá calcular a e as notas dos alunos.
média aritmética simples das
notas dos alunos e exibi-las.
130
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Vetores
ATIVIDADE
6. Desenvolva um programa que irá
ler 10 números inteiros digitados Em seguida a tela deve ser apagada, e
pelo usuário, esses números devem depois mostrar os números pares
ser armazenados num vetor, em armazenados no vetor:
seguida mostre em tela somente os
números pares armazenados no
vetor.
131
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
TEMA 06
Matrizes e Algoritmos de ordenação
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
133
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
134
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
EXEMPLO 01
Para criarmos uma matriz no
VISUALG é necessário declará-la na
seção de declarações de variáveis.
135
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
EXEMPLO 01
136
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
137
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
138
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
139
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
140
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
141
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
142
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
145
Fundamentos de Programação
146
Fundamentos de Programação
147
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Exemplo:
O que restou foi comparar o
penúltimo valor com o último, no
caso comparar o 5 com o 4, como Pronto! Agora temos o nosso vetor ordenado.
4 é menor que 5 então será a
feita a troca.
149
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Exemplo:
Algoritmo de ordenação
“Bubble Sort” parte 1/2:
150
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Exemplo:
Algoritmo de
ordenação
“Bubble Sort”
parte 2/2:
151
Fundamentos de Programação
153
Fundamentos de Programação
TEMA 07
Procedimento
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
Procedimento
155
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Procedimento
EXEMPLO 01
Os procedimentos são criados fora
da seção Início, veja que entre as
linhas 8 e 11 foi criado um
procedimento de nome “saudacao”,
toda vez que ele for chamado
aparecerá uma mensagem “Olá
Mundo! ”.
156
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Procedimento
EXEMPLO 02
Procedimento com parâmetros
Procedimento
EXEMPLO 02
Procedimento com parâmetros
Procedimento
EXEMPLO 02
Procedimento com parâmetros
159
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Procedimento
EXEMPLO 03
Procedimento utilizando
Variável Local
160
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Procedimento
EXEMPLO 03
Procedimento utilizando
Variável Local
Note que na tela de execução, não
importa quantas vezes chamemos o
procedimento “incrementaVariavelLocal”
sempre o valor será o mesmo (nesse
algoritmo), pois cada vez que ele é
chamado a variável terá sempre 0 e
depois será incrementado +1.
161
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Procedimento
EXEMPLO 03
Procedimento utilizando
Variável Local
162
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Procedimento
ATIVIDADE
1. O que são módulos?
Procedimento
ATIVIDADE • Se o cliente escolher a opção 1, deverá apagar a
tela e em seguida aparecer uma tela com um
saldo fictício.
• Se o cliente escolher a opção 2, deverá apagar a
6. Desenvolva um programa que tela e em seguida o sistema deverá mencionar os
possuirá o menu de um sistema gastos (fictícios) mais recentes do cliente.
bancário, conforme o exemplo
abaixo, porém, para cada tela do
menu deverá ser criado um
procedimento, ou seja, um
procedimento para o menu
principal, outro para saldo,
extratos e empréstimos.
164
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Procedimento
ATIVIDADE
• Se o cliente escolher a opção 3, deverá apagar a tela e
em seguida aparecer uma mensagem: “Procure a sua
agência para a liberação de empréstimos. ”
• Criar uma consistência fazendo que o usuário digite
apenas números entre 1 e 3, se o usuário digitar um
número fora desse intervalo, uma mensagem de erro
deverá ser apresentada com os dizeres: “Opção inválida!
” E em seguida deve ser solicitada a opção novamente
para o usuário até que ele digite uma opção válida.
165
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
166
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Procedimento
167
Fundamentos de Programação
Procedimento
Exemplo 01
Funções Sem Parâmetros
Assim como nos procedimentos, as
funções são criadas fora da seção
“Início”, conforme a imagem abaixo,
veja as linhas entre 9 e 14.
168
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Procedimento
Exemplo 01
Funções Sem Parâmetros
Na linha 20 é feita a chamada da
função retornaInteiro.
169
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Procedimento
Exemplo 02
Funções Com Parâmetros
São lidos dois números inteiros
através do usuário (linha 25), esses
números são passados como
parâmetros na chamada da função
(linha 29).
170
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Procedimento
Exemplo 02
Funções Com Parâmetros
Após, o valor da soma retornada
pela função retornaSoma é exibido
em tela (linha 31).
171
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Procedimento
ATIVIDADE
1. O que são funções?
172
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
Procedimento
ATIVIDADE
173
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
Procedimento
ATIVIDADE
5. Desenvolva um programa que
possuirá uma função que receba o
Limpe a tela e faça aparecer a
nome do usuário e a idade dele, a mensagem abaixo:
função deverá retornar quantos dias
de vida o usuário já viveu.
Por exemplo:
174
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
TEMA 08
Técnicas e dicas de programação
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
176
Fundamentos de Programação
1. Identificadores
Em programação, um identificador é
um nome atribuído a uma variável de
memória, uma estrutura de dados,
uma classe, um objeto, um
procedimento, uma função, um
comando ou palavra reservada da
linguagem.
177
Imagem: https://pixabay.com/pt/illustrations/desenvolvimento-%c3%adcone-3335977/
Fundamentos de Programação
179
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
180
Imagem: https://pixabay.com/pt/illustrations/bin%c3%a1rio-m%c3%a3os-teclado-torneira-2372130/
Fundamentos de Programação
181
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
182
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
183
Fundamentos de Programação
184
Fundamentos de Programação
185
Fundamentos de Programação
186
Imagem: https://pixabay.com/pt/illustrations/conselho-escola-quadro-negro-giz-64269/
Fundamentos de Programação
188
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
TEMA 09
Conceitos básicos de Python
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
190
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
191
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Site: https://www.python.org/
Marcar as duas opções
192
Imagem: Instalador do Python 3.10.5 (64-bit)
Fundamentos de Programação
Criando o Nosso
Primeiro Programa
193
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Criando o Nosso
Primeiro Programa
194
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
195
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
196
Fundamentos de Programação
197
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
198
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
199
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
Variáveis em Python
Uma variável serve para armazenar
um valor na memória, para que esse
valor possa ser acessado/utilizado
pelo software quando for necessário.
201
Fundamentos de Programação
203
Fundamentos de Programação
204
Fundamentos de Programação
205
Fundamentos de Programação
206
Fundamentos de Programação
207
Fundamentos de Programação
208
Fundamentos de Programação
209
Fundamentos de Programação
210
Fundamentos de Programação
211
Fundamentos de Programação
212
Fundamentos de Programação
213
Imagem: https://pixabay.com/pt/photos/contador-contabilidade-conselheiro-1238598/
Fundamentos de Programação
214
Fundamentos de Programação
215
Fundamentos de Programação
216
Fundamentos de Programação
3. O que deve ser feito para ler uma variável do tipo inteiro?
Dê um exemplo.
4. O que deve ser feito para ler uma variável do tipo real (float)?
Dê um exemplo.
217
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
218
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
219
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
TEMA 10
Listas, tuplas e dicionários
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
221
Fundamentos de Programação
222
Fundamentos de Programação
223
Fundamentos de Programação
224
Fundamentos de Programação
225
Fundamentos de Programação
226
Fundamentos de Programação
227
Fundamentos de Programação
1ª Opção
2ª Opção
228
Fundamentos de Programação
229
Fundamentos de Programação
Dicionários
Os dicionários assim como as
Tuplas e Listas também podem
armazenar um conjunto de valores,
a diferença é que esses valores não
possuem uma sequência ordenada,
ou seja, o acesso aos valores não
ocorre por meio de índices e sim
por meio de keys (chaves).
230
Fundamentos de Programação
Dicionários
Na tela se quisermos visualizar as
informações armazenadas teremos
que utilizar as em vez de índices
para acessar os dados.
231
Fundamentos de Programação
Dicionários
Para checarmos a quantidade de
chaves de um dicionário podemos
utilizar a função len().
232
Fundamentos de Programação
233
Fundamentos de Programação
234
Fundamentos de Programação
235
Fundamentos de Programação
236
Fundamentos de Programação
237
Fundamentos de Programação
238
Fundamentos de Programação
239
Fundamentos de Programação
242
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
TEMA 11
Condicionais
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
Condicionais
Condicional Simples
As condicionais são parte fundamentais nos
programas, pois devemos tentar prever as
situações que podem ocorrer, principalmente
quando recebemos algum dado através do
usuário.
Condicionais
Condicional Simples
245
Fundamentos de Programação
Condicionais
Condicional Composta
Utilizamos o comando else
para prever uma ação para
quando a condição inicial for
falsa, no exemplo abaixo o if
verifica se a idade é menor que
18, se for escreverá em tela
“Você é menor de idade”, caso
contrário (else) escreverá: “Você
é maior de idade”.
246
Fundamentos de Programação
Condicionais
Condicional Composta
No exemplo foi utilizado a condição
elif que permite que verifiquemos
mais uma possibilidade.
247
Fundamentos de Programação
Condicionais
Condicional Composta
Veja que combinando vários elif é
possível tentar prever várias
possiblidades e tomar uma ação para
cada uma delas.
Condicionais
Condicional
Composta
No exemplo estamos
utilizando o conectivo lógico
“or”, este conectivo lógico
exige que ao menos uma
condição seja verdadeira
para que seja tomada a
ação programada.
249
Fundamentos de Programação
Condicionais
ATIVIDADE
1. Qual a diferença entre uma condicional simples e uma condicional
composta?
Condicionais
ATIVIDADE
5. A contribuição para o INSS é calculada a partir da tabela a seguir:
251
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
Condicionais
ATIVIDADE
7. Desenvolva um programa que leia um número inteiro e verifique se
este é ou não um número primo (número primo é divisível por um e por
ele mesmo).
252
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
TEMA 12
Laços de Repetição
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
Laços de Repetição
Laços de Repetição
WHILE (enquanto)
Um exemplo do laço de repetição
while (ver linha 3), note que
enquanto a condição for verdadeira
os comandos do laço serão
executados.
Laços de Repetição
WHILE (enquanto)
No exemplo serão lidos nomes
digitados pelo usuário e todo
nome digitado é armazenado na
variável pessoas que é uma Lista.
256
Fundamentos de Programação
Laços de Repetição
WHILE (enquanto)
No laço de repetição o looping
será eterno até que o usuário
digite o nome “Pedro”.
257
Fundamentos de Programação
Laços de Repetição
FOR (para)
O laço de repetição FOR no
exemplo, faz com que a variável
“i” percorra todos os elementos
da Lista até que não tenha mais
elementos.
258
Fundamentos de Programação
Laços de Repetição
FOR (para)
Lembrem-se que uma string armazena
caractere por caractere de um texto, ou
seja, cada caractere necessita estará
num índice.
Laços de Repetição
FOR (para)
Podemos utilizar o “for”,
para contar todos os
números de uma lista.
260
Fundamentos de Programação
Laços de Repetição
FOR (para)
Também podemos utilizar
o “for” para exibir as
chaves e os dados de um
dicionário:
261
Fundamentos de Programação
Laços de Repetição
FOR (para)
Podemos mostrar números
ordenados conforme o
modelo.
262
Fundamentos de Programação
Laços de Repetição
ATIVIDADE
1. Considere o algoritmo abaixo:
Laços de Repetição
ATIVIDADE
2. Desenvolva um programa que escreva na tela os números
de um número inicial a um número final. Os números inicial
e final devem ser informados pelo usuário;
Laços de Repetição
ATIVIDADE
6. Desenvolva um programa que leia valores inteiros e encontre o
maior e o menor deles. Termine a leitura se o usuário digitar zero (0);
265
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
Laços de Repetição
ATIVIDADE
9. Desenvolva um programa para calcular o IMC (Índice de
Massa Corporal), o algoritmo deverá ler a altura e o peso do
usuário e depois calcular o IMC com base na fórmula:
IMC = peso/ (altura) ².
Laços de Repetição
ATIVIDADE
10. Utilizando o laço de repetição PARA, desenvolva um programa que
faça uma tabuada, para isso leia um número de 1 a 10, se o usuário
digitar um valor fora desse intervalo deve aparecer uma mensagem de
erro: “Digite um valor entre 1 e 10. ”
267
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
TEMA 13
Validação de dados
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
Validação de dados
A validação de dados é algo
extremamente necessária, visto
que o sistema deve prever a
possibilidade de falhas humanas
durante a interação com o usuário
através de leitura de dados em
tela.
Validação de dados
No abaixo, é utilizado o comando
try onde podemos fazer uma
condição que se não atendida fará
outra ação, isso é possível através
do comando except (ver linha 19).
270
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Validação de dados
271
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Validação de dados
ATIVIDADE
272
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
TEMA 14
Funções
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
Funções
As funções servem para guardarmos
um bloco de código que poderá ser
reutilizado quando precisarmos.
274
Imagem: https://pixabay.com/pt/illustrations/anal%c3%adtica-em-forma%c3%a7%c3%a3o-inova%c3%a7%c3%a3o-3088958/
Fundamentos de Programação
Funções
Quando um parâmetro é passado por valor,
uma cópia do valor contido é passada à
função, e este valor inicia uma variável local.
As funções também servem
para organizar melhor o
Quando um parâmetro é passado por código fonte.
referência, o endereço de memória em que
a variável está é passado para a função. Podemos ter funções que
somente imprimirão em
A função tem acesso real ao dado passado,
e toda a alteração que ocorrer dentro da
tela algum valor e teremos
função irá impactar a variável. as funções que retornarão
valores
275
Fundamentos de Programação
Funções
Exemplo de uma função que faz
uma saudação para o usuário.
276
Fundamentos de Programação
Funções
No exemplo foi criado a função
mensagem2( ), ela receberá
como parâmetro uma string
com o nome do usuário.
277
Fundamentos de Programação
Funções
278
Fundamentos de Programação
Funções
As funções são módulos de códigos
que irão realizar as tarefas
repetitivas dos programas. Sempre
que surgir a necessidade,
poderemos chamá-las a fim de
economizar tempo, visto que
escrever uma linha de código para
toda tarefa repetida é algo
cansativo.
Funções
ATIVIDADE
280
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
Funções
ATIVIDADE
4. Desenvolva um programa que possuirá uma função chamada de
pagamento, ela deverá receber as horas trabalhadas e o valor das
horas. No final o valor a ser pago para o trabalhador deverá ser
retornado pela função e depois exibido em tela.
TEMA 15
Módulos
Imagem: https://pixabay.com/pt/illustrations/banner-cabe%c3%a7alho-monitor-bin%c3%a1rio-909710/
Fundamentos de Programação
Módulos
283
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Fundamentos de Programação
Módulos
284
Fundamentos de Programação
Módulos
Para linkar os módulos são
necessários que ambos estejam na
mesma pasta, na tela estamos
salvando o nosso módulo
“func.py” que faz o cálculo da
média.
285
Fundamentos de Programação
Módulos
O módulo “exemplo_funcoes.py”
também será salvo na mesma pasta
do módulo “func.py”
286
Fundamentos de Programação
Módulos
Para que o módulo exemplo_funcoes.py possa
linkar o módulo “func.py” basta usarmos o
comando import nome_módulo.
287
Fundamentos de Programação
Módulos
Módulos do próprio Python
288
Fundamentos de Programação
Módulos
Módulos do próprio Python
289
Fundamentos de Programação
Módulos
Módulos do próprio Python
290
Fundamentos de Programação
Módulos
Módulos do próprio Python
291
Fundamentos de Programação
Módulos
Módulos do próprio Python
292
Fundamentos de Programação
Módulos
Módulos do próprio Python
Note que através do módulo
time.localtime() podemos extrair
mais informações como minutos, horas
ou segundos, veja as linhas 3 e 5.
293
Fundamentos de Programação
Módulos
ATIVIDADE
1. O que é um módulo?
294
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Fundamentos de Programação
Módulos
ATIVIDADE
5. Crie um módulo que faça o cálculo do
IMC (Índice de Massa Corporal), o
programa que for fazer a chamada desse
módulo deverá classificar através do valor
retornado se a pessoa está ou não acima
do peso. IMC = peso / altura²
295
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Disciplina:
Banco de Dados
Banco de Dados
TEMA 01
Introdução
Imagem: https://pixabay.com/pt/illustrations/bolsa-de-valores-economia-mundial-913956/
Banco de Dados
Introdução
Um sistema de banco de dados adiciona
uma nova dimensão à estrutura de
gerenciamento de uma organização.
Introdução
299
Imagem: https://pixabay.com/pt/illustrations/finan%c3%a7a-contabilidade-poupan%c3%a7a-2837085/
Banco de Dados
Introdução
• É uma coletânea lógica coesa de dados
com um significado intrínseco; dados
A definição do termo Banco de
desordenados não podem ser
Dados é atende às seguintes referenciados como um banco de dados;
propriedades:
• É projetado, construído e populado com
dados com objetivos específicos; possui
um conjunto pré-definido de usuários e
aplicações;
Introdução
À informação em um banco está
organizada em forma de registros.
301
Imagem: https://pixabay.com/pt/vectors/suporte-vector-comunicar-se-1950883/
Banco de Dados
Introdução
302
Banco de Dados
Introdução
303
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Banco de Dados
Introdução
Vantagens e desvantagens • quando é necessária a atualização
do uso de um SGBD de um arquivo específico de
usuário ou grupo, todos os dados
devem ser atualizados para manter
1. Controle de Redundância a sua integridade no ambiente,
Quando se trata do sistema de como um todo;
armazenamento e processamento de • dados redundantes levam a um
arquivos, sem utilizar um SGBD, os dados são armazenamento excessivo de
responsabilidade dos usuários que os utilizam. informações, tomando espaço que
poderia estar sendo utilizado com
Neste caso, as redundâncias são inevitáveis e novas informações.
surgem as seguintes dificuldades:
304
Banco de Dados
Introdução
Vantagens e desvantagens
O que é fundamental e essencial para
do uso de um SGBD múltiplos acessos das aplicações
integradas ao banco de dados.
2. Compartilhamento de Dados
Deve ainda, ter o controle de
concorrência para garantir que as
Um SGBD multiusuário deve consentir atualizações estejam corretas.
que muitos usuários acessem o banco
de dados ao mesmo tempo.
Deve, também, oferecer recursos
para a multiplicidade de visões
305
Banco de Dados
Introdução
Vantagens e desvantagens
do uso de um SGBD
3. Restrição a Acesso não Autorizado
O SGBD precisa conter a segurança no
acesso às contas de usuários, com as
devidas restrições de acordo com os
perfis de cada conta, sendo aplicado
tanto para o acesso, como às aplicações
que são gerenciadas por ele.
306
Imagem: https://pixabay.com/pt/illustrations/c%c3%adber-seguran%c3%a7a-tecnologia-rede-3374252/
Banco de Dados
Introdução
Vantagens e desvantagens
do uso de um SGBD
4. Representação de Relacionamentos
Complexos entre Dados
Um banco de dados tem em si um
conjunto de dados relacionados de
muitas formas. O SGBD deve gerenciar
todos os relacionamentos entre os
dados, assim como, guardar, recuperar e
atualizar de forma dinâmica e eficaz.
307
Imagem: https://pixabay.com/pt/vectors/big-data-dados-base-de-dados-7216839/
Banco de Dados
Introdução
Vantagens e desvantagens
do uso de um SGBD
5. Tolerância a Falhas
308
Imagem: https://pixabay.com/pt/illustrations/teclado-digitaliza%c3%a7%c3%a3o-dedo-7234958/
Banco de Dados
Introdução
Vantagens e desvantagens Problemas adicionais podem surgir caso
os projetistas de banco de dados ou os
do uso de um SGBD administradores de banco de dados não
elaborem os projetos corretamente ou
Desvantagens se as aplicações não são implementadas
de forma apropriada;
Introdução
ATIVIDADE
1. O que são banco de dados?
Introdução
ATIVIDADE
5. Como eram as primeiras arquiteturas de banco de dados?
6. O que é um SGBDR?
311
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
Introdução
ATIVIDADE
312
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
Introdução
Componentes do SGBD
313
Imagem: https://pixabay.com/pt/illustrations/big-data-dados-estatisticas-2296821/
Banco de Dados
Introdução
Componentes do SGBD
Gerenciamento do Este utiliza o dicionário de dados
dicionário de dados para procurar os relacionamentos
e de componentes de estruturas
O SGBD armazena as definições de de dados necessárias, livrando o
elementos de dados e seus usuário de ter de codificar esses
relacionamentos (metadados) em
relacionamentos complexos em
um dicionário de dados.
cada programa.
Por sua vez, todos os programas
que acessam os dados no banco
trabalham por meio do SGBD.
314
Banco de Dados
Introdução
Componentes do SGBD
Gerenciamento de
armazenamento de dados
Introdução
Componentes do SGBD
O SGBD isenta o usuário da
Transformação e desagradável tarefa de
apresentação de dados distinguir entre os formatos de
dados lógicos e físicos.
316
Banco de Dados
Introdução
Componentes do SGBD
Gerenciamento de segurança
317
Imagem: https://pixabay.com/pt/illustrations/c%c3%adber-seguran%c3%a7a-3400657/
Banco de Dados
Introdução
Componentes do SGBD
Controle de acesso
318
Imagem: https://pixabay.com/pt/photos/teclado-vazio-bin%c3%a1rio-zero-1-4904427/
Banco de Dados
Introdução
Componentes do SGBD
Gerenciamento de O gerenciamento de
backup e recuperação recuperação trata da
recuperação do banco
O SGBD fornece backup e recuperação de de dados após uma
dados para garantir a segurança e falha, como um erro de
integridade dos dados. setor no disco ou uma
Os sistemas atuais de SGBD oferecem
utilitários especiais que permitem ao DBA
queda de energia.
executar backups especiais e de rotina,
procedimentos de restauração.
319
Banco de Dados
Introdução
Componentes do SGBD
Os relacionamentos de dados
Gerenciamento de
armazenados no dicionário de dados
integridade de dados
são utilizados para garantir a
integridade.
320
Banco de Dados
Introdução
Componentes do SGBD
Linguagem de acesso a banco de A linguagem estruturada de
dados e interface de programação consulta (SQL) é uma
de aplicações. linguagem de consulta
vigente e o padrão de
O SGBD fornece acesso aos dados por meio
acesso de dados suportado
de uma linguagem de consulta. A linguagem pela maioria dos
de consulta é uma linguagem não procedural, fornecedores de SGBD.
ou seja, permite que o usuário que o usuário
especifique o que deve ser feito, sem ter de
especificar como deve fazer.
321
Banco de Dados
Introdução
Componentes do SGBD
Por exemplo, o SGBD pode
Interface de comunicação do
fornecer acesso ao banco de
banco de dados
dados pela internet por meio do
uso de navegadores web.
322
Banco de Dados
Introdução
DESAFIO
Apresente as funcionalidades de
um SGBD de forma prática.
323
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
TEMA 02
Modelagem de Banco de Dados
Imagem: https://pixabay.com/pt/illustrations/bolsa-de-valores-economia-mundial-913956/
Banco de Dados
325
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Banco de Dados
326
Imagem: https://pixabay.com/pt/vectors/esquema-de-banco-de-dados-1895779/
Banco de Dados
327
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Banco de Dados
VANTAGENS:
330
Banco de Dados
331
Banco de Dados
332
Banco de Dados
333
Imagem: https://pixabay.com/pt/photos/caderno-digitando-caf%c3%a9-computador-1850613/
Banco de Dados
335
Banco de Dados
336
Banco de Dados
337
Imagem: https://pixabay.com/pt/illustrations/avatar-clientes-%c3%adcones-empres%c3%a1rios-2191918/
Banco de Dados
340
Banco de Dados
342
Imagem: https://pixabay.com/pt/illustrations/pintor-escovar-parede-de-casa-1180676/
Banco de Dados
343
Imagem: https://pixabay.com/pt/photos/funcion%c3%a1rios-equipe-corporativo-885338/
Banco de Dados
346
Banco de Dados
Modelagem de
Banco de Dados
Diagrama Entidade
Relacionamento (DER)
O diagrama permite a visualização
das informações, pois o modelo
pode ficar muito abstrato sem estar
representado graficamente.
Modelagem de
Banco de Dados
Modelo
Diagrama Entidade
Relacionamento (DER)
349
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Banco de Dados
TEMA 03
Regras de Normalização
Imagem: https://pixabay.com/pt/illustrations/bolsa-de-valores-economia-mundial-913956/
Banco de Dados
Regras de Normalização
Primeira Forma Normal – 1FN
Remova o(s) atributo(s) que
viola(m) a primeira forma normal e
coloque-o em uma relação em
separado (Autores_Livros),
juntamente com a chave primária
da relação original (IdLivro).
Regras de Normalização
Primeira Forma Normal – 1FN
Poderão ser utilizados tantos
atributos quantos forem
necessários à formação da chave da
nova relação, mesmo que tenhamos
que chegar a concatenação de
todos os atributos de uma linha.
Regras de Normalização
Segunda Forma Normal – 2FN
Uma relação encontra-se na
segunda forma normal quando
estiver na primeira forma normal e
todos os atributos que não
participam da chave primária são
dependentes desta. Verificar se
todos os atributos são
dependentes da chave primária e
retirar-se da relação todos os
atributos de um grupo não
dependente que dará origem a
uma nova relação, que conterá
esse atributo como não chave.
355
Banco de Dados
Regras de Normalização
Terceira Forma Normal – 3FN
Para estar na terceira forma normal
a tabela não pode ter atributos
não-chave se referindo a outros
atributos não-chave.
Regras de Normalização
357
Banco de Dados
Regras de Normalização
ATIVIDADE
1. O que é normalização?
2. Para que é usada a técnica de normalização?
3. Há alguma vantagem para um banco de dados normalizado?
4. Quais as características do banco de dados normalizado?
5. O que é a 1ª forma normal?
6. O que é a 2ª forma normal?
7. O que é a 3ª forma normal?
8. Quando termina o processo de normalização?
9. Qual ação deve ser tomada quando há relações dentro de
relações?
10. O que fazer quando há dependência transitiva de um
atributo não chave na chave primária?
358
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
TEMA 04
Introdução à Linguagem SQL
Imagem: https://pixabay.com/pt/illustrations/bolsa-de-valores-economia-mundial-913956/
Banco de Dados
362
Banco de Dados
363
Banco de Dados CREATE DATABASE name
[ [ WITH ] [ OWNER [=] user_name ]
Introdução à Linguagem SQL [ TEMPLATE [=] template ]
[ ENCODING [=] encoding ]
[ LC_COLLATE [=] lc_collate ]
name: [ LC_CTYPE [=] lc_ctype ]
[ TABLESPACE [=] tablespace ]
O nome de um banco de dados para criar. [ CONNECTION LIMIT [=] connlimit ] ]Parâmetros
user_name:
O nome da função do usuário que
possuirá o novo banco de dados, ou template:
DEFAULT para usar o padrão (ou seja, o O nome do template a partir do qual criar
usuário que está executando o comando). o novo banco de dados, ou DEFAULT para
Para criar um banco de dados de usar o template padrão (template1).
propriedade de outra função, você deve
ser um membro direto ou indireto dessa
função ou ser um superusuário.
364
Banco de Dados CREATE DATABASE name
[ [ WITH ] [ OWNER [=] user_name ]
Introdução à Linguagem SQL [ TEMPLATE [=] template ]
[ ENCODING [=] encoding ]
[ LC_COLLATE [=] lc_collate ]
[ LC_CTYPE [=] lc_ctype ]
encoding: [ TABLESPACE [=] tablespace ]
Codificação do conjunto de caracteres [ CONNECTION LIMIT [=] connlimit ] ]Parâmetros
para usar no novo banco de dados.
Especifique uma constante de cadeia
(por exemplo, 'SQL_ASCII'), ou um lc_collate:
número de codificação de inteiro, ou Ordem de agrupamento (LC_COLLATE) para usar
DEFAULT para usar a codificação no novo banco de dados. Isso afeta a ordem de
padrão (ou seja, a codificação do classificação aplicada às strings, por exemplo,
banco de dados de modelo). em consultas com ORDER BY, bem como a
ordem usada em índices em colunas de texto. O
padrão é usar a ordem de agrupamento do
banco de dados de modelos.
365
Banco de Dados CREATE DATABASE name
[ [ WITH ] [ OWNER [=] user_name ]
Introdução à Linguagem SQL [ TEMPLATE [=] template ]
[ ENCODING [=] encoding ]
lc_ctype: [ LC_COLLATE [=] lc_collate ]
Classificação de caracteres (LC_CTYPE) para [ LC_CTYPE [=] lc_ctype ]
usar no novo banco de dados. Isso afeta a [ TABLESPACE [=] tablespace ]
categorização de caracteres, por ex. inferior, [ CONNECTION LIMIT [=] connlimit ] ]Parâmetros
superior e dígito. O padrão é usar a
classificação de caracteres do banco de dados
de modelos.
tablespace: connlimit:
O nome do espaço de tabela que será Quantas conexões simultâneas podem ser
associado ao novo banco de dados, ou feitas neste banco de dados. -1 (o padrão)
DEFAULT para usar o espaço de tabela do significa sem limite.
banco de dados de modelo. Esse espaço de
tabela será o espaço de tabela padrão usado
para objetos criados neste banco de dados.
366
Banco de Dados
367
Banco de Dados
368
Banco de Dados
369
Banco de Dados
370
Banco de Dados
371
Banco de Dados
372
Banco de Dados
373
Banco de Dados CREATE TABLE tabela_livros (
Introdução à COD_Livro int UNIQUE NOT NULL,
Nome_Livro varchar(50) NOT NULL,
Linguagem SQL Autor int NOT NULL,
Editora int NOT NULL,
Data_Pub date,
4º exemplo de criação de Genero int NOT NULL,
tabelas no MySQL: Preco_Livro float,
FOREIGN KEY (Autor) REFERENCES tabela_autores
(codigo_Autor) ON DELETE
Finalmente, vamos criar a CASCADE,
tabela de livros, incluindo os PRIMARY KEY (COD_Livro)
relacionamentos com as );
demais tabelas por meio do
uso de chaves estrangeiras:
374
Banco de Dados
Introdução à
Linguagem SQL
375
Banco de Dados
Introdução à
Linguagem SQL
378
Banco de Dados
Introdução à
Linguagem SQL Sintaxe básica
379
Banco de Dados
380
Banco de Dados
381
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
383
Imagem: https://pixabay.com/pt/vectors/big-data-servidor-prateleira-6100853/
Banco de Dados
O comando SELECT
permite Sintaxe básica
recuperar os dados de um objeto
do banco de dados, como uma
tabela, view e, em alguns casos,
uma stored procedure (alguns
bancos de dados permitem a
criação de procedimentos que
retornam valor).
384
Imagem: https://pixabay.com/pt/vectors/big-data-servidor-prateleira-6100853/
Banco de Dados
385
Imagem: https://pixabay.com/pt/vectors/big-data-servidor-prateleira-6100853/
Banco de Dados
386
Imagem: https://pixabay.com/pt/vectors/big-data-dados-base-de-dados-7216839/
Banco de Dados
387
Banco de Dados
O operador de atribuição
também pode ser usado
para estabelecer a relação
entre um título de coluna SELECT FirstColumnHeading = ‘xyz',
e a expressão que define SecondColumnHeading = ProductID
os valores para a coluna.
FROM Production.Product;
388
Banco de Dados
389
Banco de Dados
390
Banco de Dados
391
Banco de Dados
392
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
393
Banco de Dados
394
Banco de Dados
Os dados resultantes de
uma seleção podem ser
agrupados de acordo com Exemplo
um critério específico.
SELECT COUNT(PedidoNumr) FROM
Este procedimento é Pedidos GROUP BY PedidoNumr
realizado usando a cláusula
group by.
395
Banco de Dados
396
Imagem: https://pixabay.com/pt/vectors/big-data-dados-base-de-dados-7216774/
Banco de Dados
397
Banco de Dados
398
Banco de Dados
Exemplo:
400
Banco de Dados
401
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
TEMA 05
Modelagem DDL
Imagem: https://pixabay.com/pt/illustrations/bolsa-de-valores-economia-mundial-913956/
Banco de Dados
Modelagem DDL
403
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Banco de Dados
Modelagem DDL
COMANDOS DE
DEFINIÇÃO DE DADOS
Os comandos de definição de
dados SQL devem ser portáveis, ou
seja, adequar-se há um padrão
básico para que os usuários não
tenham de reaprender o básico
quando passarem de um SGBDR
para outro.
404
Imagem: https://pixabay.com/pt/illustrations/dados-em-forma%c3%a7%c3%a3o-an%c3%a1lise-big-data-3329993/
Banco de Dados
Modelagem DDL
COMANDOS DE
DEFINIÇÃO DE DADOS
CATEGORIAS
Linguagem de definição
de dados (DDL): A SQL inclui
comandos para criar objetos de
banco de dados como tabelas,
índices e views. Bem como
comandos para definir direitos
de acesso a esses objetos.
405
Banco de Dados nome-tabela representa o nome da tabela que será
Modelagem DDL atualizada.
nome-coluna representa o nome da coluna que será
COMANDOS DE criada.
DEFINIÇÃO DE DADOS tipo-do-dado a cláusula que define o tipo e tamanho dos
campos definidos para a tabela.
CATEGORIAS
DROP nome-coluna realiza a retirada da coluna
especificada na estrutura da tabela.
O comando alter table ADD nome-coluna tipo-do-dado realiza a inclusão
permite alterar a estrutura de da coluna especificada na estrutura da tabela. Na coluna
uma tabela acrescentando, correspondente a este campo nos registros já existentes será
alterando, retirando e preenchido o valor NULL (Nulo). As definições NOT NULL e
alterando nomes, formatos NOT NULL WITH DEFAULT são semelhantes à do comando
das colunas e a integridade CREATE TABLE.
referencial definidas em uma MODIFY nome-coluna tipo-do-dado permite a
determinada tabela. alteração na característica da coluna especificada.
406
Banco de Dados
Modelagem DDL
APAGANDO UMA
COLUNA DE UMA TABELA
407
Banco de Dados
CREATE TABLE Pedidos (
Modelagem DDL PedidoID int NOT NULL, PedidoNumr int
NOT NULL, PessoaID int,
MODIFICANDO UMA PRIMARY KEY (PedidoID),
COLUNA DE UMA TABELA FOREIGN KEY (PessoaID) REFERENCES
Pessoa(PessoaID)
Se precisássemos mudar as
);
características de uma coluna
da tabela após a sua criação, Exemplo
usaríamos o comando modify. ALTER TABLE Pedidos
Como exemplo, imagine que MODIFY PedidoNumr INTEGER NULL;
desejamos aceitar valores
nulos no atributo PedidoNumr
da tabela Pedidos.
408
Banco de Dados
Modelagem DDL
O COMANDO
DROP TABLE
409
Banco de Dados
Modelagem DDL
ATIVIDADE
1. Qual o comando utilizado para alterar uma
coluna em uma tabela?
2. Qual o comando utilizado para criar um
esquema de banco de dados?
3. Quais são os comandos disponíveis em DDL?
4. Qual o comando utilizado para remover uma
tabela de um banco de dados?
5. Qual o comando utilizado para criação de uma
tabela em um esquema específico de banco de
dados?
410
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
Modelagem DDL
ATIVIDADE
6. Qual o comando utilizado para modificar uma
coluna de uma tabela?
7. E para alterar um tipo de dados de uma coluna?
8. Qual o comando utilizado para validar as
remoções em um banco de dados?
9. Para que serve o comando Drop table?
10. Apresente um exemplo de Drop Table.
411
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
Modelagem DDL
RECURSOS AVANÇADOS DE DDL
412
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Banco de Dados
Modelagem DDL
RECURSOS AVANÇADOS DE DDL
Para ser autenticado, deve-se
fazer login no SGBDR utilizando
Quando se utiliza um SGBDR um ID de usuário e uma senha
empresarial, antes de começar a criada pelo administrador de
criar tabelas é necessário ser
banco de dados.
autenticado por esse sistema.
413
Banco de Dados
Modelagem DDL
ESQUEMA DE BANCO DE DADOS
414
Imagem: https://pixabay.com/pt/illustrations/pol%c3%adtica-de-privacidade-6562483/
Banco de Dados
Modelagem DDL
ESQUEMA DE BANCO DE DADOS Um único banco de dados pode
manter vários esquemas que
pertençam a vários usuários ou
No ambiente de SQL esquema é um aplicações.
grupo de objetos de banco de dados
como tabelas e índices relacionados Eles são úteis, pois agrupam as
entre si. tabelas por proprietários (ou
função) e aplicam o primeiro
Geralmente o esquema pertence a nível de segurança permitindo
um único usuário ou aplicação. que cada usuário veja apenas as
tabelas que lhe pertencem.
415
Banco de Dados
Modelagem DDL
ESQUEMA DE BANCO DE DADOS
416
Imagem: https://pixabay.com/pt/vectors/isom%c3%a9trico-edif%c3%adcios-smartphone-5244846/
Banco de Dados
Modelagem DDL
ESQUEMA DE BANCO DE DADOS
ESPECIFICAÇÕES
417
Imagem: https://pixabay.com/pt/vectors/big-data-dados-base-de-dados-7216839/
Banco de Dados
Modelagem DDL
ESQUEMA DE BANCO DE DADOS Embora a restrição UNIQUE e a restrição
PRIMARY KEY impõem exclusividade,
UNIQUE use a restrição UNIQUE em vez da
restrição PRIMARY KEY quando for impor
Restrições são regras que o a exclusividade de uma coluna, ou uma
Mecanismo de Banco de Dados do combinação de colunas, que não seja
SQL Server impõe a você. uma chave primária.
Por exemplo, você pode usar as
restrições UNIQUE para garantir que
não há valores duplicados inseridos
em colunas específicas que não
participam de uma chave primária.
418
Imagem: https://pixabay.com/pt/vectors/lat%c3%a3o-gradiente-chave-1293947/
Banco de Dados
Modelagem DDL
ESQUEMA DE BANCO DE DADOS Outras permissões dos usuários
PERMISSÕES DOS USUÁRIOS ALL PRIVILEGES - como vimos anteriormente, isso
garante ao usuário do MySQL acesso completo a um
Quando um usuário é criado, não possui banco de dados (ou, se nenhum banco de dados for
selecionado, acesso global a todo o sistema)
permissões para fazer nada com os bancos
de dados. CREATE - permite criar tabelas ou bancos de dados
DROP - permite deletar tabelas ou bancos de dados
Na verdade, mesmo se tentar fazer login DELETE - permite excluir linhas de tabelas
(com a senha password), ele não será INSERT - permite inserir linhas em tabelas
capaz de chegar ao shell do MySQL.
SELECT - permite usar o comando SELECT para ler os
bancos de dados
Portanto, a primeira coisa a ser feita é
UPDATE - permite atualizar linhas de tabelas
fornecer ao usuário o acesso às
informações que eles irão precisar. GRANT OPTION - permite conceder ou remover
privilégios de outros usuários
Banco de Dados
Modelagem DDL
ATIVIDADE
1. O que é necessário antes de criar uma tabela em um banco de dados?
2. Complete a syntax CREATE SCHEMA AUTHORIZATION
3. Quais são os direitos do usuário root no schema root?
4. Quais as permissões um usuário tem ao ser criado?
5. O ID de usuário está associado a que objeto de banco de dados?
6. Como funciona a especificação NOT NULL?
7. Como funciona a especificação UNIQUE?
8. Qual uma alternativa para a especificação UNIQUE?
420
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
Modelagem DDL
OUTROS RECURSOS
FUNÇÕES AGREGADAS
421
Imagem: https://pixabay.com/pt/vectors/abstract-arte-fronteira-contando-1817584/
Banco de Dados
Modelagem DDL
OUTROS RECURSOS
FUNÇÕES AGREGADAS
Função count( )
A função count, como o próprio nome
sugere, conta a quantidade de linhas
de uma tabela que satisfazem uma
determinada condição. Para contar o
número de pedidos que existe na
tabela pedidos, pode-se usar o count.
Exemplo
SELECT COUNT(PedidoNumr) FROM Pedidos
422
Imagem: https://pixabay.com/pt/vectors/pacote-entrega-caixa-cart%c3%a3o-envio-575402/
Banco de Dados
Modelagem DDL
OUTROS RECURSOS
FUNÇÕES AGREGADAS
Função avg( )
A função avg é responsável por extrair a
média aritmética dos valores de uma coluna.
Exemplo
SELECT AVG(PedidoNumr) FROM Pedidos
423
Imagem: https://pixabay.com/pt/vectors/pacote-entrega-caixa-cart%c3%a3o-envio-575402/
Banco de Dados
Modelagem DDL
OUTROS RECURSOS
FUNÇÕES AGREGADAS
Função sum( )
A função sum é responsável por realizar a
soma dos valores de uma coluna.
Exemplo
SELECT SUM(PedidoNumr) FROM Pedidos WHERE PedidoNumr<1000
424
Imagem: https://pixabay.com/pt/vectors/pacote-entrega-caixa-cart%c3%a3o-envio-575402/
Banco de Dados
Modelagem DDL
425
Imagem: https://pixabay.com/pt/vectors/abstract-arte-fronteira-contando-1817584/
Banco de Dados
Modelagem DDL
OUTROS RECURSOS
CRIAÇÃO DE ÍNDICE Neste exemplo é criada uma tabela
chamada CLIENTES com dois campos:
Codigo, do tipo inteiro e Nome do tipo texto.
No banco de dados MySQL os índices
podem ser criados com considerável
facilidade, tanto no momento da CREATE TABLE CLIENTES(
concepção da tabela quanto em uma Codigo INT,
tabela já existente. Nome VARCHAR(50),
INDEX (Codigo)
);
CREATE INDEX
CREATE UNIQUE INDEX index_name ON table_name (column1, column2, ...);
426
Banco de Dados
Modelagem DDL
OUTROS RECURSOS
CRIAÇÃO DE ÍNDICE Isso pode ser feito com uma instrução DDL
(Data Definition Language). Inicialmente
criamos a tabela sem índice algum, em
O índice é criado com o uso da palavra seguida adicionamos o índice à coluna
reservada INDEX, seguida do nome da(s)
“Codigo”.
coluna(s) a ser(em) indexada(s).
427
Banco de Dados
Modelagem DDL
OUTROS RECURSOS
CRIAÇÃO DE ÍNDICE
Modelagem DDL
OUTROS RECURSOS
VIEW CRIANDO UMA VIEW
Create view
Uma View é um objeto que pertence a um CREATE VIEW view_name AS SELECT
banco de dados, definida baseada em column1, column2, ...
declarações SELECT´s, retornando uma FROM table_name
determinada visualização de dados de uma WHERE condition;
ou mais tabelas.
ou
CREATE VIEW nome_da_view AS SELECT *
Esses objetos são chamados por vezes de
“virtual tables“, formada a partir de outras FROM nome_tabela;
tabelas que por sua vez são chamadas de
“based tables” ou ainda outras Views. VERIFICAR SE A VIEW FOI CRIADA
SHOW TABLES;
Banco de Dados
Modelagem DDL
OUTROS RECURSOS
VIEW ALTERANDO UMA VIEW
Caso exista uma nova tabela chamada ALTER VIEW nome_da_view AS SELECT *
“nome_da_view” foi o nome que FROM nome_outra_tabela;
definimos para essa nova view; A
criação da view foi executada com
sucesso.
EXCLUINDO UMA VIEW
E alguns casos, as Views são atualizáveis
e podem ser alvos de declaração DROP VIEW nome_da_view;
INSERT, UPDATE e DELETE, que na
verdade modificam sua “based tables“.
430
Banco de Dados
Modelagem DDL
ATIVIDADE
1. O que são Funções agregadas?
2. Qual o papel da função count( )?
3. O que faz a função avg( )?
4. Qual o papel da função sum( )
5. O que é um index?
6. O que é uma view?
7. Como criar uma view?
8. E como é possível verificar se a View foi criada?
9. Qual o comando para remover uma visualização?
10. Como alterar uma view?
431
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
Modelagem DDL
COMANDOS DCL
432
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Banco de Dados
Modelagem DDL
COMANDOS DCL
433
Imagem: https://pixabay.com/pt/vectors/big-data-dados-base-de-dados-7216839/
Banco de Dados
Modelagem DDL
Se ele não estiver nesse estado, a
COMANDOS DCL
transação resultará em um banco de
Banco de Dados Consistente
dados inconsistente e violará suas
Um banco de dados regras de integridade e de negócios.
consistente é aquele em que
são satisfeitas as restrições de Por esse motivo todas as transações
integridade de banco de dados.
são controladas e executadas pelo
Para assegurar a consistência SGBD para garantir a integridade do
do banco de dados, toda banco de dados.
transação deve começar com o
banco de dados em estado
considerado consistente.
434
Banco de Dados
Modelagem DDL
O MySQL Data Control Language é
COMANDOS DCL
semelhante ao SQL Data Control
Banco de Dados Consistente
Language e estes são classificados
Para executar operações DML em dois tipos:
em uma tabela, as permissões
são necessárias e são
chamadas Privilégios. Data Control
Language
Esses privilégios podem ser
controlados eficientemente
usando as instruções do
MySQL DCL. GRANT REVOKE
435
Banco de Dados
Modelagem DDL
COMANDOS DCL
GRANT
No lado do servidor do procedimento,
ele incorpora a possibilidade de o
Grant é usado para conceder servidor controlar determinados
permissões aos clientes.
benefícios do cliente sobre o banco de
No banco de dados MySQL, ele dados MySQL e reduzir suas
oferece ao servidor e ao cliente permissões de conexão do banco de
uma grande quantidade de dados ou conceder autorizações
privilégios de controle.
limitadas para uma tabela específica.
436
Banco de Dados
Modelagem DDL
A palavra-chave PUBLIC indica que os
GRANT privilégios devem ser concedidos para todos
Concessões em objetos os papéis, inclusive aos que vierem a ser
criados posteriormente.
do banco de dados
PUBLIC pode ser considerado como um
grupo definido implicitamente que sempre
Esta funcionalidade do comando inclui todos os papéis.
GRANT concede privilégios específicos
sobre um objeto do banco de dados Um determinado papel possui a soma dos
para um ou mais papéis. privilégios concedidos diretamente para ele,
mais os privilégios concedidos para todos os
Estes privilégios são adicionados aos já papéis que este seja membro, mais os
existentes, caso haja algum. privilégios concedidos para PUBLIC.
437
Banco de Dados
Modelagem DDL
GRANT
Concessões em objetos
do banco de dados
Se for especificado WITH GRANT OPTION
quem receber o privilégio poderá, por sua
vez, conceder o privilégio a terceiros.
Modelagem DDL
GRANT O padrão contempla:
Concessões em objetos Não permitir o acesso público às tabelas,
do banco de dados esquemas e espaços de tabelas;
Modelagem DDL
GRANT
Concessões em objetos
do banco de dados
O dono do objeto poderá, é claro, revogar
estes privilégios (para a máxima segurança
o comando REVOKE deverá ser executado
na mesma transação que criar o objeto;
dessa forma não haverá espaço de tempo
para outro usuário utilizar o objeto).
440
Imagem: https://pixabay.com/pt/photos/internet-tela-sens%c3%advel-ao-toque-3484137/
Banco de Dados
Modelagem DDL
INSERT
GRANT Permite inserir (INSERT) novas linhas na
Concessões em objetos tabela especificada. Também permite
utilizar o comando COPY FROM.
do banco de dados
Tipos de privilégios: UPDATE
Permite modificar (UPDATE) os dados de
SELECT qualquer coluna da tabela especificada.
Permite consultar (SELECT) qualquer Os comandos SELECT... FOR UPDATE e
coluna da tabela, visão ou seqüência SELECT... FOR SHARE também requerem
especificada. Também permite este privilégio (além do privilégio
utilizar o comando COPY TO. Para as SELECT). Para as sequências, este
sequências, este privilégio também privilégio permite o uso das funções
permite o uso da função currval. nextval e setval.
441
Banco de Dados
Modelagem DDL
GRANT EXECUTE
Concessões em objetos Permite utilizar a função especificada e
qualquer operador implementado
do banco de dados utilizando a função. Este é o único tipo
Tipos de privilégios: de privilégio aplicável às funções (Esta
sintaxe funciona para as funções de
agregação também).
REFERENCES
Para criar uma restrição de chave
estrangeira é necessário possuir este TEMPORARY - TEMP
privilégio, tanto na tabela que faz Permite a criação de tabelas
referência quanto na tabela que é temporárias ao usar o banco de dados.
referenciada.
443
Banco de Dados
Modelagem DDL
GRANT USAGE
Para as linguagens procedurais, permite
Concessões em objetos o uso da linguagem especificada para
do banco de dados criar funções nesta linguagem. Este é o
único tipo de privilégio aplicável às
Tipos de privilégios: linguagens procedurais. Para os
esquemas, permite acessar os objetos
contidos no esquema especificado
CONNECT (assumindo que os privilégios
Permite ao usuário se conectar ao banco requeridos para os próprios objetos
de dados especificado. Este privilégio é estejam atendidos). Essencialmente,
verificado no estabelecimento da concede a quem recebe o direito de
conexão (além de serem verificadas as "procurar" por objetos dentro do
restrições impostas por pg_hba.conf). esquema.
444
Banco de Dados
Modelagem DDL
GRANT
Concessões em objetos
do banco de dados
Tipos de privilégios:
ALL PRIVILEGES
Concede todos os privilégios disponíveis
de uma só vez. A palavra-chave Visualizando o exemplo, o conceito de comando
PRIVILEGES é requerida pelo SQL estrito. GRANT pode ser facilmente entendido.
Os privilégios requeridos por outros
comandos estão listados nas páginas de
referência dos respectivos comandos.
445
Banco de Dados
Modelagem DDL
REVOKE
Deve ser observado que um
determinado papel possui a
O comando REVOKE revoga, de um ou soma dos privilégios concedidos
mais papéis, privilégios concedidos diretamente para o próprio
anteriormente. A palavra-chave PUBLIC papel, mais os privilégios
se refere ao grupo contendo todos os
usuários, definido implicitamente.
concedidos para os papéis dos
quais o papel é membro no
O significado dos tipos de privilégio momento, mais os privilégios
deve ser visto na descrição do concedidos para PUBLIC.
comando GRANT.
446
Banco de Dados
Modelagem DDL
REVOKE
Ao revogar o privilégio de
membro de um papel,
Se o privilégio ou a opção de GRANT OPTION passa a se
concessão que o primeiro usuário chamar ADMIN OPTION,
possui for revogada, e existirem
privilégios dependentes, estes
mas o comportamento é
privilégios dependentes também serão semelhante.
revogados se for especificado
CASCADE, senão a ação de revogar
falhará.
447
Banco de Dados
Modelagem DDL
REVOKE
448
Banco de Dados
Modelagem DDL
CREATE USER host é o nome do host a partir de onde o
usuário pode se conectar ao banco de dados;
geralmente usamos localhost para a máquina
local. Se não for especificado um host, o
MySQL acrescentará automaticamente o
Usada para criar um usuário símbolo % como nome do host, o que
no sistema (sem privilégios). significa que o usuário poderá se conectar de
qualquer lugar. É possível também usar o
endereço IP de um host (por exemplo,
127.0.0.1 para o host local).
Sintaxe:
CREATE USER usuário@host IDENTIFIED BY 'senha';
449
Banco de Dados
Modelagem DDL
Verificando se o usuário foi criado como
especificado:
CREATE USER
SELECT User, Host FROM mysql.user;
Após a criação do usuário, ele não terá
nenhum privilégio em nenhum banco de
dados. Os privilégios podem ser
atribuídos por meio da declaração GRANT,
que estudaremos na próxima lição.
1º EXEMPLO:
Criando um usuário de nome “fabio” com
senha “1234” no MySQL, com acesso a
partir do host local:
Modelagem DDL
CREATE USER
2º EXEMPLO:
Criando um usuário de nome “ana” com
acesso a partir de qualquer local:
Modelagem DDL
CREATE USER Alteramos a senha do usuário
marcos para 1234 com essa
3º EXEMPLO: declaração.
Criando um usuário de nome marcos sem
senha definida no momento: Nas versões mais recentes do
MySQL, a declaração SET
CREATE USER marcos@localhost; PASSWORD foi deprecada, e não
será mais utilizada nas próximas
versões.
Para alterar ou configurar uma senha para
esse usuário posteriormente, use o comando
SET PASSWORD:
Modelagem DDL
RENAME USER
Sintaxe:
RENAME USER nome_atual TO novo_nome;
453
Imagem: https://pixabay.com/pt/illustrations/big-data-dados-anal%c3%adticos-dados-4156820/
Banco de Dados
Modelagem DDL
RENAME USER
1º Exemplo:
Vamos renomear a usuária ana para monica:
454
Imagem: https://pixabay.com/pt/illustrations/big-data-dados-anal%c3%adticos-dados-4156820/
Banco de Dados
Modelagem DDL
DROP USER
Usada para excluir um usuário do MySQL. Esta Visualizando o exemplo abaixo, o
declaração elimina o usuário e seus privilégios do conceito de comando revogar pode
sistema. ser facilmente entendido
Sintaxe:
DROP USER nome_usuário;
Exemplo:
Vamos remover a usuária mônica:
DROP USER monica;
455
Imagem: https://pixabay.com/pt/illustrations/big-data-dados-anal%c3%adticos-dados-4156820/
Banco de Dados
Modelagem DDL
ATIVIDADE
1. O que é DCL?
2. Quais são os comandos DCL?
3. O que é o comando grant?
4. Explique a funcionalidade do comando revoke grant option.
5. Apresente a sintaxe e um exemplo do comando revoke.
6. Explique o que é a possibilidade de ALL PRIVILEGES.
7. Crie um comando DCL utilizando a funcionalidade all privileges.
8. Crie um comando Create user.
9. Crie um comando drop
10. Explique o comando rename
456
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
TEMA 06
Conectividade em Python
Imagem: https://pixabay.com/pt/illustrations/bolsa-de-valores-economia-mundial-913956/
Banco de Dados
Conectividade em Python
458
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Banco de Dados
Conectividade em Python
Para criar uma conexão com o banco
Primeiro nós importamos o pyMySQL, de dados, use o nome de usuário e a
então estabelecemos uma conexão. senha do seu banco de dados MySQL:
459
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Banco de Dados
Conectividade em Python
CRIANDO UM BANCO DE DADOS EXEMPLO
Crie um banco de dados chamado "mydatabase":
Para criar um banco de dados no
MySQL, use uma instrução import mysql.connector
"CREATE DATABASE": mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword"
)
mycursor = mydb.cursor()
mycursor.execute("CREATE DATABASE mydatabase")
460
Imagem: https://pixabay.com/pt/illustrations/big-data-dados-anal%c3%adticos-dados-4156820/
Banco de Dados
VERIFIQUE SE EXISTE
BANCO DE DADOS
461
Banco de Dados
Conectividade em Python
Ou você pode tentar EXEMPLO
acessar o banco de dados Tente se conectar ao banco de dados "meu banco de dados":
ao fazer uma conexão:
import mysql.connector
mydb = mysql.connector.connect(
="mydatabase"host="localhost",
user="yourusername",
password="yourpassword",
database
)
462
Imagem: https://pixabay.com/pt/illustrations/big-data-dados-anal%c3%adticos-dados-4156820/
Banco de Dados
Conectividade em Python
PYTHON MYSQL CREATING TABLE
463
Banco de Dados
Conectividade em Python
PYTHON MYSQL INSERT
464
Banco de Dados
Conectividade em Python
PYTHON MYSQL SELECT
465
Banco de Dados
Conectividade em Python
PYTHON MYSQL SELECT EXEMPLO
Selecione o (s) registro (s) em que o endereço seja
Selecione com um filtro "Park Lane 38": resultado:
466
Banco de Dados
Conectividade em Python
PYTHON MYSQL SELECT CONTINUAÇÃO...
mycursor = mydb.cursor()
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
467
Imagem: https://pixabay.com/pt/illustrations/big-data-dados-anal%c3%adticos-dados-4156820/
Banco de Dados
Conectividade em Python
CARACTERES CURINGA EXEMPLO
Selecione os registros em que o endereço contenha a
palavra "caminho":
Você também pode selecionar os
registros que constam, incluindo import mysql.connector
ou terminam com uma mydb = mysql.connector.connect(
determinada letra ou frase. host="localhost",
user="yourusername",
Use o % para representar password="yourpassword",
caracteres curinga: database="mydatabase“
)
468
Banco de Dados
Conectividade em Python
CARACTERES CURINGA CONTINUAÇÃO...
mycursor = mydb.cursor( )
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
469
Imagem: https://pixabay.com/pt/illustrations/big-data-dados-anal%c3%adticos-dados-4156820/
Banco de Dados
Conectividade em Python
CRUD
(Create, Read, Update e Delete)
470
Imagem: https://pixabay.com/pt/vectors/big-data-servidor-prateleira-6100853/
Banco de Dados
Conectividade em Python
INSERT – CREATE
471
Banco de Dados
Conectividade em Python
SELECT – READ
O SELECT é de longe o
comando mais utilizado do
CRUD. Justamente porque é ele
quem traz todo o resultado da
busca que você quer saber.
472
Banco de Dados
Conectividade em Python
Exemplo
UPDATE
UPDATE cliente SET endereco = ‘Rua da Flor’ WHERE
nome = ‘Joana das Flores’;
O comando UPDATE tem por
finalidade a atualização dos
Para atualizar um campo, basta especificar qual campo
dados que você inseriu na
você vai modificar, com o valor antigo pelo valor que você
tabela. Se por algum motivo
quer substituir.
você quer modificar um campo,
atualizar o valor ou acrescentar
novos dados, é o UPDATE que
você vai utilizar.
473
Banco de Dados
Conectividade em Python
DELETE
474
Banco de Dados
Conectividade em Python
PYTHON MYSQL – DROP TABLE
475
Imagem: https://pixabay.com/pt/illustrations/big-data-dados-anal%c3%adticos-dados-4156820/
Banco de Dados
Conectividade em Python
IMPEDIR INJEÇÃO DE SQL
Exemplo
Quando os valores da consulta são Escape dos valores da consulta usando o
fornecidos pelo usuário, você deve %s método de placholder :
escapar dos valores.
import mysql.connector
Isso evita injeções de SQL, que é uma mydb = mysql.connector.connect (
técnica comum de hacking para destruir host="localhost",
ou usar indevidamente seu banco de user="yourusername",
dados. password="yourpassword",
database="mydatabase"
O módulo mysql.connector tem métodos )
para escapar dos valores da consulta:
476
Banco de Dados
Conectividade em Python
IMPEDIR INJEÇÃO DE SQL CONTINUAÇÃO...
mycursor = mydb.cursor()
mycursor.execute(sql, adr)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
477
Imagem: https://pixabay.com/pt/illustrations/big-data-dados-anal%c3%adticos-dados-4156820/
Banco de Dados
Conectividade em Python
LIMITE O RESULTADO
Exemplo
Você pode limitar o número de registros Selecione os 5 primeiros registros na
retornados da consulta, usando uma tabela "clientes":
instrução "LIMIT":
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
478
Banco de Dados
Conectividade em Python
LIMITE O RESULTADO
CONTINUAÇÃO...
mycursor = mydb.cursor()
myresult = mycursor.fetchall()
for x in myresult:
print(x)
479
Imagem: https://pixabay.com/pt/illustrations/big-data-dados-anal%c3%adticos-dados-4156820/
Banco de Dados
Exemplo
Conectividade em Python Comece na posição 3 e retorne 5 registros:
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM
customers LIMIT 5 OFFSET 2")
myresult = mycursor.fetchall()
for x in myresult:
print(x) 480
Imagem: https://pixabay.com/pt/illustrations/big-data-dados-anal%c3%adticos-dados-4156820/
Banco de Dados
Conectividade em Python
ATIVIDADE
1. O que é o Python?
2. Por que é uma ferramenta interessante de se usar com MySQL?
3. Crie um comando para inserir uma linha usando Python e MySQL.
4. Crie um comando para selecionar os dados inseridos usando Python e MySQL.
5. Crie um comando para atualização de dados usando Python e MySQL.
6. Crie um comando para deletar um objeto de banco de dados usando Python e MySQL.
7. O que é o CRUD em Python e MySQL.
8. Apresente um exemplo de CRUD.
9. Explique como criar um banco de dados MySQL e Python.
10. Como limitar buscas?
481
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
Conectividade em Python
DATA WAREHOUSE
O surgimento do conceito Data
Warehouse surgiu em decorrência às
dificuldades que muitas organizações O volume de dados e a dificuldade
começaram a ter com uma grande de reuni-los para a análise
quantidade de dados que suas aplicações eficiente, foram os responsáveis
estavam gerando.
pela iniciativa de reunir, em um
único local, os dados considerados
relevantes ao processo decisório.
482
Banco de Dados
Conectividade em Python
DATA WAREHOUSE
Evolução Tecnológica
Esses programas têm como
Com o avanço da internet e
princípio percorrer os arquivos do
crescimento das transações online banco de dados usando condições
com alta performance, começaram a e critérios e, ao encontrar os
ser necessários programas de dados específicos, direciona-os
extração de dados.
para um arquivo de extração do
banco de dados.
483
Banco de Dados
Conectividade em Python
DATA WAREHOUSE
Evolução Tecnológica
484
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Banco de Dados
Conectividade em Python
DATA WAREHOUSE
O Ambiente Projetado
Data warehouse é uma
coleção de dados orientada
A arquitetura de desenvolvimento
espontâneo não era suficiente para por assuntos, integrada,
atender as necessidades do futuro das variante no tempo e não
empresas, fazendo-se necessário uma volátil, que tem por objetivo
mudança de arquitetura, surgindo o
ambiente projetado de Data Warehouse.
dar suporte aos processos de
tomada de decisão.
485
Banco de Dados
Conectividade em Python
• Permitem que sistemas mais antigos
DATA WAREHOUSE continuem em operação;
O Ambiente Projetado
• Consolidam dados inconsistentes dos
sistemas mais antigos em conjuntos
Em geral, um Data warehouse requer a coerentes;
consolidação de outros recursos de dados
além dos armazenados em banco de • Extraem benefícios de novas
dados relacionais, incluindo informações informações oriundas das operações
provenientes de planilhas eletrônicas, correntes;
documentos textuais, etc.
• Provêm ambiente para planejamento
Sistemas de Data warehouse revitalizam de novos sistemas de cunho
sistemas da empresa, pois: operacional.
486
Banco de Dados
Conectividade em Python
DATA WAREHOUSE
Extração de Dados
Conectividade em Python
TIPOS DE DATA WAREHOUSE
488
Banco de Dados
Conectividade em Python
TIPOS DE DATA WAREHOUSE
Conectividade em Python
ATIVIDADE
1. que é um data warehouse?
2. Para que serve?
3. Como é utilizado?
4. Porque utilizar um DW nas empresas?
5. Quais as principais características de um DW?
6. Como os dados são armazenados em um DW?
7. Explique o conceito de modelo dimensional.
8. que são ferramentas OLAP? Para que serve?
9. Qual a diferença entre OLAP e OLTP?
10. Quais os métodos de armazenamento das ferramentas OLAP?
490
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
Banco de Dados
TEMA 07
Business Intelligence
Imagem: https://pixabay.com/pt/illustrations/bolsa-de-valores-economia-mundial-913956/
Banco de Dados
Business Intelligence
No competitivo mundo dos negócios, a
sobrevivência de uma empresa depende
de como rápido eles são capazes de
reconhecer dinâmicas de negócios em
mudança e desafios, e responder
corretamente e rapidamente.
492
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Banco de Dados
Business Intelligence
493
Imagem: https://pixabay.com/pt/photos/empres%c3%a1rio-tablet-dire%c3%a7%c3%a3o-cidade-3213659/
Banco de Dados
Business Intelligence
494
Banco de Dados
Business Intelligence
Business Intelligence
VANTAGENS
5. Existem inúmeras outras vantagens na
adoção de BI, como redução de retrabalho,
informações confiáveis, documentos
padronizados e recebimento das informações
em tempo real, entre outros.
Business Intelligence
DESVANTAGENS
1. A principal desvantagem da aplicação do
BI em pequenas e médias empresas é o alto
custo da ferramenta é a mais apontada.
Muitas vezes estas empresas não possuem
recursos financeiros necessários para
3. Muitos projetos não alcançam o sucesso
viabilizar o projeto.
por falta de foco da empresa e dos
envolvidos no processo, faltando
2. Além disso, pode ser que seja necessária a maturidade da gestão para trabalhar com
adaptação de toda sua estrutura operacional indicadores e múltiplas informações, que
para a implantação do BI, gerando despesas podem acabar dificultando a análise
de hardware e software, assim como estratégica.
despesas com mão-de-obra especializada.
498
Imagem: https://pixabay.com/pt/photos/ligar-desligar-d%c3%b3lar-o-neg%c3%b3cio-2932999/
Banco de Dados
Business Intelligence
MODELAGEM DE DADOS
Tradicionalmente, os modeladores de
dados utilizaram o diagrama E/R,
desenvolvido parte do processo de
modelagem de dados, como uma mídia
de comunicação com o negócio analistas.
499
Imagem: https://pixabay.com/pt/vectors/big-data-dados-base-de-dados-7216839/
Banco de Dados
Business Intelligence
MODELAGEM DE DADOS
No entanto, o foco do modelo
dimensional está nos negócios.
Modelagem dimensional nos dá uma
capacidade melhorada para visualizar as
questões muito abstratas que os analistas
de negócios são obrigados a responder.
500
Imagem: https://pixabay.com/pt/photos/empreendedor-id%c3%a9ia-compet%c3%aancia-1340649/
Banco de Dados
Business Intelligence
MODELAGEM DE DADOS
Modelo Dimensional
501
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Banco de Dados
Business Intelligence
MODELAGEM DE DADOS
Modelo Dimensional
502
Imagem: Proz – Técnico em Desenvolvimento de Sistemas – Módulo Programação de Sistemas
Banco de Dados
Business Intelligence
MODELAGEM DE DADOS
Características da Tabela Fato
Cada tabela de fatos contém as
chaves para as tabelas de
dimensões associadas.
A tabela de fatos contém valores
numéricos do que você pode medir.
Essas são chamadas chaves
Por exemplo, um valor de fato de 20
estrangeiras na tabela de fatos.
pode significar que 20 itens foram
vendidos. Tabelas de fatos geralmente contêm
um pequeno número de colunas.
503
Banco de Dados
Business Intelligence
É numérica e usada para gerar
MODELAGEM DE DADOS agregados e resumos. Os valores de
Características da Tabela Fato dados precisam ser aditivos ou
semi-aditivos para permitir resumo
de muitos valores.
Comparado às tabelas de dimensão, as
tabelas de fatos possuem um grande Todos os fatos no Segmento 2
número de linhas. devem referir-se diretamente às
chaves de dimensão Segmento 1 da
As informações em uma tabela de fatos estrutura, permite o acesso a
possuem características, como: informações adicionais das tabelas
de dimensão.
504
Banco de Dados
Business Intelligence
ATIVIDADE
1. O que é BI?
2. Em quais situações o uso do BI nas empresas é indicado?
3. Qual o ganho que as ferramentas de BI podem trazer para as empresas?
4. Quais as principais características de um BI.
5. Qual é a diferença entre tabela Fato e tabela Dimensão?
6. Como as tabelas fato e dimensão se relacionam?
7. Explique o que é modelo estrela.
8. Explique o que é modelo snow flake ou floco de neve.
9. Qual a importância do modelo estrela para o uso do BI?
10. Quais as vantagens do BI?
505
Imagem: https://pixabay.com/pt/illustrations/monumento-pensador-pensar-pot%c3%aancia-1027556/
506