Questões de Concurso Público BRDE 2023 para Analista de Sistemas - Administração de Banco de Dados
Foram encontradas 22 questões
Solicitaram ao DBA que casasse as necessidades dos alunos com a especialidade dos professores, mas não deram muitos detalhes. O DBA preparou, então, três possibilidades de combinação, representadas pelas consultas SQL (padrão SQL99 ou superior) abaixo:
I. select nomea, nomep from professores natural join alunos II. select nomea, nomep from professores right join alunos on professores.materia = alunos.materia III. select nomea, nomep from professores full join alunos using (materia)
Selecione a alternativa que representa, nesta ordem, o número de tuplas resultantes das consultas I, II e III.
Create table Alunos (pk int not null primary key, nomea varchar(100), idade int, nascimento date not null);
Assinale qual, dentre as instruções ALTER TABLE listadas abaixo, representa um comando SQL INVÁLIDO, que causa um erro de execução.
GRANT ALL PRIVILEGES ON PROJETOS TO USUARIO1;
Analise as assertivas abaixo, sobre os privilégios concedidos a USUARIO1 com esse comando, assinalando V, se verdadeiras, ou F, se falsas.
( ) USUARIO1 pode remover tuplas da tabela PROJETOS. ( ) USUARIO1 pode conceder a outros usuários um ou mais privilégios recebidos sobre a tabela PROJETOS através de comandos GRANT. ( ) USUARIO1 pode definir um gatilho sobre a tabela PROJETOS.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
Considere os comandos SQL abaixo no mesmo padrão, em que cada comando corresponde a uma transação. Assinale com V, se o comando executa corretamente, ou com F, se o comando resulta em erro.
( ) insert into PILOTOSA320(codp, nomep, companhia, aviao) values (1, 'jose', 'gol', 'A320'); ( ) insert into PILOTOSA320(codp, nomep, companhia, aviao) values (2, 'maria', 'tam', '777'); ( ) insert into PILOTOSA320(codp, nomep, aviao) values (2, 'jose', 'A320');
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
Create table A (pka int primary key, a1 integer); Create table B (pkb int primary key, b1 integer); Create table C (pkc int primary key, c1 integer); insert into A values (1,10); insert into A values (2, 10); insert into A values (3, 2); insert into A values (4, 3); insert into B values (10,0); insert into C values (100,0);
Suponha a criação dos gatilhos T1 e T2 definidos abaixo cujas cláusulas estão de acordo com padrão, e cujo código disparado foi escrito conforme sintaxe PL/SQL (Oracle).
Considere que os três comandos SQL de remoção de tuplas abaixo foram executados sem erro:
I. delete from A where a1>=10; II. delete from A where a1<10; III. delete from A where a1 is null;
Finalmente, foram executadas as duas consultas SQL abaixo, cada qual retornando uma única tupla:
(1) SELECT b1 FROM B; (2) SELECT c1 FROM C;
Selecione a alternativa que representa, nesta ordem, o valor do atributo b1 resultante da consulta (1), e o valor do atributo c1 resultante da consulta (2).
• Para procurar as tabelas existentes, deveria consultar a SYS.TABLES, e para encontrar as chaves primárias existentes, poderia consultar a tabela _____________; • Encontraria na tabela _________ o identificador do tipo de dado associado aos atributos de uma dada tabela; • Para encontrar os procedimentos armazenados na base de dados, precisava consultar a SYS.PROCEDURES, e que se quisesse saber detalhes dos parâmetros de um dado procedimento armazenado, poderia encontrá-los na ___________;
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.
CREATE NONCLUSTERED INDEX IDX1 ON TAB1 (codcomp, dataInicial) WHERE DataFinal IS NOT NULL;
Sobre isso, analise as assertivas abaixo:
I. Esse comando cria um índice filtrado. II. O índice criado por esse comando contribui à melhoria do desempenho de consultas principalmente quando a condição (DataFinal IS NOT NULL) é observada em um grande número de tuplas dessa tabela. III. O formato de armazenamento primário do índice criado por esse comando é columnstore.
Quais estão corretas?
I. Melhor manutenabilidade: é possível alterar o código de um procedimento armazenado diretamente, sem que as diferentes aplicações que o usam sejam impactadas. II. Maior segurança: é possível conceder a procedimentos armazenados os privilégios de acesso necessários ao acesso/atualização dos objetos que manipula. Se usuários forem forçados a atualizar certos objetos da base de dados através de procedimentos armazenados específicos, é possível limitar a concessão de privilégios a usuários para acesso/manipulação desses objetos. III. Melhor desempenho: um procedimento armazenado pode executar com melhor desempenho no servidor, pode se beneficiar de otimizações específicas feitas pelo sistema de gerência de banco de dados, pode implicar em redução de tráfego entre o servidor e a aplicação cliente, entre outras razões.
Quais estão corretas?
I. O recurso de multiplexar um redo log (multiplexed redo logs) visa proteger contra uma falha envolvendo o próprio redo log. II. Quando um redo log é multiplexado, é recomendado que todos os membros de um grupo sejam colocados em discos físicos distintos. III. É uma boa prática que a necessidade de arquivamento dos arquivos de redo log em mídias de armazenamento off-line, tais como discos ou fitas, seja levada em conta pelo DBA ao definir o tamanho do arquivo de redo log.
Quais estão corretas?
( ) Existem quatro tipos de bancos de dados standby: físico, lógico, snapshot e cloud. ( ) Uma transição do banco de dados primário para uma base de dados standby pode ocorrer tanto para gerenciar casos de falha (failover), tais como desastres e corrupção de dados, quanto situações que não envolvem falhas (switchover), como, por exemplo, manutenções programadas. ( ) Oferece três modos de proteção: disponibilidade máxima, desempenho máximo e proteção máxima.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
( ) Oferece diferentes modelos de recuperação, entre eles o total, diferencial e log de transações. ( ) Um backup diferencial captura apenas as extensões dos dados alterados desde o último backup diferencial. ( ) Se a base de dados foi criada com múltiplos arquivos de dados, é possível criar backups de arquivos individuais e restaurá-los individualmente.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
insert into ESPECIALIDADES values (1,'cardiologia'); insert into ESPECIALIDADES values (2,'oftalmologia'); insert into ESPECIALIDADES values (3,'pediatria'); insert into MEDICOS values (1, 'joao', 1, 'ufrgs'); insert into MEDICOS values (2, 'maria', 1, 'pucrs'); insert into MEDICOS values (3, 'pedro', 2, 'ufsm');
Considere a sequência de comandos SQL abaixo, em que cada comando deve ser considerado uma transação separada:
I. delete from ESPECIALIDADES where nomee = 'pediatria'; II. update ESPECIALIDADES set code = 4 where nomee = 'oftalmologia'; III. delete from ESPECIALIDADES where nomee = 'cardiologia';
Após a execução das transações I, II e III, é possível afirmar que:
• A tabela ESPECIALIDADES tem __________ tupla(s); • Na tabela MEDICOS, no registro em que MEDICOS.codm = 1, o valor do atributo MEDICOS.code é _________; • Na tabela MEDICOS, no registro em que MEDICOS.codm = 3, o valor do atributo MEDICOS.code é _________.
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.
I. Relacionamento MENTORIA, entidades ESTAGIARIO, MENTOR, e SETOR: em um programa de treinamento, um estagiário passa por vários setores da empresa, em cada um deles sendo atribuído a um mentor. Deseja-se registrar sobre cada mentoria, além do estagiário, do mentor, e do setor, a data de início e de fim da mentoria. II. Relacionamento CONSULTA, entidades MEDICO, PACIENTE, e EXAME: uma clínica médica oferece consultas e exames a seus pacientes. Deseja-se registrar sobre cada consulta realizada, além do médico e do paciente, a data/hora da consulta, a forma de pagamento, bem como possivelmente um ou mais exames solicitados durante a consulta. III. Relacionamento ALOCACAO, entidades PROJETO, FUNCIONARIO, e FUNCAO: uma empresa de TI desenvolve diferentes projetos, na qual aloca seus funcionários em uma dada função. Deseja-se registrar sobre cada alocação, além do funcionário, do projeto e da função, o número de horas alocado.
Qual dos relacionamentos acima poderia ser corretamente modelado por um relacionamento ternário entre as três entidades participantes indicadas?
Create table ABASTECIMENTO (nbomb int not null, capac int not null, data_hora timestamp not null, placa char(7) not null, descr varchar(50) not null, ano_fab date not null, litros int not null, primary key (nbomb, data_hora));
A DBA analisou essa proposta e observou que não seguia as formas normais. Com base na descrição dos atributos acima, assinale com V, se a dependência funcional é responsável pelo fato da tabela não estar na terceira forma normal, ou com F, em caso contrário.
( ) nbomb, data-hora → capac ( ) nbomb, data-hora → placa ( ) nbomb, data-hora → ano-fab
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
S1: r2(X), r1(X), r2(Y), r1(X), r2(Y), w2(Y) ... S2: r2(X), r2(Y), r1(X), r1(Y), w1(X) ... S3: r2(Y), r2(Y), r1(X), r1(Y), w1(X), w2(X) ...
Quais históricos apresentam operações conflitantes?
(a) SELECT C.sobrenome, C.renda FROM clientes C WHERE C.codc <> ALL (SELECT V.codc FROM vendas V WHERE V.valor > 1000);
(b) SELECT C.sobrenome, C.renda FROM clientes C WHERE NOT EXISTS (SELECT 1 FROM vendas V WHERE V.valor > 1000 and V.codc = C.codc);
Considere as assertivas abaixo sobre a otimização baseada em desaninhamento de subconsultas no Oracle:
I. O recurso fundamental do desaninhamento de subconsultas é a conversão da subconsulta com processamento relacionado em outra equivalente com processamento não relacionado. II. No caso de uma subconsulta ALL, o desaninhamento explora semi-join. III. No caso de uma subconsulta NOT EXISTS, o desaninhamento explora o anti-join.
Quais estão corretas?
I. 2PL garante possibilidade de serialização (serializability). II. 2PL evita deadlocks. III. 2PL não permite intercalação de lock e unlock.
Quais estão corretas?
Foi solicitado a um estagiário fazer um projeto conceitual utilizando o modelo EntidadeRelacionamento (ER). Recebeu como recomendação que o projeto deveria conter os dados necessários para gerar este recibo, considerar o emprego correto do modelo de dados ER, e evitar redundâncias de dados que possam levar a problemas de integridade na base de dados.
Utilizando a notação gráfica proposta por Heuser (2009), baseada na proposta por Peter Chen com as extensões mais populares, o estagiário desenhou vários diagramas ER (DER). As caixas representam as entidades, os losangos os relacionamentos, as cardinalidades dos relacionamentos são representadas por pares (min-max), e os “pirulitos” representam os atributos. Quando pintado de preto, um “pirulito” representa uma restrição de identificação.
Qual DER melhor atende às recomendações recebidas?
Foi solicitado à projetista que fizesse um modelo lógico relacional correspondente a este DER. A projetista mapeou as entidades A, B, C e D nas tabelas A, B, C e D, respectivamente, cada qual com sua chave primária (atributos a1, b1, c1 e d1, respectivamente) e demais atributos (a2, b2, c2 e d2, respectivamente).
Considere as seguintes assertivas sobre o mapeamento dos relacionamentos:
I. Deve ser criada uma tabela própria para representar o relacionamento AB, na qual deve haver colunas (chaves estrangeiras) referenciando as chaves primárias das tabelas A e B. II. O relacionamento BD pode ser modelado como uma coluna adicional na tabela B (chave estrangeira referenciando a chave primária da tabela D). III. O relacionamento BC pode ser modelado como uma coluna adicional (chave estrangeira) na tabela C ou B, sendo essas escolhas equivalentes. Se incluído na tabela C, esse atributo deve referenciar a chave primária da tabela B, e se incluído na tabela B, deve referenciar a chave primária da tabela C.
Quais estão corretas?