Questões de Concurso Público BANRISUL 2018 para Desenvolvimento de Sistemas
Foram encontradas 75 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);
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?
Observe as tabelas abaixo definidas em SQL.
create table EMPREGADOS
(matr integer not null primary key,
nome varchar(120) not null,
salario numeric(7,2) not null,
funcao varchar(35) not null,
feriasAVencer date);
create table AFASTAMENTOS
(code integer not null primary key,
nome varchar(120) not null,
salario numeric,
funcao varchar(35) not null,
tempo integer);
Considere abaixo a atuação dos comandos SQL de inserção.
I - INSERT INTO AFASTAMENTOS VALUES (1, 'joao', 'gerente');
II - INSERT INTO AFASTAMENTOS (code, nome, tempo, funcao) VALUES (2, 'pedro', 4, 'contador');
III - INSERT INTO AFASTAMENTOS
SELECT matr, nome, salario, funcao
FROM EMPREGADOS
WHERE funcao = 'indefinido';
IV - INSERT INTO AFASTAMENTOS VALUES (3, 'maria',
3000, 'gerente', 1), (4, 'carla', 1500, 'auxiliar', 2).
Quais comandos executam sem falhas?
Observe a tabela PRODUTOS abaixo.
create table PRODUTOS
(codp integer not null primary key,
nome varchar(120) not null,
preco numeric(5,2) not null,
desconto integer,
precoDoConcorrente numeric(5,2));
Considere as visões definidas abaixo usando SQL. Assuma que não existem gatilhos definidos sobre a tabela, nem para estas visões.
I - CREATE VIEW V1 AS
SELECT DISTINCT CODP, NOME, PRECO
FROM PRODUTOS
WHERE DESCONTO >0;
II - CREATE VIEW V2 AS
SELECT PRECO
FROM PRODUTOS
GROUP BY PRECO
HAVING COUNT(*) > 3;
III - CREATE VIEW V3 AS
SELECT CODP, NOME, PRECO
FROM PRODUTOS
WHERE PRECODOCONCORRENTE - PRECO >0;
Através de quais visões é possível inserir uma tupla na tabela PRODUTOS, usando um comando INSERT compatível com o respectivo esquema da visão?