Questões de Concurso
Comentadas sobre sql em banco de dados
Foram encontradas 2.679 questões
Medicos (Nome, Codm) Pacientes (Nome, Codp) Consultas (Codm, codp)
O comando SQL que busca os nomes dos médicos que têm consulta marcada com todos os pacientes é
Professor (Nome, Código, I.D., Salário) Aluno (Nome, Matrícula, Data-Nasc, Endereço) Disciplina (Nome, Código, Horas-Semanais) Leciona (Código-Prof, Código-Discip) Matriculado-em (Matrícula, Código-Discip, Nota)
Foram propostos os seguintes comandos em SQL para obter os dados do aluno (Tabela Aluno) que obteve a maior nota na disciplina de nome “Lógica”.
I. select * from aluno where matricula in (select matricula from matriculado_em where nota in (select MAX(nota)from matriculado_em where cod_disc in (select codigo from disciplina where nome = 'Lógica'))); II. select * from aluno where matricula in (select MAX(nota) from matriculado_em where cod_disc in (select codigo from disciplina where nome = 'Lógica')); III.select aluno.* from aluno, matriculado_em where aluno.matricula=matriculado_em.matricula and nota in (select MAX(nota)from matriculado_em where cod_disc in (select codigo from disciplina where nome = 'Lógica')); IV. select aluno.*, MAX(nota) from aluno, matriculado_em where cod_disc in (select codigo from disciplina where nome = 'Lógica')
Os comandos corretos são
I A cláusula WHERE restringe os resultados obtidos após a aplicação da cláusula FROM. II A cláusula HAVING é utilizada de forma horizontal para filtrar linhas. III A cláusula WHERE é utilizada para filtrar resultados de agrupamentos. IV A cláusula HAVING somente pode ser utilizada em conjunto com GROUP BY.
Estão corretas as afirmativas
create table EMPREGADOS (code integer not null, nomee varchar(60) not null, pais char(2) not null, gerente integer, primary key(code), foreign key (gerente) references EMPREGADOS);
create table PROJETOS (codp integer not null, nomep varchar(60) not null, pais char(2) not null, orcamento numeric(15,2) not null, gerente integer not null, primary key(codp), foreign key(gerente) references EMPREGADOS);
create table PARTICIPACOES (codp integer not null, code integer not null, horas integer not null, funcao varchar(30) not null, primary key(codp, code), foreign key (code) references EMPREGADOS, foreign key(codp) references PROJETOS);
Observe a consulta em SQL abaixo, no mesmo padrão.
SELECT * FROM projetos natural join participacoes natural join empregados WHERE orcamento > 10000;
Quantos atributos têm a tabela resultado?
O padrão SQL (SQL2 ou superior) define vários tipos de cláusulas ou comandos que têm por objetivo a especificação de restrições de integridade, delimitando valores válidos dos dados no banco. Analise as opções abaixo.
I - Cláusula CHECK em um comando CREATE TABLE ou ALTER TABLE.
II - Assertiva (comando CREATE ASSERTION).
III- Domínio (comandos CREATE DOMAIN ou ALTER DOMAIN).
IV - Procedimentos armazenadores (comando CREATE PROCEDURE).
Quais dentre os recursos SQL acima (comandos ou cláusulas de comandos) têm por objetivo a especificação de restrições de integridade sobre os dados?
create or replace function obter_candidatos() returns table ( inscricao candidato.inscricao%type, nome candidato.nome%type ) as $body$ declare begin return query (select inscricao, nome from candidato); end; $body$ language plpgsql;
Qual alternativa apresenta a instrução SQL CORRETA para executar a função “obter_candidatos”?
select frase[4] ||' '|| frase[2] as resultado from ( select regexp_split_to_array('Instituto Federal de Educação e Tecnologia', E'\\s+') as frase ) X
Create table PRODUTOS (codp integer not null, nomep varchar(60) not null, categoria varchar(30) default 'perfumaria' not null, preco numeric(5,2) default 0, estoque integer, primary key(codp));
create table PRODUTOSDESCONTINUADOS (codp integer not null, nomep varchar(60) not null, categoria varchar(30) default 'desconhecido' not null, preco numeric(5,2) default 0, primary key(codp));
Considere o conjunto de comandos SQL de inserção de tuplas nas tabelas abaixo (mesmo padrão) e suponha que não haja problemas com os valores fornecidos como chave-primária.
I - INSERT INTO PRODUTOS (codp, nomep, preco) VALUES (1, 'gasex', 100); II - INSERT INTO PRODUTOSDESCONTINUADOS SELECT codp, nomep, categoria from PRODUTOS WHERE estoque IS NULL; III- INSERT INTO PRODUTOSDESCONTINUADOS VALUES (30, 'biutiful', null, null);
Quais comandos SQL de inserção executam corretamente?
Create table ENSINO (matr integer not null, disciplina varchar(50) not null, professor varchar(60) not null, nota numeric(3,1), primary key (matr, disciplina));
Considere que sobre esta tabela existem as seguintes dependências funcionais não triviais, e apenas estas:
matr, disciplina → professor, nota professor → disciplina
Para cada forma normal apresentada abaixo, assinale com V (verdadeiro), se a tabela estiver nessa forma normal ou F (falso), se não estiver.
( ) Segunda Forma Normal ( ) Terceira Forma Normal ( ) Forma Normal Boyce-Codd
A ordem correta de preenchimento dos parênteses, de cima para baixo, é
1 – USUÁRIO U1 executa o comando GRANT SELECT, INSERT ON TAB1 TO U2 WITH GRANT OPTION; 2 – USUARIO U2 executa o comando GRANT SELECT ON TAB1 TO U3; 3 – USUARIO U1 executa o comando REVOKE INSERT ON TAB1 FROM U2;
Assumindo que os comandos acima, na sequência especificada, executaram sem erros, considere cada situação abaixo, assinalando V (verdadeiro) se o usuário tem a permissão de realizar o comando especificado, ou F (falso) se não tem essa permissão.
( ) usuário U3 consulta a tabela TAB1 usando o comando SELECT ( ) usuário U3 insere uma tupla na tabela TAB1 usando o comando INSERT
( ) Usuário U2 concede o privilégio de consultar a tabela TAB1 ao usuário U4 usando o comando GRANT
A sequência correta de preenchimento dos parênteses, de cima para baixo, é
( ) O comando SET TRANSACTION define as propriedades da próxima transação a ser executada e não tem efeito sobre transações já em execução. ( ) O comando ROLLBACK desfaz todas as mudanças realizadas sobre a base de dados, sempre desde o início da transação. ( ) Entre as propriedades que podem ser definidas em um comando SET TRANSACTION, estão o nível de isolamento e o nível de acesso.
A sequência correta de preenchimento dos parênteses, de cima para baixo, é
create table ALUNOS (coda integer not null primary key, nomea varchar(60) not null);
create table DISCIPLINAS (codd integer not null primary key, nomed varchar(100) not null, professor varchar(2) not null);
create table MATRICULAS (coda integer not null, codd integer not null, nota integer not null, primary key (coda, codd), foreign key (coda) references ALUNOS, foreign key (codd) references DISCIPLINAS);
Considere as seguintes consultas SQL no mesmo padrão, formuladas utilizando subconsultas.
I - SELECT distinct nomea, codd, nota FROM alunos natural join matriculas WHERE codd not in (SELECT distinct codd FROM disciplinas WHERE professor = 'joao da silva');
II - SELECT distinct nomea, codd, nota FROM alunos natural join matriculas WHERE coda not in (SELECT distinct coda FROM disciplinas natural join matriculas WHERE professor = 'joao da silva');
III- SELECT distinct nomea, codd, nota FROM alunos natural join matriculas WHERE coda in (SELECT distinct coda FROM matriculas WHERE nota = 10);
Quais dentre as consultas acima NÃO poderiam ser reescritas em termos das tabelas DISCIPLINAS, MATRICULAS E ALUNOS sem uso de subconsulta em nenhuma porção da consulta SQL, e sem utilizar a mesma tabela mais de uma vez na cláusula FROM?
SELECT * FROM cidadao WHERE
I. O custo de acesso ao armazenamento secundário considera os custos de transferência (ler e gravar) blocos entre o armazenamento secundário e os buffers de memória principal. II. O custo de memória diz respeito ao número de buffers de memória principal necessário para a execução de uma consulta. III. O custo de comunicação diz respeito ao tempo de realizar as operações na memória em registros dentro dos buffers de dados.
Está correto o que se afirma em
A condição que estabelece a razão entre o número de registros que satisfazem uma dada condição e o número total de registros no arquivo, é chamada de
Considere os comandos SQL abaixo em um sistema de gerência de banco de dados relacional.
I - create table TAB1 (a integer not null primary key);
II - create table TAB2 (a integer check(a IS NOT NULL and a > 0));
III - alter table TAB1 add constraint c1 check(a > 10);
IV - create assertion C2 as CHECK (not exists (select * from TAB1 where a < 0));
Quais instruções resultarão na criação de uma ou mais restrições (constraints) no dicionário de dados (catálogo)?