Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Exerccios Comentados
Padro CESPE
Professor Maral de Lima Hokama - mhokama@dominandoti.com.br
WWW.DOMINANDOTI.COM.BR
WWW.DOMINANDOTI.COM.BR
Cursos
Livros
Frum
Simulados
Blog
Materiais
Curta o Dominando TI no
e receba nossas dicas sobre concursos!
Professor Maral de Lima Hokama - mhokama@dominandoti.com.br
WWW.DOMINANDOTI.COM.BR
MySQL
WWW.DOMINANDOTI.COM.BR
WWW.DOMINANDOTI.COM.BR
WWW.DOMINANDOTI.COM.BR
WWW.DOMINANDOTI.COM.BR
WWW.DOMINANDOTI.COM.BR
WWW.DOMINANDOTI.COM.BR
WWW.DOMINANDOTI.COM.BR
DDL ?
Script II
INSERT INTO tbCliente (CodCliente, NomCliente,
DataNascimento, TelCliente, TipCliente) VALUES
(1, Ana Paula, 1982-10-01, 1234-5678, 2),
(2, Cristiane, 1976-11-29, 2233-4545, 1);
DML ?
Script III
CREATE VIEW vwCliente AS
SELECT NomCliente, CodCliente FROM tbCliente
WHERE TipCliente = 1;
DVL ?
10
WWW.DOMINANDOTI.COM.BR
DDL ?
Script II
INSERT INTO tbCliente (CodCliente, NomCliente,
DataNascimento, TelCliente, TipCliente) VALUES
(1, Ana Paula, 1982-10-01, 1234-5678, 2),
(2, Cristiane, 1976-11-29, 2233-4545, 1);
DML ?
Script III
CREATE VIEW vwCliente AS
SELECT NomCliente, CodCliente FROM tbCliente
WHERE TipCliente = 1;
DVL ?
11
WWW.DOMINANDOTI.COM.BR
12
WWW.DOMINANDOTI.COM.BR
13
WWW.DOMINANDOTI.COM.BR
14
WWW.DOMINANDOTI.COM.BR
15
WWW.DOMINANDOTI.COM.BR
16
WWW.DOMINANDOTI.COM.BR
17
WWW.DOMINANDOTI.COM.BR
18
WWW.DOMINANDOTI.COM.BR
19
WWW.DOMINANDOTI.COM.BR
20
WWW.DOMINANDOTI.COM.BR
21
WWW.DOMINANDOTI.COM.BR
22
WWW.DOMINANDOTI.COM.BR
23
WWW.DOMINANDOTI.COM.BR
24
WWW.DOMINANDOTI.COM.BR
Principais storage
engines
suportadas pelo MySQL 5.6:
Exerccio
2 (MPU
Desenvolvimento/2010)
InnoDB Permite
o controle
conformidade
ACID. Lock
Considerando
o modelo
E-Rdee transaes
as tabelase acima,
que representam
nvel de linha e leituras sem bloqueio consistentes com o padro
uma grupo
de auditores que realizam auditorias em empresas, julgue
Oracle. Suporta constraints FOREIGN KEY.
os itens seguintes.
MyISAM Lock a nvel de tabela. Usado frequentemente em atividades
) Oprioridade
storage em
engine
no MySqlWeb
5.1,e de
permite
estabelecer,
com
leituraInnoDB,
em configuraes
Data Warehouse.
(
nas tabelas, o controle de transaes para possibilitar o uso dos
Memory (HEAP)
Armazena
todos os dados
na caso,
memria
RAM, para
comandos
COMMIT
e ROLLBACK.
Nesse
considerando
a
acesso rpido
ambientes
que requerem
rpidas de
existncia
das em
tabelas
apresentadas
embuscas
um banco
dedados
dados, a
no-crticos.
execuo
dos comandos a seguir habilitar corretamente a transao
nas tabelas.
CSV So na verdade arquivos texto com valores separados por vrgula.
Tabelas CSV permitem voc importar ou exportar dados no formato CSV,
Alter table empresa engine=innodb;
para
troca de dados com scripts e aplicaes que trabalham com esse
Alter table auditoria engine = innodb;
formato.
Alter table auditor engine=innodb;
Archive Utiliza compresso. Suporta INSERT e SELECT, mas no
DELETE, REPLACE ou UPDATE.
Professor Maral de Lima Hokama - mhokama@dominandoti.com.br
25
WWW.DOMINANDOTI.COM.BR
Alterpadro
table empresa
engine=innodb;
o MyISAM.
A partir da
Alter table auditoria engine = innodb;
verso 5.5, o InnoDB.
Alter table auditor engine=innodb;
26
WWW.DOMINANDOTI.COM.BR
27
WWW.DOMINANDOTI.COM.BR
28
WWW.DOMINANDOTI.COM.BR
29
WWW.DOMINANDOTI.COM.BR
30
WWW.DOMINANDOTI.COM.BR
Alm do exerccio...
Exerccio
2 (MPU Desenvolvimento/2010)
E como seria oo SQL
correto
atender
o enunciado
(nomes
de
Considerando
modelo
E-Rpara
e as
tabelas
acima, que
representam
auditaram todas as empresas que possuem oramento
umauditores
grupo deque
auditores
que realizam auditorias em empresas, julgue
maior que 4000) ?
os itens seguintes.
select distinct nome from auditor
( ) Awhere
execuo
do comando
mostrado abaixo permite listar os
not exists
(
nomesselect
dos *auditores
que auditaram todas as empresas com
from empresa
where
not exists
(
oramento
superior
a 4.000.
select * from auditoria
where
auditoria.id_emp=empresa.id_emp
select distinct
a.nome
and
from auditor
a,auditoria.id_aud=auditor.id_aud));
auditoria b, empresa c
31
WWW.DOMINANDOTI.COM.BR
Alm do exerccio...
Exerccio
2 (MPU Desenvolvimento/2010)
Se a subquery retornar registros,
E
como
seria
o
SQL
correto
para
atender
o
(nomes
de
Considerando o modelo E-R e as tabelasenunciado
acima, retorna
que
representam
EXISTS
TRUE, e NOT
auditaram todas as empresas que possuem oramento
umauditores
grupo deque
auditores
que realizam auditoriasEXISTS
em empresas,
retorna FALSE
julgue
maior que 4000) ?
os itens seguintes.
5
6
1
1
5
4
02/04/2010
01/05/2010
32
WWW.DOMINANDOTI.COM.BR
Alm do exerccio...
Exerccio
2 (MPU Desenvolvimento/2010)
E como seria o SQL correto para atender o enunciado (nomes de
Considerando
modelo todas
E-R easas
tabelasque
acima,
que oramento
representam
auditores queoauditaram
empresas
possuem
ummaior
grupoque
de4000)
auditores
que realizam auditorias em empresas, julgue
?
Se a subquery retornar registros,
os itens seguintes.
EXISTS retorna TRUE, e NOT
select distinct nome from auditor
FALSE
not exists
(
( ) Awhere
execuo
do comando
mostrado abaixoEXISTS
permiteretorna
listar os
from empresa
nomesselect
dos *auditores
que auditaram todas as empresas com
where not exists (
oramento superior
a 4.000.
select * from auditoria
where auditoria.id_emp=empresa.id_emp
select distinct
and a.nome
auditoria.id_aud=auditor.id_aud)
from auditor
a, auditoria b, empresa c
and orcamento>4000);
33
WWW.DOMINANDOTI.COM.BR
34
WWW.DOMINANDOTI.COM.BR
35
WWW.DOMINANDOTI.COM.BR
36
WWW.DOMINANDOTI.COM.BR
37
WWW.DOMINANDOTI.COM.BR
38
WWW.DOMINANDOTI.COM.BR
39
WWW.DOMINANDOTI.COM.BR
40
WWW.DOMINANDOTI.COM.BR
( ) XA define
interface
entre
dois ou mais
transaction
managers e um
de um
ou mais
gerenciadores
de recursos
(resources
resource manager.
managers) e de um gerenciador de transaes
(transaction manager). Um gerenciador de recursos
prov o acesso aos recursos transacionais. Um servidor
de banco de dados um tipo de gerenciador de recursos.
Deve ser possvel efetivar ou desfazer transaes
gerenciadas por ele. Um gerenciador de transao
coordena as transaes que compem uma transao
global. Ele faz comunicao com os gerenciadores
de recursos que manipulam cada uma destas
transaes menores.
41
WWW.DOMINANDOTI.COM.BR
42
WWW.DOMINANDOTI.COM.BR
43
WWW.DOMINANDOTI.COM.BR
44
WWW.DOMINANDOTI.COM.BR
Exerccio
5 (Inmetro
Gesto/2010)
O protocolo
two-phasecommit
compreende duas fases:
phase (ou votingde
phase):
um gerenciador
Acerca1)decommit-request
controle e processamento
transaes,
envolvendo
de transaes
(processogerncia
coordenador)
tenta preparar
todos
recuperao,
concorrncia,
e protocolos
de transaes
os gerenciadores
recursos
(processos participantes) que
distribudas,
assinale a de
opo
correta.
45
WWW.DOMINANDOTI.COM.BR
46
WWW.DOMINANDOTI.COM.BR
47
WWW.DOMINANDOTI.COM.BR
48
WWW.DOMINANDOTI.COM.BR
Nveis de 7
Isolamento
(SQL) Gesto/2010)
Exerccio
(Inmetro
SERIALIZABLE: uma transao totalmente isolada das outras. Caso a
Acerca
de controle
e processamento
de atualizar
transaes,
transao
tenha comandos
DML que tentem
dados envolvendo
no gravados de
outra transao,
essa transao
no sereefetuada.
recuperao,
concorrncia,
gerncia
protocolos de transaes
distribudas, assinale a opo correta.
REPEATABLE READ (nvel padro para o InnoDB): os dados podem ser lidos
mais de uma vez, e se outra transao tiver includo ou atualizado linhas e
( ) Oestas
padro
define
quatro
de isolamento
de transaes,
foremSQL
gravadas
no banco
de nveis
dados entre
uma e outra leitura
dos dados,
ento
dados retornados
da ltima buscaesero
diferentes
dos dados
da busca
visando
aooscontrole
de concorrncia,
apenas
um deles
permite
a
Esse efeito
leituraanterior.
suja (dirty
read) conhecido como leitura fantasma.
READ COMMITED: caso a transao utilize comando DML que precise do
bloqueio de linhas que outras transaes esto utilizando, a operao somente
ser concluda aps a liberao da linha da outra transao.
READ UNCOMMITED: sero lidos contedos no gravados ainda pelo banco
de dados (transaes passveis de ROLLBACK). H um enorme risco nessas
operaes, visto que o usurio que est bloqueando a informao pode
descart-la. Esse efeito conhecido como leitura suja.
Mais sobre nveis de isolamento no MySQL
http://dev.mysql.com/doc/refman/5.6/en/set-transaction.html
Professor Maral de Lima Hokama - mhokama@dominandoti.com.br
49
WWW.DOMINANDOTI.COM.BR
50
WWW.DOMINANDOTI.COM.BR
51
WWW.DOMINANDOTI.COM.BR
52
WWW.DOMINANDOTI.COM.BR
53
WWW.DOMINANDOTI.COM.BR
54
WWW.DOMINANDOTI.COM.BR
55
WWW.DOMINANDOTI.COM.BR
56
WWW.DOMINANDOTI.COM.BR
57
WWW.DOMINANDOTI.COM.BR
58
WWW.DOMINANDOTI.COM.BR
59
WWW.DOMINANDOTI.COM.BR
60
WWW.DOMINANDOTI.COM.BR
61
WWW.DOMINANDOTI.COM.BR
62
WWW.DOMINANDOTI.COM.BR
63
WWW.DOMINANDOTI.COM.BR
Exerccio 12 (TJ/ES
Analista BD/2011)
Fonte:
http://www.mysql.com/why-mysql/white-papers/
mysql-5-5-performance-benchmark-for-myisam-and-innodb/
concorrncia.
64
WWW.DOMINANDOTI.COM.BR
http://dimitrik.free.fr/blog/archives/2013/09/
mysql-performance-reaching-500k-qps-with-mysql-57.html
65
WWW.DOMINANDOTI.COM.BR
66
WWW.DOMINANDOTI.COM.BR
67
WWW.DOMINANDOTI.COM.BR
68
WWW.DOMINANDOTI.COM.BR
69
WWW.DOMINANDOTI.COM.BR
70
WWW.DOMINANDOTI.COM.BR
71
WWW.DOMINANDOTI.COM.BR
72
WWW.DOMINANDOTI.COM.BR
73
WWW.DOMINANDOTI.COM.BR
74
WWW.DOMINANDOTI.COM.BR
75
WWW.DOMINANDOTI.COM.BR
76
WWW.DOMINANDOTI.COM.BR
Exerccio 17 (SEGER-ES/2011)
CREATE TABLE TipoServico (
idTipoServico INTEGER NOT NULL,
DeTipoServico VARCHAR(50) NULL,
PRIMARY KEY(idTipoServico)) ;
CREATE TABLE Cliente (
idCliente INTEGER NOT NULL,
NoCliente VARCHAR(50) NULL,
PRIMARY KEY(idCliente)) ;
CREATE TABLE TarifacaoServico (
idTarifacao INTEGER NOT NULL,
idTipoServico INTEGER NULL,
idCliente INTEGER NULL,
DataTarifacao DATE NULL,
ValorTarifacao DECIMAL NULL,
PRIMARY KEY(idTarifacao),
FOREIGN KEY(idCliente)
REFERENCES Cliente(idCliente),
FOREIGN KEY(idTipoServico)
REFERENCES TipoServico(idTipoServico));
Professor Maral de Lima Hokama - mhokama@dominandoti.com.br
77
WWW.DOMINANDOTI.COM.BR
Exerccio 17 (SEGER-ES/2011)
Considerando o script SQL acima para o SGBD MySQL, julgue os
itens consecutivos.
78
WWW.DOMINANDOTI.COM.BR
Exerccio 17 (SEGER-ES/2011)
Considerando o script SQL acima para o SGBD MySQL, julgue os
itens consecutivos.
79
WWW.DOMINANDOTI.COM.BR
Exerccio 17 (SEGER-ES/2011)
Considerando o script SQL acima para o SGBD MySQL, julgue os
itens consecutivos.
( ) Considere que dados foram inseridos em um sistema de acordo
com os scripts SQL a seguir.
INSERT INTO Cliente (idCliente, NoCliente)
VALUES (1, 'Paulo'),
(2, 'Fatima');
INSERT INTO Tiposervico (idTipoServico,
DeTipoServico) VALUES
(1,Internet'),
(2, 'Telefonia');
INSERT INTO TarifacaoServico (idTarifacao,idTipoServico, idCliente,DataTarifacao,
ValorTarifacao) VALUES
(1, 1, 1, '2011-01-19', '10'),
(2, 2, 1, '2011-01-20', '20'),
(3, 1, 2, '2011-01-28', '43'),
(4, 2, 2, '2011-01-29', '5'),
(continua)
(5, NULL, 2, '2011-01-28', '100');
Professor Maral de Lima Hokama - mhokama@dominandoti.com.br
80
WWW.DOMINANDOTI.COM.BR
Exerccio 17 (SEGER-ES/2011)
Nesse caso, correto afirmar que, por meio do script SQL
abaixo, pode-se obter o nome do cliente e o valor total tarifado
para cada cliente, independentemente da data de tarifao.
SELECT CL.NoCliente , MAX( TA.ValorTarifacao )
FROM Cliente CL
INNER JOIN TarifacaoServico TA ON CL.idCliente
= TA.idcliente
INNER JOIN TipoServico TS ON TA.idtipoServico
= TS.idtipoServico
GROUP BY CL.Nocliente
81
WWW.DOMINANDOTI.COM.BR
Exerccio 17 (SEGER-ES/2011)
Considerando o script SQL acima para o SGBD MySQL, julgue os
itens consecutivos.
( E ) Considere que dados foram inseridos em um sistema de acordo
com os scripts SQL a seguir.
INSERT INTO Cliente (idCliente, NoCliente)
VALUES (1, 'Paulo'),
(2, 'Fatima');
INSERT INTO Tiposervico (idTipoServico,
DeTipoServico) VALUES
(1,Internet'),
(2, 'Telefonia');
INSERT INTO TarifacaoServico (idTarifacao,idTipoServico, idCliente,DataTarifacao,
ValorTarifacao) VALUES
(1, 1, 1, '2011-01-19', '10'),
(2, 2, 1, '2011-01-20', '20'),
(3, 1, 2, '2011-01-28', '43'),
(4, 2, 2, '2011-01-29', '5'),
(continua)
(5, NULL, 2, '2011-01-28', '100');
Professor Maral de Lima Hokama - mhokama@dominandoti.com.br
82
WWW.DOMINANDOTI.COM.BR
Exerccio 17 (SEGER-ES/2011)
Considerando o script SQL acima para o SGBD MySQL, julgue os
itens consecutivos.
83
WWW.DOMINANDOTI.COM.BR
Exerccio 17 (SEGER-ES/2011)
Considerando o script
itens consecutivos.
julgue os
84
WWW.DOMINANDOTI.COM.BR
Exerccio 17 (SEGER-ES/2011)
Considerando o script SQL acima para o SGBD MySQL, julgue os
itens consecutivos.
85
WWW.DOMINANDOTI.COM.BR
86
WWW.DOMINANDOTI.COM.BR
http://www.mysql.com/products/enterprise/
87
WWW.DOMINANDOTI.COM.BR
88
WWW.DOMINANDOTI.COM.BR
89
WWW.DOMINANDOTI.COM.BR
http://dev.mysql.com/doc/refman/5.0/en/create-view.html
90
WWW.DOMINANDOTI.COM.BR
91
WWW.DOMINANDOTI.COM.BR
92
WWW.DOMINANDOTI.COM.BR
93
WWW.DOMINANDOTI.COM.BR
94
WWW.DOMINANDOTI.COM.BR
95
WWW.DOMINANDOTI.COM.BR
96
WWW.DOMINANDOTI.COM.BR
97
WWW.DOMINANDOTI.COM.BR
http://dev.mysql.com/doc/refman/5.0/en/spatial-extensions.html
98
WWW.DOMINANDOTI.COM.BR
99
WWW.DOMINANDOTI.COM.BR
Exerccio 23 (MC/2013)
Acerca de bancos de dados, julgue os itens seguintes.
100
WWW.DOMINANDOTI.COM.BR
Exerccio 23 (MC/2013)
Acerca de bancos de dados, julgue os itens seguintes.
101
WWW.DOMINANDOTI.COM.BR
Exerccio 23 (MC/2013)
Acerca de bancos de dados, julgue os itens seguintes.
102
WWW.DOMINANDOTI.COM.BR
SQL Server
103
WWW.DOMINANDOTI.COM.BR
104
WWW.DOMINANDOTI.COM.BR
105
WWW.DOMINANDOTI.COM.BR
106
WWW.DOMINANDOTI.COM.BR
http://msdn.microsoft.com/en-us/library/hh213248.aspx
107
WWW.DOMINANDOTI.COM.BR
108
WWW.DOMINANDOTI.COM.BR
109
WWW.DOMINANDOTI.COM.BR
110
WWW.DOMINANDOTI.COM.BR
http://msdn.microsoft.com/en-us/library/hh231122.aspx
111
WWW.DOMINANDOTI.COM.BR
112
WWW.DOMINANDOTI.COM.BR
113
WWW.DOMINANDOTI.COM.BR
Considerando que
implementao e manuteno
de bancos de dados computacionais,
- Domain Integrity validade das entradas para uma coluna
julgue os itens a seguir.
especfica. Utiliza data types, restrio de formato utilizando
constraints CHECK, ou restringe a possibilidade de valores
possveisos
utilizando
constraints
KEY, constraints
( ) O SQL Server oferece
seguintes
tiposFOREIGN
de integridade
de
CHECK, definies DEFAULT, definies NOT NULL e
dados: integridade de
domnio, integridade de entidade e
rules.
integridade referencial.
114
WWW.DOMINANDOTI.COM.BR
115
WWW.DOMINANDOTI.COM.BR
116
WWW.DOMINANDOTI.COM.BR
117
WWW.DOMINANDOTI.COM.BR
118
WWW.DOMINANDOTI.COM.BR
119
WWW.DOMINANDOTI.COM.BR
Exerccio 29 (MEC
Arquiteto
Sistema/2011)
Voc
pode
criar tabelas de
temporrias
locais e globais. As
locais so visualizadas apenas na sesso atual, e as globais
so visveis em todas as sesses.
Tabelas temporrias no podem ser particionadas.
Tabelas temporrias locais so definidas com o prefixo #
no nome da tabela. Tabelas temporrias globais so
definidas com o prefixo ##.
Exemplo:
120
WWW.DOMINANDOTI.COM.BR
121
WWW.DOMINANDOTI.COM.BR
122
WWW.DOMINANDOTI.COM.BR
http://technet.microsoft.com/en-us/library/ms159106.aspx
123
WWW.DOMINANDOTI.COM.BR
124
WWW.DOMINANDOTI.COM.BR
125
WWW.DOMINANDOTI.COM.BR
http://technet.microsoft.com/en-us/library/ms141026.aspx
126
WWW.DOMINANDOTI.COM.BR
127
WWW.DOMINANDOTI.COM.BR
128
WWW.DOMINANDOTI.COM.BR
129
WWW.DOMINANDOTI.COM.BR
130
WWW.DOMINANDOTI.COM.BR
http://www.microsoft.com/en-us/sqlserver/solutions-technologies/
enterprise-information-management/master-data-services.aspx
131
WWW.DOMINANDOTI.COM.BR
132
WWW.DOMINANDOTI.COM.BR
133
WWW.DOMINANDOTI.COM.BR
134
WWW.DOMINANDOTI.COM.BR
135
WWW.DOMINANDOTI.COM.BR
136
WWW.DOMINANDOTI.COM.BR
http://technet.microsoft.com/en-us/library/ms190638(v=sql.105).aspx
137
WWW.DOMINANDOTI.COM.BR
Exerccio 35 (TRE/MS
Anlise de Sistemas/2013)
USE AdventureWorksDW2008R2;
GO
- Adaptada
SELECT *
FROM dbo.FactInternetSales AS F
INNER JOIN dbo.DimProduct AS D1 ON F.ProductKey = D1.ProductKey
INNER JOIN dbo.DimCustomer AS D2 ON F.CustomerKey = D2.CustomerKey
WHERE D1.StandardCost <= 30 AND D2.YearlyIncome <= 50000;
138
WWW.DOMINANDOTI.COM.BR
139
WWW.DOMINANDOTI.COM.BR
FIM
140
WWW.DOMINANDOTI.COM.BR