Prévia do material em texto
A álgebra relacional nos permite simular situações de manipulação com base de dados, antes mesmo de estarmos manipulando o banco de dados propriamente dito. Diversas são as instruções disponíveis na álgebra relacional, como, por exemplo, instrução de seleção, projeção, união, produto cartesiano e inserção. Nesse viés, analise a instrução de álgebra relacional a seguir e marque a alternativa correspondente: σ nome = “Renata” (Pessoas) Alternativas A) Interseção. B) Marcada pelo aluno Seleção. C) Produto cartesiano. D) Projeção. E) União. Feedback: Resposta correta: Seleção. É utilizada para listar tuplas de uma tabela que satisfaçam certa condição. Distratores: Projeção. Errada. É utilizada para projetar uma nova tabela. Produto cartesiano. Errada. É utilizada para gerar uma nova tabela a partir de duas outras já existentes. União. Errada. É utilizado para gerar uma tabela resultante com dados comuns de duas tabelas. Interseção. Errada. É utilizado para gerar uma tabela resultante com dados distintos de duas tabelas. 2. Observe o modelo a seguir: Examinando o modelo relacional de banco de dados apresentado é correto afirmar que: Alternativas A) A tabela Telefone é uma generalização da tabela Cliente e, por esse motivo, apresenta em sua composição de atributos Telefone_PK como chave primária e CodCli_FK como chave estrangeira. B) A tabela Telefone é considerada uma entidade forte, pois seus atributos estarão presentes em todas as tuplas da tabela Cliente, considerada, por consequência, uma entidade fraca, de acordo com o contexto. C) Esportivo e Sedam são categorias da tabela Carro, que estão representadas graficamente erradas, pois deveriam ter suas próprias chaves primárias, ligadas à chave primária de carro, por se tratar de um relacionamento de especialização. D) Marcada pelo aluno Aluga é um relacionamento de cardinalidade muitos-para-muitos que se transforma na tabela Aluga, que conecta as tabelas Cliente e Carro, por meio de suas chaves estrangeiras CodCli e CodCar. E) Aluga é um relacionamento de cardinalidade muitos-para-muitos que se transforma na tabela Aluga, que conecta indiretamente as tabelas Cliente e Carro, por meio de suas chaves primárias CodAlu, CodCli e CodCar. Feedback: Resposta correta: Aluga é um relacionamento de cardinalidade muitos-para-muitos que se transforma na tabela Aluga, que conecta as tabelas Cliente e Carro, por meio de suas chaves estrangeiras CodCli e CodCar. Todo o relacionamento muito-para-muitos realmente se transforma numa tabela que precisa ter em sua composição de atributos as chaves correspondentes das tabelas que se relacionam. Distratores: Aluga é um relacionamento de cardinalidade muitos-para-muitos que se transforma na tabela Aluga, que conecta indiretamente as tabelas Cliente e Carro, por meio de suas chaves primárias CodAlu, CodCli e CodCar. Incorreta. A conexão ocorre por meio das chaves estrangeiras CodCli e CodCar, visto que elas não são chaves primárias. Telefone é considerado uma entidade forte, pois seus atributos estarão presentes em todas as tuplas da tabela Cliente, considerada, por consequência, uma entidade fraca. Incorreta. Nesse caso, a entidade fraca é Telefone e a entidade forte é Cliente, ou seja, o conceito está invertido. Portanto não contempla o que especificamente se pede. A tabela Telefone é uma generalização da tabela Cliente e, por esse motivo, apresenta em sua composição de atributos Telefone_PK como chave primária e CodCli_FK como chave estrangeira. Incorreta. Telefone não se refere a uma generalização da tabela Cliente. Esportivo e Sedam são categorias da tabela Carro, que estão representadas graficamente erradas, pois deveriam ter suas próprias chaves primárias, ligadas à chave primária de carro, por se tratar de um relacionamento de especialização. Incorreta. O relacionamento de especialização está representado graficamente correto. 3. O MySQL "é um SGBD (sistema gerenciador de banco de dados) relacional, que utiliza a linguagem SQL (structured query language, ou traduzindo, linguagem de consulta estruturada). MySQL também é multiusuário e multitarefas". (Disponível em: https://www.devmedia.com.br/introducao-ao-mysql/27799. Acesso em: 18 fev. 2020). Nesse contexto, marque a alternativa que corresponde às instruções de remoção e alteração de tuplas, respectivamente. Alternativas A) INSERT INTO e DELETE. B) DELETE e USE. C) UPDATE e DELETE. D) SELECT e INSERT INTO. E) Marcada pelo aluno DELETE e UPDATE. Feedback: Resposta correta: DELETE e UPDATE. DELETE refere-se ao comando de exclusão de um registro do banco de dados e UPDATE se refere ao comando de alteração de dados de uma tupla. Distratores: INSERT INTO e DELETE. Errada. INSERT INTO se refere ao comando de inclusão de registros, embora DELETE esteja correto, por servir para apagar tuplas. UPDATE e DELETE. Errada. Embora UPDATE sirva para alteração de dados e DELETE sirva para apagar registros, não estão respectivamente na ordem correta, segundo enunciado da questão. SELECT e INSERT INTO. Errada. Embora UPDATE sirva para alteração de dados, está errado o SELECT, pois se refere ao comando de consulta de dados. DELETE e USE. Errada. Embora o DELETE sirva para apagar uma tupla, está errado USE, que se refere ao comando para colocar um banco de dados já criado em uso. 4. A álgebra relacional permite manipular um conjunto de operações que utiliza uma ou duas relações como input, gerando, portanto, outra terceira relação como output. Sabendo disso, considere a seguinte tabela: Ao realizar a operação de álgebra relacional id > 123 ^ id < 789 (Pessoas), tem-se como resultado a solução apresentada na alternativa: Alternativas A) Marcada pelo aluno B) C) D) Gabarito da questão E) Feedback: Resposta correta: De acordo com a tabela apresentada, esse é o único registro que satisfaz a condição de o id da pessoa estar compreendido entre 123 e 789. Distratores: Incorreta. De acordo com a tabela apresentada, esse resultado não satisfaz a condição de o id da pessoa estar compreendido entre 123 e 789. Incorreta. De acordo com a tabela apresentada, esse resultado não satisfaz a condição de o id da pessoa estar compreendido entre 123 e 789. Incorreta. De acordo com a tabela apresentada, esse resultado não satisfaz a condição de o id da pessoa estar compreendido entre 123 e 789. Incorreta. De acordo com a tabela apresentada, esse resultado não satisfaz a condição de o id da pessoa estar compreendido entre 123 e 789. 5. Um SGBD, sistema gerenciador de banco de dados, nada mais é que um conjunto de software responsáveis pelo gerenciamento de um banco de dados, independentemente do tipo de banco de dados utilizado. Sobre o sistema gerenciador de banco de dados MySQL, examine as afirmativas apresentadas: I. Permite instanciar bancos de dados por meio de instruções como CREATE DATABASE, CREATE TABLE e TRUNCATE. II. Esquemas de banco de dados podem ser implementados por meio de instruções como INSERT INTO, UPDATE e DELETE. III. A instrução SELECT, além de ser usada pela SQL DQL, também aparece como instrução da SQL DML para consultas estruturadas. É correto o que se afirma em: Alternativas A) Somente a I está correta. B) II e III estão corretas. C) Marcada pelo aluno Somente a III está correta. D) Somente a II está correta. E) I e II estão corretas. Feedback: Resposta correta: Somente a III está correta. A instrução SELECT além de ser usada pela SQL DQL também aparece como instrução da SQL DML para consultas estruturadas. Correta. SELECT é a instrução utilizada para consulta de dados, pertencente tanto a SQL DQL quanto a SQL DML. Distratores: Permite instanciar bancosde dados por meio de instruções como CREATE DATABASE, CREATE TABLE e TRUNCATE. Incorreta. Não se trata de instância de banco de dados, mas sim de esquema de banco de dados. Esquemas de banco de dados podem ser implementados por meio de instruções como INSERT INTO, UPDATE e DELETE. Incorreta. Não se trata de esquema de banco de dados, mas sim de instância de banco de dados. 6. Uma empresa irá dobrar o salário fixo para todos os funcionários do setor de vendas devido ao grande aumento contínuo das vendas que eles estão realizando. Para isso, será necessário efetuar uma atualização direto no banco de dados em SQL da empresa. Sabendo que o código do setor referente aos vendedores é 1, assinale a alternativa que está executando corretamente esse comando em SQL. Alternativas A) SEARCH SETOR SET VAL_SALARIO = 2000 WHERE CODSETOR = 1 B) Marcada pelo aluno UPDATE SETOR SET VAL_SALARIO = 2000 WHERE CODSETOR = 1 C) SELECT SETOR SET VAL_SALARIO = 2000 WHERE CODSETOR = 1 D) RETURN SETOR SET VAL_SALARIO = 2000 WHERE CODSETOR = 1 E) INSERT SETOR SET VAL_SALARIO = 2000 WHERE CODSETOR = 1 7. A empresa “X” necessita fazer o recadastramento de seus funcionários. Por determinação da direção, deverá ser guardado no banco de dados o nome do time de futebol de cada funcionário para que possam ocorrer sorteios de ingressos para os jogos do Campeonato Brasileiro de Futebol. Dessa forma, Cerqueira, analista de sistemas, verificou a necessidade de acréscimo de um campo denominado “Time” na tabela “FUNCIONARIO”. Para acrescentar esse campo, Cerqueira deverá executar o seguinte comando: Alternativas A) ALTER TABLE FUNCIONARIO DROP COLUMN Time VARCHAR (50); B) ALTER TABLE Time INSERT COLUMN FUNCIONARIO VARCHAR (50); C) ALTER TABLE FUNCIONARIO UPDATE COLUMN Time VARCHAR (50); D) Marcada pelo aluno ALTER TABLE FUNCIONARIO ADD COLUMN Time VARCHAR (50); E) ALTER TABLE Time ADD COLUMN FUNCIONARIO VARCHAR (50); 8. A álgebra relacional apresenta operações com relações (tabelas) de certa base de dados, visando auxiliar o trabalho do administrador de banco de dados, nas possíveis instâncias que poderão ocorrer nesse banco. Tais instâncias poderão conter instruções específicas da própria álgebra relacional, tais como seleção, junção, projeção, produto cartesiano etc. Nesse contexto, considerando as especifidades da álgebra relacional, analise as afirmativas apresentadas e a relação proposta entre elas. I. A projeção, representada pela letra grega pi, permite gerar novas relações, considerando um conjunto de entradas definidas, excluindo alguns atributos específicos, conforme atribuição da instrução. PORQUE II. A seleção, representada pela letra grega sigma, realiza a seleção de tuplas que satisfazem certa condição. Alternativas A) As duas afirmativas são verdadeiras e a segunda é uma justificativa correta da primeira. B) A primeira é uma afirmativa verdadeira e a segunda, falsa. C) Marcada pelo aluno As duas afirmativas são verdadeiras e a segunda não justifica a primeira. D) A primeira é uma afirmativa falsa e a segunda, verdadeira. E) As duas afirmativas são falsas. Feedback: Resposta correta: As duas afirmativas são verdadeiras e a segunda não justifica a primeira. As duas afirmativas são verdadeiras e a segunda não justifica a primeira, pois, embora a instrução de projeção contenha a instrução de seleção, não existe associação entre as afirmativas apresentadas. 9. A SQL, linguagem de consulta estruturada, é composta por um conjunto de instruções que visam a criação de esquemas e instâncias de banco de dados. Neste contexto, associe as duas colunas, relacionando as instruções da SQL à sua definição: 1. USE 2. TRUNCATE 3. UPDATE 4. DROP ( ) Comando SQL utilizado para apagar determinado banco de dados. ( ) Comando SQL usado para apagar todas as tuplas de certa tabela. ( ) Comando SQL usado para selecionar o banco de dados que ficará ativo. ( ) Comando SQL utilizado para modificar atributos de registros de certa tabela. Alternativas A) (2), (4), (1), (3). B) Marcada pelo aluno (4), (2), (1), (3). C) (4), (2), (3), (1). D) (2), (4), (3), (1). E) (3), (4), (2), (1). Feedback: Resposta correta: (4), (2), (1), (3) ( 4 ) DROP, pois serve para apagar um banco de dados. ( 2 ) TRUNCATE, pois serve para apagar todos os registros da tabela. ( 1 ) USE, pois tem a finalidade de colocar um banco de dados em uso na memória do computador. ( 3 ) UPDATE , pois serve para alterar registros da tabela. Considere a tabela a seguir: 10. Utilizando a álgebra relacional, demonstre, de duas formas diferentes, como pode ser obtido o seguinte resultado: Resposta do aluno 1 2 3 4 5 Primeira forma: Seleção SELECT all columns WHERE NOME : ''JUAN'' OR NOME = ''RENATA'' Segunda forma: Projeção combinada com Seleção SELECT NOME, ID WHERE NOME = ''JUAN'' OR NOME = ''RENATA'' Correção do professor Errado. Não usou álgebra relacional. Feedback: Expectativa de resposta: O aluno deverá demonstrar duas das seguintes possibilidades de sintaxe: σ id > 123 (Pessoas) OU σ id >= 456 ^ id <= 789 (Pessoas) OU σ id <> 123 (Pessoas) OU σ nome = ‘Juan’ ^ nome = ‘Renata’ (Pessoas) OU σ nome <> ‘Giullia’ (Pessoas)