DISERTATIVAS
P). Em um cadastro de produto, compõe-se uma tabela de para “produto” e outra para
“tipo de produto”, conforme o diagrama a seguir:
Existem produtos cadastrados sem nenhum tipo associado. Sabendo que existe um
relacionamento de 1-N entre tipo de produto e produto, como poderíamos identificar esses
tipos?
select nome_produto, nome_tipo from produto
left join tipo_de_produto on produto.cod_tipo = tipo_de_produto.cod_tipo
P). Sobre as funções básicas de um banco de dados, sabemos que os métodos de acesso são
um aspecto essencial. Com relação aos métodos de acesso, sabemos que ao menos duas
categorias de linguagem devem estar presentes em um sistema de gerenciamento de banco
de dados (SGBD). Dia quais são essas duas categorias e explique brevemente o seu uso.
DDL: permite a especificação do esquema da organização, ou seja, entidades com seus
atributos e tipos de dados associados, os relacionamentos entre essas entidades e os
índices de acesso associados aos atributos.
DML: permite as operações de manipulação de dados, executadas pelas aplicações
inclusão, alteração, exclusão e consulta.
P). Dadas as tabelas abaixo, escreva o comando para retornar o nome dos alunos e seus
respectivos professores.
SELECT A.NOME, P.NOME FROM ALUNO A
LEFT JOIN ALUNO_PROFESSOR AL ON AL.RA = A.RA
LEFT JOIN PROFESSOR P ON P.FUNCIONAL = AL.FUNCIONAL;
P). Dado o diagrama abaixo, qual seria o seu tipo de cardinalidade no MER? Justifique
sua resposta.
Cardinalidade muitos-para-muitos (N:N). Podemos observar pela tabela intermediaria
ALUNO_PROFESSOR que foi gerada para efetuar a relação entre as tabelas ALUNO e
PROFESSOR.
P). Dado o modelo de dados a seguir. Responda:
Como deve ser escrito o comando “SELECT” para que retorne os dados no formato a
seguir?
select cod_produto, cod_fornecedor, cod_tipo, nome_produto from produto
join tipo_produto on produto.cod_cod_tipo = tipo_produto.cod_tipo
join fornecedor on produto.cod_fornecedor = fornecedor.cod_fornecedor
join nota on produto.cod_produto = nota.cod_produto
order by cod_produto asc, cod_fornecedor asc, cod_tipo asc;
P). Supondo que estamos diante de uma tabela X com 4 colunas, qual a diferença entre os
comandos abaixo:
Comando 1: SELECT * FROM tabela_x
Comando2: SELECT coluna_1, coluna_2, coluna_3, coluna_4 FROM tabela_x
Apesar da escrita diferente, ambos retornam o mesmo resultado, apenas que o comando 2
seleciona a ordem das colunas.
P). Considere um banco de dados que contenha uma tabela chamada ALUNO, que
contenha 5 campos, da seguinte forma: um campo chamado RA, que é uma cadeia de 7
caracteres e não pode ser nulo; o campo NOME, com 100 caracteres e também não pode
ser nulo; e os campos NOTAP1, NOTAP2 e MEDIA que devem ser números reais. Qual é
o comando para se inserir o seguinte registro: RA igual a 123, o nome deve ser Maria, a
nota da prova P1 deve ser 8 e a nota da prova P2 deve ser 9?
INSERT INTO ALUNO (RA, NOME, NOTAP1, NOTAP2) VALUES (‘123’, ‘Maria’, 8, 9);
P). Dada a tabela abaixo, escreva o comendo para excluir todos os alunos que tenham o
nome começado com a letra L.
DELETE FROM ALUNO WHERE NOME LIKE ‘L%’;
P). Dado o comando abaixo, indique o que esta errado.
INSERT INTO TABELA (CAMPO1, CAMPO2)
VALUES (VALOR1, VALOR2)
WHERE CAMPO1 = 100
Não se utiliza WHERE em comandos INSERT.
P). Dada a tabela abaixo, escreva o comando que retorna todos os dados ordenados em
ordem alfabética.
SELECT * FROM ALUNO ORDER BY NOME ASC;
P). Considere o comando “SELECT” da linguagem SQL. Suponha ainda uma tabela
chamada ALUNO. O que ocorre quando fazemos o comando: SELECT * FROM
ALUNO?
É exibido todos os campos da tabela aluno.
P). Considere um banco de dados que contenha ta tabela ALUNO, que contenha 5 campos
da seguinte forma: um campo chamado RA, que é uma cadeia de 7 caracteres e nãop ode
ser nulo; op campo NOME com 100 caracteres e também não pode ser nulo; e os campos
NOTAP1, NOTAP2 e MEDIA, que devem ser números reais. Com base nesse banco e
nessa tabela, escreva um comando que calcule a media e insira o seu valor no banco de
dados, para cada um dos alunos cadastrados na tabela. Depois escreva um comando que
selecione todos os registros das colunas NOME e MEDIA da tabela ALUNO, mostrando
que os valores foram calculados corretamente,
UPDATE ALUNO SET MEDIA = (NOTAP1+NOTAP2)/2;
SELECT NOME, MEDIA FROM ALUNO;
P). O que pode ser considerado como “entregável” em um projeto de banco de dados?
XXXXXXXXXXX
MUTIPLA ESCOLHA
P) O comando correto para criar a tabela a seguir é:
TABELA_X
CAMPO_1
CAMPO_2
Resposta: d) CREATE TABLE TABELA_X {
CAMPO_1 CHAR(1),
CAMPO_2 CHAR(2)
}
P) Uma relação está na terceira forma normal quando:
Resposta: b) Que não existem atributos que dependam de outros atributos que não sejam
a chave.
P) Consideremos uma tabela de produto e que um produto duplicado foi inserido nela.
Após levantamento, constatou-se que o produto errado é o de código X. Para remover esse
dado devemos:
Resposta: b) Fazer um DELETE em PRODUTO usando WHERE COD_PRODUTO = X
P) Um projeto de banco de dados possui determinadas etapas para ser implementado
Assinale a alternativa que corresponda a tais etapas.
Resposta: c) Levantamento, Modelo Conceitual, Modelo Lógico e Modelo Físico.
P) Analise a tabela a seguir
Com base no esquema exposto, assinale a alternativa correta.
Resposta: a) São derivados de um relacionamento de cardinalidade N – N no MER.
P) A cláusula WHERE pode ser usada junto a alguns comandos SQL. Quais são eles?
Resposta: d) SELECT, DELETE e UPDATE
P) Considerando que em uma determinada empresa há funcionários que ganham de
R$1.000.00 a R$20.000,00, o comando a seguir retornara?
SELECT *
FROM FUNCIONARIOS
WHERE SALARIO >= 10.000.00
Resposta: d) Todos os funcionários com salário maior ou igual a 10.000.00
P) Dado o comando a seguir, qual será o resultado?
DELETE FROM TABELA
WHERE CAMPO = ‘X’
Resposta: c) Apenas será eliminado o registro em que o CAMPO for igual a X
P) Para excluir uma coluna de uma tabela, utilizamos o comando:
Resposta: d) ALTER TABLE
DROP COLUMN
P) Em um modelo Entidade Relacionamento (MER), as entidades, os atributos e as relação
são identificadas, respectivamente por:
Resposta: a) Retângulo, elipse e losango
P) Todos os bancos de dados possuem um banco de dados interno que armazena as suas
informações. A esses dados armazenados damos o nome de:
Resposta: d) Metadados
P) Analise o comando a seguir:
SELECT *
FROM TABELA
WHERE CAMPO_1 = 10 OR CAMPO_2 = 20.
De acordo com o esquema exposto, assinale a alternativa correta
Resposta: e) A consulta retornara os dados se qualquer uma das condições forem
verdadeiras.
P) Considere a tabela e o comando a seguir:
INSERT INTO TELEFONE
(TELEFONE, DDD, OPERADORA)
VALUES
(“11”, “987654321”, “XX”)
Qual será o problema com o comando em questão
Resposta: c) Porque a ordem dos valores está diferente da ordem dos campos.
P) O SQLite, apesar de ser um banco de dados relacional, não pode ser implementado em
arquitetura cliente-servidor como o SQL Server ou o Oracle. Por que?
Resposta: c) Porque é uma biblioteca desenvolvida em C para ser embarcado em um
software durante sua fase de desenvolvimento
P) Pensando em promoções para seus clientes, o Sr. Manoel resolveu adicionar um novo
campo na tabela de cliente, a data de nascimento (DT_NASCIMENTO). Para efetuar esse
campo, qual comando deve ser adicionado?
Resposta: a)ALTER TABLE CLIENTE
ADD DT_NASCIMENTO DATE
P) Considere o esquema a seguir:
Para obter uma consulta que retorne à quantidade de telefones por operadora
(independente do DDD), qual o comando que deve ser utilizado?
Resposta: a) SELECT OPERADORA
, COUNT(TELEFONE) AS QTD
FROM TELEFONE
GROUP BY OPERADORA
P) Ferramentas CASE existem para facilitar a vida dos DBAs e dos analistas de bancos de
dados. Dentre suas funcionalidades assinale a alternativa incorreta.
Resposta: c) Constroem modelos de dados sem interferência do usuário/operador
P) Sobre as chaves de um banco de dados, assinale a alternativa incorreta
Resposta: e) A chave estrangeira nasce dentro da própria tabela.
P) Podemos dizer que um banco de dados está devidamente normalizado quando:
Resposta: c) Foi aplicada a 1ª, 2ª e 3ª Forma Normal
P) Dada uma tabela chamada PESSOA, qual comando devemos utilizar para exclui-la?
Resposta: b) DROP TABLE PESSOA
P) Dado o comando a seguir, assinale a alternativa que destaca o que ele faz.
ALTER TABLE PRODUTO
ADD CONSTRAINT FK_TIPO FOREIGN KEY (COD_TIPO)
Resposta: a) Adiciona uma chave estrangeira na tabela PRODUTO
P) O que acontece se o comando a seguir for executado?
UPDATE TABLE X
SET COLUNA_1 = 100
Resposta: d) Todos os registros da tabela serão atualizados
P). Consideremos que estamos trabalhando com duas tabelas: A e B. Para que minha
consulta retorne todos os dados da tabela A mesmo que não exista correspondência na
tabela B, devemos usar:
Resposta: c) LEFT JOIN de A para B
P). Para sempre obtermos o resultado da consulta na mesma ordem, o SELECT deve ser
montado como:
Resposta: e) SELECT * FROM PRODUTO.
P). São exemplos de ferramentas Case:
Resposta: a) Erwin, Visio e Designer
P). Avalie a tabela a seguir:
Qual tipo de chave nós temos?
Resposta: d) Temos uma chave primaria composta
QUESTÕES NOVAS DAS PROVAS 2022
P) Um banco de dados pode ser definido como uma estante de coleção dedados que,
tipicamente, descreve as atividades de uma ou mais organizações relacionadas. Por
exemplo, um banco de dados de uma universidade poderia conter informações sobre:
entidades e relacionamentos.
I. Alunos, professores, faltas e notas.
II. Alunos, professores, cursos e turmas.
III. Alunos, professores, alunos, RG e idade.
IV. CPF dos alunos matriculados.
V. Dia em que os alunos se matricularam no curso.
Selecione a alternativa incorreta sobre entidade e relacionamentos (baseado no exemplo
da universidade);
Resposta: a) I, III, IV, V.