Professional Documents
Culture Documents
Bizu Estratégico de Banco de Dados
Bizu Estratégico de Banco de Dados
Autor:
Elizabeth Menezes de Pinho Alves,
Leonardo Mathias, Paulo Júnior,
Aline Calado Fernandes
23 de Maio de 2023
Elizabeth Menezes de Pinho Alves, Leonardo Mathias, Paulo Júnior, Aline Calado Fernandes
Aula 10
Neste material, traremos uma seleção de bizus da disciplina de Banco de Dados para o
concurso do SERPRO.
O objetivo é proporcionar uma revisão rápida e de alta qualidade aos alunos por meio
Todos os bizus destinam-se a alunos que já estejam na fase bem final de revisão (que já
estudaram bastante o conteúdo teórico da disciplina e, nos últimos dias, precisam revisar por
Leonardo Mathias
@profleomathias
ANÁLISE ESTATÍSTICA
Pessoal, segue abaixo uma análise estatística dos assuntos mais exigidos pela banca
focadas na banca:
Banco de Dados
1. BANCOS DE DADOS
• Dados: fatos brutos, que não foram organizados, processados, relacionados, avaliados
ou interpretados.
Tipos de Dados:
• Não estruturados: não possuem uma estrutura definida. Podem ser listados como
o XML.
ESCLARtCENDOl
Ha dois tipos de redundancia de dados:
Sistema de Gerenciamento de Banco de Dados ( SGBD) para atuar como um guardiao do banco de
dados, que substituiu a abordagem de arquivos. Vejamos uma figura para esclarecer esses
contextos :
Dados
Aplicativos Dados Aplicativos SGBD
Banco tern diversas definigoes possiveis no dicionario da lingua portuguesa . Dentre elas a que
melhor se encaixa no nosso contexto e um conjunto organizado e categorizado de objetos , por
exemplo, podemos ter um banco de fotografias ou um banco de leite.
Dados sao fatos conhecidos que podem ser registrados e possuem um sienificado imph'cito. Esse
conceito, porem, e um pouco amplo e abstrato para nosso intuito. Quando reduzimos o escopo a
tecnologiada informagao, temosum conceito maisadequado para dado. Ele e a representacao fisica
de um evento no tempo e espaco que nao agrega fundamento ou significado para quern o sente ou
recebe . E , basieamente , um registro !
imu
ATirma
O banco de dados, por si so, pode ser considerado como o equivalente
eletronlco deum armario de arquivamento; ou seja, ele e um repositdrio ou
recipiente para uma coleqao de arquivos de dados computadorizados. - C J
Date
Banco de dados £ uim conjunto de dados Integrados que tem porobjetivo atendera uma
comunidade de usuarios - Carlos Heuser .
Acho que voceja entendeu oconcelto de banco de dados ! Na lista acima , voce conheceu
todas as defini &es que podem aparecer na sua prova. :)
^
2. Modelo Relacional
Atribut
Nome da relagao
,
ALUNO
Nome Cpf Telefone residencial Endereco Telefone comercial Idade Media
Cada linha de uma tabela é conhecida como uma tupla, ou uma coleção de valores
Álgebra Relacional
• É uma coleção de operações de alto nível sobre relações ou conjuntos cujo resultado é
EQUIJUNQAO Produz todas as combenagoes de tuplas de ft, e ft que satisfazem uma condigao de R. CX] R OR
jungao apenas com comparagoes de iguaidade . R. X M ki 1>{ laHutatyvk) 2>)
ft2
^
JUNQAO 0 mesmo que EQUUOIN. exceto que atrtxjtos de jungao de ft? nao sao incluidos na ft f * a2 np
"^
NATURAL relagao resuftante; se os atributos de jungao tiverem os mesmos nomes, eles nem sequer
precisam ser especihcados.
R. *
ft.
* .
ft
ft20fl
UNlAO Produz uma relagao que inclui todas as tuplas em A, ou ft. ou tanto R. quanto ft.; ft1 e ft
precisam ser compativeis r»a iniao.
ft, uft .
INTERSECCAO Produz uma relagao qua inclui todas as tuplas em ft, e ft2; ft, e ft. precisam ser
ft. n ft.,
compativeis na uniao.
DIFERENgA Produz uma relagao que inclui todas as tuplas em ft, que nao estao em ft2; ft, e ft2
precisam ser compativeis na inido.
ft . - ft
PfODUTO Produz uma relagao que tern os atributos de ft. e ft, e ndui como tuplas todas as
ft. x ft2,
CARTESIANO .
possiveis combinagdes de tuplas de ft e ft;.
i
.
DIVISAO Produz uma relagao ftlX ) que inclui todas as tuplas fp() em ft,(Z) que aparecem em ft,
ft , (Z) -r
em combinagao com toda tupla de ft2|Y). onde Z X u Y.
Views
dados de uma tabela. A view não necessariamente existe em forma física, sendo muitas
Índices
Chaves
forma exclusiva.
• Chave primária: é uma superchave mínima escolhida para identificar uma linha da
tabela.
t 1R ESI)MlHDD
Sinonimos: dlicionario de
dados ou catallogo de Dados sob re os dados
dados
to Tipos de dados
o
“ a
CD ( IMa ^athe ) Armazena
Estruturas
“ Informaqdes sob re:
O
CD
Restrl;oes [ regras de ingridade )
CD
-
Figura 3 Mietadados, cala logo de dados ou dkloniiirlos de dados
Visao
Pode ser atualiz vel.
Defini ao
^ Fu tiroes
^
Facilitar a Sumarizar Visdes
Unui til be la visualiza ao Seguran a dados de Se for complexas
virtual dos dados ^ dos dados ^ diferentes simples nao sao
dispersos tabelas atualizaveis.
-
Figura 1 Concertos de Vis&o*
Unico nfvel De
Utilize campus nao chave
agrupamento
<D
u Sao especificados dll campus imo urdenadu
Come estruturas de acessc adidonais para
SeLundirio .
T3 melburar u desempenho de fpnsultas e
transudes.
C
Implementadus cornu B-
MuLtiniveL
tnees e E + - trees
-
Figura 2 Com cellos de indices
1- Forma Norma ]
2- Forma Normal
3H Forma Normal
FNBC
4 - Forma Normal
Pontos Importantes
A k
SELECT Nome, DataDeNascimento
Comando FROMAPROVADOS:
W Nome da tabela
SGBD
* Prccessar
Relational
r
A k
Nonu DataDcHascimenta
Resultado
Diego 15/IH/lMi
V Herbert 05 / 02 /1307
-
Figaro 1 Um exempio de consufta
* DDL - Data Definition Language - A linguagem de definigao de dados contem comandos que
criam, modificam e excluem objetos de banco de dados . Sao exemplos de comando: CREATE,
ALTER, DROP e TRUNCATE.
* DML - Data Manipulation Language - A linguagem de manipulagao de dados fornece
instrug&es para trabalhar com os dados armazenados como SELECT, INSERT, UPDATE, DELETE
e MERGE.
—
o DQL Data Query Language - A linguagem de consulta de dados e um subconjunto da
DML que possui apenas a instrugao de SELECT .
* —
DTL - Data Transaction Language Linguagem de transagao de dados inclui comandos de
COMMIT, ROLLBACK e SAVEPOINT
* DCL - Data Control Language - A linguagem de controle de dados contem os comandos
relacionado 5 com as permissoes de controle de acesso . Garante os privil £gios aos usuarios
para acessaros objetos do banco. Os mais conhecidos comandos sao o GRANT e o REVOKE.
-
Transact SQL Usado pelo Microsoft SQL Server e Sybase Adaptive Server. Como
-
SQL PL - extensao processual do IBM DB 2 para SQL, introduzido na versao 7.0 do SGBD,
fornece construgoes necessarlas para a execugao de controle de fluxo em torno de
consultas SQL tradiclonais e operagoes.
MySQL -O
MySQL introduzlu uma linguagem procedural em seu banco de dados na
versao 5, mas nao ha nenhum nome oficial para ela. Ela segue o padrao definido pela
ANSI (SQL /PSM ).
PL/SQL SQL
Os blocos de cbdigos podem ser usados para Os comandos sao usados para executar operagoes
escrever programas inteiros . de DML e DDL .
Por ser procedural , devemos descrever COMO as Por ser declarativa. devemos definir apenas O QUE
coisas devem ser feitas. deve ser feito .
Sao executados em declaragoes unicas .
Sao executados em blocos inteiros
(statements ) .
Usados para criar aplicagdes. Usados para manutengao dos dados.
Uma extensao de SQL, e permitido o uso de codigo
Nao pode center codigo PL/ SQL .
SQLdentro do codigo PL/ SQL
Resumindo os principals comandos usadas para definigao de objetos em SQL, conhecidos como DDL
( Data Definition Language ) sao:
COMANDO DESCRIQAO
CREATE Comando utilizado para criar bancos de dados, tabelas, indices, entre outros.
DROP Comando utilizado para deletar uma tabela do banco de dados .
TRUNCATE Comando utilizado para apagar os dados de uma tabela do banco de dados.
ALTER Comando utilizado para adicionar, deletar ou modificar colunas do banco de dados.
1
RENAME Comando utilizado para renomear uma tabela do banco de dados.
NULL -
Gar arite que um 3 colona IIJU pods
tearum valor NULL
NOME ALUN0 VARCHAJv(frO ]
NUT NULL .);
Default
Seri adicionadu a todos os novas
OrderDate date D EFAU LT
iglstrosSE nenhum outra valor for
especLflcado. GETDATEQ
CLASULAS DESCRICAO
SELECT Comando utilizado para seletionar dados de uma tabela.
FROM Comando utilizado para indicar de onde os dados devem ser seleeionados -
WHERE Comando utilizado para filtrar os dados,
Big Data pode ser enteridido como a captura , gerendamcnto eanajisg de dados que yao
alem de dados estruturados tipicos, que podem ser consultados por sistemas de
gerenciamento de banco de dados relaciorial — frequentemente em arquivos nao
estruturados, video digital, imagens, dados de sensores, arquivos de log e , na verdade,
qualquer dado nao contido nos registros com campos pesquisaveis distintos.
° * •o o • •• *
•
•c o • • ••
_ _
# •• o 3
Volume
# %
Valor Veracidade
Padre esAtomicos
r i i i
Amnentar o
Dados de data
Pre- p rocessainento warehouse,
armazenamento de de dados bmtos transact nais e Dados tradicionais
dados tradicional
operacionais
Iniciar resposta
automatizada
Limitagoes de tecnologias
tradicionais
( RSGBD)
Armazenamento distribuido
I I MapReduce/MPP
Processamento distribuido
I
Ferramentas de Big Data /
Tecnologias
( Hadoop, Mongo, HPCC, ...)
NoSONao Relational
k
Emergente
Maduro
Escalavel
SoLido
Relational Flexivel
Semi - estrturado Rigido
OL
Estrtuturado
Consistencial Eventual
Consistente
Uma instancia do PostgreSQL e chamada de cluster porque uma unica instancia pode
servir e lidar com varios bancos de dados Cada banco de dados e um espago isolado
onde usuarios e aplicativos podem armazenar dados. Um banco de dados e acessado
por usuarios autorizados, mas os usuarios conectados a um banco de dados nao podem
cruzar os limites do banco de dados e interagir com os dados contidos em outro banco de
dados, a menos que se conectem explicitamente ao ultimo banco de dados tambem.
walwriter e responsavel por gravar os Logs Write -Ahead ( WALs ), os logs que sao
necessarios para garantir a confiabilidade dos dados, mesmo no caso de uma fa I ha
do banco de dados.
stats collector e um processo que monitora a quantidade de dados que o PostgreSQL
esta manipulando, armazenando -os para uma analise e decisoes posteriores, como
decidir quais indices usar para satisfazer uma consulta.
logical replication launcher e um processo responsavel por lidar com a replicaqao
Ibgica.
Autenticagao Descrigao
• Range partitioning - quando a tabela e dividida em " intervalos". Os intervalos nao devem se
sobrepor e a faixa e definida por meio do uso de um campo ou conjunto de campos. Aqui
estamos falando de valores numericos .
• List partitioning - a tabela sera particionada usando uma lista de valores. Essa lista tende a
ser um conjunto discreto, por exemplo, cidades ou time de futebol.
• Hash partitioning - a tabela sera particionada usando um valor de hash que sera usado como
o valor para dividiir os dados em tabelas diferentes.
0 PostgreSQL possui um mecanismo de transagao muito rico e compativel com os padroes que
permite aos usuarios definir exatamente as propriedades da transagao, incluindo transagoes
aninhadas.
0 PostgreSQL depende muito de transagoes para manter os dados consistentes em conexoes
simultaneas e atividades paralelas e, gramas aos registros Write- Ahead ( WALs ) , o PostgreSQL faz o
possivel para manter os dados seguros e confiaveis. Alem disso, o PostgreSQL implementa o Multi-
Version Concurrency Control ( MVCC) , uma forma de manter a alta simultaneidade entre as
transa oes.
^
Como nao temos muitas transagoes simultaneas de conexoes diferentes nao temos como visualizar
o que acontece com essa variaveis em um grande banco de dados corporativo. Mas vou apresentar
abaixo uma tabela que descreve as colunas do sistemas que influenciam nas transagoes.
Coluna Descrigao
Bons estudos!
Leonardo Mathias
@profleomathias