Questões de Concurso Público BANRISUL 2018 para Desenvolvimento de Sistemas
Foram encontradas 12 questões
Observe as tabelas FUNCIONARIOS, PROJETOS e PARTICIPACOES definidas abaixo, usando SQL, que representam funcionários e a participação destes em projetos.
create table PROJETOS
(codp char(2) not null primary key,
cliente varchar(100) not null,
orcamento numeric(15,2) not null,
pais char(2) not null);
create table FUNCIONARIOS
(matr char(2) not null primary key,
nomef varchar(100) not null,
salario numeric(8,2) not null,
pais char(2) not null);
create table PARTICIPACOES
(codp char(2) not null,
matr char(2) not null,
horas integer not null,
primary key (codp, matr),
foreign key (codp) references PROJETOS,
foreign key (matr) references FUNCIONARIOS);
Observe as instâncias destas tabelas.
Considere a consulta SQL abaixo, que segue o padrão SQL2.
SELECT cliente
FROM projetos natural left join participacoes natural join funcionarios
GROUP BY codp, cliente
HAVING count(*) > 1;
A consulta SQL acima recuperará
Oberve as tabelas MEDICOS, PACIENTES e CONSULTAS definidas abaixo, usando SQL, que representam médicos, pacientes e as consultas entre estes.
create table ESPECIALIDADES
(code integer not null primary key,
nome varchar(60) not null);
Create table MEDICOS
(codm char(5) not null primary key,
nome varchar(100) not null,
code integer not null,
salario numeric(8,2) not null,
foreign key (code) references ESPECIALIDADES);
Create table CONSULTAS
(codm char(5) not null,
dataHora date not null,
paciente char(5) not null,
primary key (codm, dataHora),
foreign key (codm) references MEDICOS);
Considere as consultas abaixo, formuladas utilizando subconsultas.
I
Quais consultas poderiam ser reescritas usando apenas as cláusulas SELECT-FROM-WHERE, sem usar subconsulta
em nenhuma porção da instrução?
Observe as tabelas FUNCIONARIOS, PROJETOS e PARTICIPACOES definidas abaixo, usando SQL, que representam funcionários e a participação destes em projetos.
Create table PROJETOS
(codp char(2) not null primary key,
cliente varchar(100) not null,
orcamento numeric(15,2) not null,
pais char(2) not null);
create table FUNCIONARIOS
(matr char(2) not null primary key,
nomef varchar(100) not null,
salario numeric(8,2) not null,
pais char(2) not null);
create table PARTICIPACOES
(codp char(2) not null,
matr char(2) not null,
horas integer not null,
primary key (codp, matr),
foreign key (codp) references PROJETOS,
foreign key (matr) references FUNCIONARIOS);
Considere a consulta SQL abaixo.
O que essa consulta SQL recupera?
Considere as afirmações abaixo sobre as vantagens de procedimentos armazenados (stored procedures) em Sistemas de Gerência de Banco de Dados (SGBDs).
I - Desempenho: a maioria dos SGBDs compilam os procedimentos armazenados, gerando uma representação interna que pode ser executada de forma bastante eficiente no SGBD, com desempenho bem melhor do que o de comandos equivalentes invocados a partir de um programa de aplicação, por exemplo, através de uma API (Application Programing Interface).
II - Reusabilidade: um procedimento armazenado definido para uma função específica pode ser invocado de múltiplas formas, por exemplo, por diferentes aplicações, procedimentos armazenados ou gatilhos.
III - Segurança: um procedimento armazenado precisa ser testado e homologado pelo DBA (administrador do banco de dados), garantindo assim que não irá gerar erros de execução.
IV - Redução do tráfego de rede: em uma configuração cliente/servidor, invocar um procedimento armazenado a partir de uma aplicação no cliente, recebendo os resultados, gera bem menos tráfego do que invocar um conjunto equivalente de comandos SQL a partir de uma lógica controlada em um programa de aplicação.
Quais estão corretas?
Observe a tabela PRODUTOS definida em SQL. Considere que existe uma tabela PARTES e que a tabela PRODUTOS possui 50 instâncias.
CREATE TABLE PRODUTOS
(CODP INTEGER NOT NULL,
NOMEP VARCHAR(60) NOT NULL,
PRECO NUMERIC(5,2),
TIPO INTEGER NOT NULL,
PROD_PK PRIMARY KEY(CODP),
FOREIGN KEY (TIPO) REFERENCES PARTES);
Considere que o projetista deseja fazer as seguintes modificações nesta tabela.
I - Remover a chave estrangeira definida sobre o atributo TIPO.
II - Adicionar um novo atributo QT_MIN INTEGER com valor obrigatório (NOT NULL).
III - Remover a chave primária.
IV - Adicionar uma restrição de nome VERIFICA_PRECO, que verifica se o preço é nulo ou maior que 0.
Quais destas alterações podem ser realizadas através de um comando ALTER TABLE aplicado sobre a tabela PRODUTOS?