10-11-2014 - 05-SQL-Aluno

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 21

Exercícios Banco de Dados

SQL

Prof. Marcio Victorino – [email protected]


ANTT (2013)
Q01.
71 Existem várias categorias de linguagens de SGBD: a de
definição de dados (DDL), usada para especificar esquemas
(conceitual e externo); a de manipulação de dados (DML), que
provê um conjunto de operações básicas para manipulação de
dados; a de definição de visões (VDL), utilizada para
especificar a visão do usuário (esquema externo) e seu
mapeamento para o esquema conceitual e a de definição de
armazenamento (SDL), usada para especificar o esquema
interno de armazenamento dos dados no banco.

72 A linguagem padrão de consulta SQL (structured query


language) utiliza uma combinação de construtores em álgebra
e cálculo relacional.
Prof. Marcio Victorino 2 www.dominandoti.com.br
CPRM (2013)
Q02.
104 Define-se a view como uma tabela virtual composta por
linhas e colunas de dados vindos de tabelas relacionadas em
uma consulta SQL que a define. Ao se criar uma view, pode-se
filtrar o conteúdo de uma tabela a ser exibida, protegendo
certas colunas e, assim, simplificando o código na
programação.

105 A criação de um índice para aperfeiçoar o desempenho


das consultas e, consequentemente, do SGBD é necessária e
independe do tamanho das tabelas de dados.

Prof. Marcio Victorino 3 www.dominandoti.com.br


SERPRO - Des (2013)
Q03.
94 Sentenças com o comando SELECT INTO com a cláusula
ON podem ser utilizadas para fazer bacape de tabelas, desde
que a tabela de destino esteja no mesmo banco de dados da
tabela de origem.

95 A sentença SQL abaixo retorna todas as linhas da tabela


Tab1 e da tabela Tab2, inclusive aquelas em que não haja
correspondência entre os campos C3 das duas tabelas.

SELECT Tab1.C1, Tab1.C2, Tab2.C3


FROM Tab1 FULL JOIN Tab2
ON Tab1.C3 = Tab2.C3
ORDER BY Tab1.C2

Prof. Marcio Victorino 4 www.dominandoti.com.br


TCE-RO (2013)
Q04.
92 A linguagem de manipulação de dados (DML) abrange uma
linguagem de consulta embasada tanto na álgebra relacional
quanto no cálculo relacional de tuplas. Alguns comandos que
representam essa linguagem são SELECT, CREATE TABLE e
CREATE INDEX.

93 No contexto de bancos de dados, visão (view) é um objeto


que consiste em uma lista organizada de todos os elementos
de dados que são pertinentes para o sistema. A visão
descreve entradas, saídas, composição de depósito de dados
e cálculos intermediários.

Prof. Marcio Victorino 5 www.dominandoti.com.br


TCE-RO (2013)
Q05.
99 Para aperfeiçoamento das consultas em tabelas, em
relação ao tempo de atualização e de consulta dos registros,
deve-se criar o maior número de índices possível,
independentemente do uso da tabela.

100 Em tabelas com o mesmo tipo de registros, porém com


campos de tamanho variável, pode-se utilizar, nesses campos,
o tipo texto de tamanho variável (VARCHAR) para otimização
do espaço de armazenamento em disco.

Prof. Marcio Victorino 6 www.dominandoti.com.br


BACEN - Des (2013)
CREATE TABLE Pessoa(
Id int NULL,
Matricula int NOT NULL,
Nome varchar(255) NOT NULL,
DataNascimento date NULL)

CREATE TABLE EnderecoPessoa(


Id int NOT NULL,
TipoEndereco char (1) NOT NULL,
Endereco varchar(255),
Cidade char(55),
UF varchar (2))

Prof. Marcio Victorino 7 www.dominandoti.com.br


BACEN - Des (2013)
Q06.
97 O comando abaixo seleciona os cinco primeiros caracteres
da coluna Nome da tabela Pessoa.

SELECT MID(Nome,1,5) FROM Pessoa

98 O comando abaixo insere corretamente apenas um registro


na tabela Pessoa.

INSERT INTO Pessoa (Id,Matricula)


VALUES (1,287)

Prof. Marcio Victorino 8 www.dominandoti.com.br


BACEN - Des (2013)
Q07.
99 Para criar uma chave primaria composta na Tabela Pessoa, deve-se
executar o seguinte comando.

ALTER TABLE Pessoa


ADD CONSTRAINT pk_PessoaID PRIMARY KEY (Id, Matricula)

100 Considerando que o campo Id na tabela Pessoa esteja corretamente


configurado como chave primaria simples, para se criar uma chave
estrangeira entre as tabelas Pessoa e EnderecoPessoa, deve-se executar
o comando a seguir.

ALTER TABLE EnderecoPessoa


ADD CONSTRAINT fk_Endereco_Pessoa
FOREIGN KEY (P_id)
REFERENCES Pessoa (Id)

Prof. Marcio Victorino 9 www.dominandoti.com.br


BASA - BD (2012)

Prof. Marcio Victorino 10 www.dominandoti.com.br


BASA - BD (2012)
Q08.
77 Para garantir que não haverá repetição de nome de
unidade da Federação na tabela unidade_da_federacao, é
correto utilizar a expressão SQL abaixo.

CREATE UNIQUE INDEX unidade_da_federacao_nome ON


unidade_da_federacao (uf_nome);

Prof. Marcio Victorino 11 www.dominandoti.com.br


BASA - BD (2012)
Q09
.78 A execução do código abaixo cria corretamente uma view,
que corresponde a uma lista contendo nome de município,
tamanho da área do município, sigla do estado e tamanho da
área do estado, não necessariamente nessa ordem.

CREATE VIEW tamanho_area_cidades_uf_view as


SELECT a.uf_sigla, b.nome,
b.tamanho_area area_municipio,
a.tamanho_area area_estado
FROM unidade_da_federacao a,cidade b
WHERE a.codigo_ibge=b.codigo_ibge

Prof. Marcio Victorino 12 www.dominandoti.com.br


BASA - BD (2012)
Q10.
79 Considerando-se que, na tabela unidade_da_federacao, o
campo tamanho_area não esteja preenchido e que esse
campo seja resultante da soma das áreas de todas as cidades
que pertencem a determinada unidade da Federação, a
expressão SQL abaixo permite calcular corretamente a área
total dessa unidade da Federação, referida no código como
estado.

UPDATE unidade_da_federacao estado SET


tamanho_area = (SELECT SUM(tamanho_area)
FROM cidade WHERE uf=estado.codigo_ibge);

Prof. Marcio Victorino 13 www.dominandoti.com.br


BASA - BD (2012)
Q11.
80 Considere um banco de dados com as seguintes tabelas e
campos, representados na forma de um pseudo código.

cliente (nomecliente, codigocliente, cidade, codigoproduto)


chave estrangeira (codigoproduto) referenciado produto
produto (nomeproduto, codigoproduto, descricaoproduto)

Nessa situação, para se encontrarem todos os nomes de


clientes que possuem o produto de nome ACME, é correto, ao
se utilizar a linguagem SQL, o emprego do código abaixo.

SELECT nomecliente
FROM cliente as c, produto as p
WHERE c.codigoproduto = p.codigoproduto
AND p.nomeproduto = 'ACME';
Prof. Marcio Victorino 14 www.dominandoti.com.br
BASA - BD (2012)
Q12.
81 A operação de junção interna entre duas tabelas X e Y e
com critério de junção J tem a função, na álgebra relacional,
de concatenar cada linha da tabela X com cada linha da tabela
Y sempre que o critério de junção J for verdadeiro. Caso, para
uma linha de X, não exista nenhuma linha em Y que torne o
critério verdadeiro, a linha de X aparece no resultado
concatenada com campos vazios (NULL).

Prof. Marcio Victorino 15 www.dominandoti.com.br


BASA - BD (2012)
Q13.

departamento (codigodepartamento, nomedepartamento)


colaborador (codcolaborador, nomecolaborador, codigodepartamento)
chave estrangeira (codigodepartamento)
referenciando departamento

86 Em SQL, para se criar um relacionamento entre as duas tabelas


existentes no SGBD — departamento e colaborador —, é correto o uso da
expressão a seguir.
ALTER TABLE colaborador ADD CONSTRAINT
colaborador_fk FOREIGN KEY (codigodepartamento)
REFERENCES codigodepartamento (departamento);

Prof. Marcio Victorino 16 www.dominandoti.com.br


BASA - BD (2012)
Q14.
departamento (codigodepartamento, nomedepartamento)
colaborador (codcolaborador, nomecolaborador, codigodepartamento)
chave estrangeira (codigodepartamento)
referenciando departamento

87 Em SQL, para se listarem os nomes dos departamentos da tabela


departamento que não possuem colaboradores, é correto utilizar o código
abaixo.
SELECT nomedepartamento
FROM departamento d
EXCEPT
(SELECT nomedepartamento
FROM departamento d, colaborador c
WHERE d.codigodepartamento = c.codigodepartamento);

Prof. Marcio Victorino 17 www.dominandoti.com.br


BASA - BD (2012)
Q15.
99 Em SQL, caso uma view tenha de atualizar dados no banco
de dados, a cláusula WITH CHECK deverá ser acrescentada
ao final da definição da view.

100 Em SQL, tanto CREATE VIEW quanto CREATE LIST


TABLE são comandos que permitem que seja especificada
uma view.

101 As visões definidas sobre várias tabelas por meio de


junções, em geral, não são atualizáveis.

Prof. Marcio Victorino 18 www.dominandoti.com.br


BASA - BD (2012)
Q16.
120 A execução da consulta SQL

SELECT departamento, AVG (salario)


FROM empregado
WHERE AVG (salario) > 2000
GROUP BY departamento;

terá como resultado a média dos salários dos empregados


agrupada por departamento, se essa média for maior que
2.000.

Prof. Marcio Victorino 19 www.dominandoti.com.br


Gabarito
1) C, C. 11) C.
2) C, E. 12) E.
3) E, C. 13) E.
4) E, E. 14) C.
5) E, C. 15) E, E, C.
6) E, E. 16) E.
7) C.
8) C.
9) E.
10) C.

Prof. Marcio Victorino 20 www.dominandoti.com.br


FIM

Prof. Marcio Victorino 21 www.dominandoti.com.br

Você também pode gostar