Prévia do material em texto
1 Programação e Desenvolvimento de Banco de Dados Questão 1 Correta Questão com problema? Conforme afirmam Coronel e Rob (2011, p.75) uma chave estrangeira é um atributo ou uma combinação de atributos em uma tabela cujos valores devem coincidir com a chave primária de outra tabela ou devem ser nulos. Com base nas afirmações sobre a chave estrangeira, avalie as seguintes asserções e a relação proposta entre elas: I. A chave primária é obrigatória em todas as tabelas e o seu valor nunca poderá repetir dentro de uma tabela. A chave estrangeira não é obrigatória em uma tabela mas, caso haja uma ou mais chaves estrangeiras dentro de uma tabela, os seus valores podem repetir uma infinidade de vezes. PORQUE II. A chave estrangeira é utilizada para criar os relacionamentos entre as tabelas, ela é a referência, em uma tabela, a uma chave primária de outra tabela. É importante que ao criar uma chave estrangeira em uma tabela, usemos o mesmo nome da sua respectiva chave primária porém, mesmo com nomes distintos o que realmente importa é o valor contido na chave. Analise atentamente as asserções e assinale a alternativa CORRETA. Sua resposta Correta As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. 2 Questão 2 Correta Questão com problema? Segundo Korth, Silberschatz e Sudarshan (2012) um relacionamento para ser concretizado é necessário possuir uma ligação entre a chave estrangeira (do lado N da tabela) com a sua chave primária (do lado 1 da Tabela) conforme pode ser observado na figura abaixo. Analisando o contexto, marque a afirmativa correta que cita a finalidade de estabelecer um relacionamento 1 para N nas tabelas. Sua resposta Correta Estabelecer a integridade referencial. 3 Questão 3 Correta Questão com problema? Uma das instruções mais utilizada do SQL é o comando SELECT. Korth, Silberschatz e Sudarshan (2012) afirmam que a estrutura básica de uma consulta SELECT consiste em três cláusulas: SELECT, FROM, WHERE. Permitindo especificar quais campos desejamos mostrar, de quais tabelas e quais os critérios que serão estabelecidos. O operador LIKE pode ser utilizado para critérios que envolvam o tipo string (texto) e levando em consideração que o sinal de porcentagem (%) corresponde a qualquer substring e Sublinhado (_) corresponde a qualquer caractere; podemos afirmar que: I. LIKE 'Zeca%' qualquer string que inicie com Zeca. II. LIKE '%Luz' qualquer string que termine com Luz. III. LIKE '_A' string de dois caracteres cujo primeiro caractere seja qualquer um e último seja a letra A. IV. LIKE '%A_' qualquer string que tenha a letra A na penúltima posição e a última seja qualquer outro caractere. V. LIKE '%y%' qualquer string que tenha o caractere y em qualquer posição. Analisando cuidadosamente as afirmativas apresentadas, é CORRETO o que se afirma em: Sua resposta Correta As afirmativas I, II, III, IV e V estão corretas. 4 Questão 4 Correta Questão com problema? Segundo CORONEL, ROB (2011) a linguagem SQL possui um conjunto básico de comandos possui um vocabulário de menos de 100 palavras. Outra característica é de que basta inserir o comando sobre o que deve ser feito e aplica-lo no banco de dados. Podemos destacar alguns comandos SQL: CREATE: para criar banco de dados, tabelas, colunas. DROP: para excluir banco de dados, tabelas, colunas. ALTER: para alterar banco de dados, tabelas, colunas. Assinale a alternativa correta que demonstra o nome do subconjunto do SQL em que os comandos: CREATE, DROP e ALTER pertencem. Sua resposta Correta DDL - Linguagem de Definição de Dados 5 Questão 5 Correta Questão com problema? KORTH et al (2012) descreve que, na modelagem física, é utilizada a linguagem SQL (Structured Query Language) ou Linguagem de Consulta Estruturada, que possui como objetivo central a manipulação dos bancos de dados relacionais e é utilizada para interagir com o usuário e o SGBD permitindo: inserir, consultar, gerenciar, controlar transações, entre outras opções. Além de instruções de consultas ao banco de dados, podemos utilizar as instruções SQL para: I. A definição de esquemas de relacionamento, exclusão de relações e modificações de estruturas. II. Criar restrições em relacionamentos garantindo condições específicas de integridade, proibindo qualquer violação. III. Consultas interativas baseada em álgebra relacional, podendo inclusive incluir, atualizar e excluir dados. IV. Determinar a segurança do ambiente com todo o controle de acesso ao banco de dados, tabelas ou campos específicos. Analisando cuidadosamente as afirmativas apresentadas, é correto o que se afirma em: Sua resposta Correta As afirmativas I, II, III e IV estão corretas. 6 Questão 1 Correta Questão com problema? Em SQL, o comando UPDATE é utilizado para atualizar os valores armazenados nos campos de uma tabela. Sua sintaxe é bastante simples. Veja a seguir: UPDATE nome_da_tabela SET nome_do_campo = valor_do_campo WHERE condições; Assinale a alternativa que apresenta o comando correto para incrementar a idade do aluno com o ra 6885211. Sua resposta Correta UPDATE Alunos SET idade = idade + 1 WHERE ra = 6885211. 7 Questão 2 Correta Questão com problema? Podemos excluir os registros das tabelas usando o comando DELETE. Por exemplo, podemos excluir todas os registros da tabela Alunos com nome igual a Maria, usando o seguinte comando: DELETE FROM Alunos WHERE nome = ‘Maria’; Sobre esta sequência de comandos, avalie as seguintes asserções e a relação proposta entre elas: I. A cláusula WHERE é utilizada para evitar o problema de exclusão de todos os registros da tabela. PORQUE II. A cláusula WHERE restringe a exclusão dos registros a um subconjunto deles. A respeito dessas asserções, assinale a opção correta. Sua resposta Correta As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. 8 Questão 3 Correta Questão com problema? O comando INSERT é usado para inserir dados em uma tabela. Sua sintaxe básica é: INSERT INTO nome_da_tabela VALUES (valor1, valor2, ..., valorN); Sobre este comando, analise as seguintes sentenças: I. Os valores de caracteres e datas devem ser inseridos entre apóstrofos (‘’). II. As entradas numéricas não são cercadas por apóstrofos (‘’). III. É necessário um valor para cada coluna da tabela. IV. Pode-se utilizar NULL para valores desconhecidos, exceto em atributos que são chave primária, chave estrangeira ou NOT NULL. Agora, assinale a alternativa que apresenta a resposta CORRETA. Sua resposta Correta Apenas as afirmativas I, II, III e IV estão corretas. 9 Questão 4 Correta Questão com problema? Os comandos da linguagem SQL (Structured Query Language) são subdivididos em algumas categorias. Os comandos DML (Data Manipulation Language), por exemplo,permitem realizar operações de inserção, alteração e exclusão sobre os registros das tabelas. Assinale a alternativa que apresenta comandos que compõem a DML. Sua resposta Correta INSERT, UPDATE e DELETE. 10 Questão 5 Correta Questão com problema? Complete as lacunas a seguir: Com o comando ____________ é possível adicionar um novo registro e atribuir valores aos campos que o compõem. Pode-se especificar apenas um conjunto de campos e não todos. Nesse caso, os campos que não se encontram relacionados não podem ter o modificador ____________ na definição, já que isso nãopermite um valor nulo para o ____________ . Assinale a alternativa que preenche corretamente as lacunas: Sua resposta Correta INSERT / NOT NULL / campo 11 Questão 1 Correta Questão com problema? Korth, Silberschatz e Sudarshan (2012) afirmam que o comando FULLTEXT que tem a capacidade de buscar um trecho dentro de várias strings, assim como a função “localizar” existente nos navegadores de internet, editores de texto, facilitando a busca por determinada palavra ou trecho de um texto. Para adicioná-la em uma tabela, por meio da sintaxe SQL deve ser utilizado: ALTER TABLE [nome_tabela] ADD FULLTEXT (nome_da_coluna); Após ser criado o recurso FULLTEXT, para permitir buscar palavras dentro de longos textos em uma ou mais colunas de uma tabela, deve ser utilizada a sintaxe: Sua resposta Correta SELECT [coluna] FROM nome_da_tabela WHERE MATCH (coluna) AGAINST (‘palavra_desejada'); 12 Questão 2 Correta Questão com problema? O conceito de visão é muito útil e empregado na implementação de banco de dados. E, tem os benefícios de ocultar dados e fornecer independência lógica de dados. Uma visão pode restringir quais as colunas da tabela que podem ser acessadas para leitura ou para modificação, o que é útil no caso de controle de acesso a pessoas não autorizadas. Uma consulta SELECT que é usada com muita frequência pode ser criada como visão. Com isso, a cada vez que ela é necessária, basta selecionar dados da visão. Visões podem conter valores calculados ou valores de resumo, o que simplifica a operação. Uma visão pode ser usada para exportar dados para outras aplicações. Na grande maioria das vezes uma visão é criada de forma temporária no banco de dados. Assinale a alternativa correta que demonstra a sintaxe em SQL para criar uma VIEW : Sua resposta Correta CREATE VIEW [nome_da_VIEW] AS SELECT [coluna] FROM [tabela] WHERE [condições]; 13 Questão 3 Correta Questão com problema? SGBD ou Sistema Gerenciador de Bancos de Dados são aplicações para a criação e gerenciamento de bancos de dados relacionais. Nelas, índices podem ser criados ou removidos sem que a aplicação que utilize os bancos de dados precise ser atualizada. Os SGBDs decidem qual será o plano de execução que irá efetuar uma dada consulta. Esta escolha utiliza os diversos índices disponíveis e tenta otimizar o tempo de execução. Com base no conceito apresentado sobre SGBD, avalie as seguintes asserções e a relação proposta entre elas: I. Num SGBD relacional, uma visão é uma tabela virtual que representa o resultado de alguma consulta ao bando de dados. Sempre que uma tabela de uma visão é consultada ou atualizada, o SGBD converte estas consultas ou atualizações para as tabelas subjacentes. PORQUE II. Numa visão, os resultados da consulta são armazenados como tabelas concretas que podem ser atualizadas a partir das tabelas originais. Além disso, já que uma visão é armazenada como uma tabela real qualquer operação que é permitida em uma tabela normal também pode ser aplicada a uma visão. A respeito dessas asserções, assinale a alternativa correta. Sua resposta Correta As asserções I e II são proposições verdadeiras, mas a II é uma justificativa da I. 14 Questão 4 Correta Korth, Silberschatz e Sudarshan (2012) um dos maiores benefícios de um banco de dados é proporcionar ao usuário uma visão abstrata dos dados. Isto é, o sistema acaba por ocultar determinados detalhes sobre a forma de armazenamento e manutenção desses dados, justificando-se desta forma a utilização do comando VIEW do SQL. A figura a seguir demonstra a interface da visão entre o usuário e o banco de dados, utilizando uma VIEW: Considerando o contexto, avalie as afirmativas a seguir: I. O recurso SQL denominado VIEW possui a capacidade de encapsular um SELECT, onde é criada uma tabela, não física, no cache do Sistema de Gerenciamento de Banco de Dados. II. Um dos usos mais recomendados para a VIEW é a exclusão de registros, acelerando o trabalho do administrador do banco de dados. III. As visões normalmente encapsulam uma seleção de dados de uma ou mais tabelas, permitindo junções, funções agregadas e demais recursos. IV. A execução de uma VIEW é mais rápida em comparação a um SELECT não encapsulado, pois as seleções já estão pré-armazenadas. Analisando cuidadosamente as afirmativas apresentadas, é correto o que se afirma em: Sua resposta Correta Apenas as afirmativas I, III e IV estão corretas. 15 Questão 5 Correta Questão com problema? Date (2012) afirma que os SGBD’s atuais utilizam-se de índices para acelerar o tempo de respostas às consultas. O tipo mais simples de índice é uma lista ligada ordenada dos conteúdos de uma coluna específica de uma tabela, com ponteiros para a linha da tabela original associada ao valor do índice. Um índice permite que diversas linhas de uma tabela que satisfaçam alguma condição sejam localizadas rapidamente. Tipicamente, índices são armazenados em estruturas de dados comuns (como árvores B, hashes ou listas ligadas). Os índices, quando utilizados dentro de um SELECT, podem conter recursos como: junções, funções agregadas, sub-consultas, e quaisquer outras técnicas do SQL que se necessitar. Pois a intenção ao se desenvolver um índice, é ganhar eficiência nas consultas, dessa forma, podemos utilizar diversos recursos para a consulta. Para excluir um índice, a sintaxe utilizada pode ser observada a seguir: Sua resposta Correta DROP INDEX (nomeIndice); 16 Questão 1 Correta Questão com problema? Segundo Milani (2007), com a utilização do comando JOIN (Junção) é possível por meio do SELECT unir duas ou mais tabelas, ao se apontar os campos correspondentes entre elas. Para garantir a eficiência em sua utilização é a necessidade de que as tabelas existentes no banco de dados estejam normalizadas, para que não haja muita redundância nos resultados das consultas. Assinale a alternativa que apresenta corretamente os comandos JOIN. Sua resposta Correta INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL JOIN. 17 Questão 2 Correta Questão com problema? Conforme Korth, Silberschatz e Sudarshan (2012) as condições para se efetuar uma junção, depende diretamente do tipo de junção e uma condição de junção, dessa forma com o SQL será possível retornar relações como resultados. Com base no conceito apresentado sobre junção, avalie as seguintes asserções e a relação proposta entre elas: I. O tipo de junção define ou trata os registros (ou tuplas) em cada uma das relações que não correspondam a alguma das tuplas da outra relação. Sendo dividido em relação interna, com o comando INNER JOIN, e relações externas: LEFT JOIN, RIGHT JOIN e FULL JOIN. PORQUE II. A condição de junção define se as tuplas nas duas relações são correspondentes, garantindo que os atributos utilizados em ambas as tabelas estejam presentes tanto na sintaxe SQL, quanto nos seus resultados. A respeito dessas asserções, assinale a alternativa correta. Sua resposta Correta As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. 18 Questão 3 Correta Questão com problema? Segundo Elmasri e Navathe (2005) o comando Left Join tem como resultado todos os registros que estão na Tabela A (mesmo que não estejam na tabela B) e os registros da tabela B que são comuns à tabela A. A figura a seguir demonstra o comando do Left Join: Assinale a alternativa correta que demonstra o comando em SQL para utilizar o comando LEFT JOIN, ondea sintaxe deve ser: Sua resposta Correta SELECT [campos] FROM [tabela_1] LEFT JOIN [tabela_2] ON [tabela_1].[chave_primária] = [tabela_2].[chave_estrangeira] WHERE [condição]; 19 Questão 4 Correta Korth, Silberschatz e Sudarshan (2012) afirmam que em toda tabela existe uma chave primária ou primary key (pk) e caso for necessário poderá haver também uma ou mais chaves estrangeiras e que também é conhecida por foreign key (fk). A figura a seguir demonstra a aplicação das chaves primárias e estrangeiras em tabelas: Considerando o contexto, avalie as afirmativas a seguir: I. A chave estrangeira, é o campo que estabelece o relacionamento entre duas tabelas. II. Uma chave estrangeira é um campo que é a chave primária em outra tabela. III. Uma chave estrangeira nunca pode se tornar uma chave primária em outra tabela. IV. Uma tabela permite somente o máximo de três chaves estrangeiras, acima deste número o SGBD emite um erro no banco de dados. V. Uma chave estrangeira deve obrigatoriamente ter nomes iguais na tabela em que é chave primária e quando for chave estrangeira, o seu tipo de dado é que deve ser sempre diferente. Analisando cuidadosamente as afirmativas apresentadas, é correto o que se afirma em: Sua resposta Correta Apenas as afirmativas I, II estão corretas. 20 Questão 5 Correta O comando INNER JOIN que significa “junção interna”, é um tipo de junção na qual somente serão selecionados os resultados, cujas colunas informadas forem iguais nas duas tabelas. Por meio desta cláusula, os registros de duas tabelas são usados para que sejam gerados os dados relacionados de ambas. A figura a seguir mostra o que será mostrado entre a tabela_A e a tabela_B. Um exemplo do uso do INNER JOIN: SELECT tabela_A. FROM tabela_A INNER JOIN Tabela_B ON tabela_A.Id = tabela_B.Id_tabela_A; O comando INNER JOIN promove a junção das tabelas “tabela_A” e “tabela_B”, dessa forma é possível fazer o produto cartesiano entre ambas, já a palavra “ON” tem a função: Sua resposta Correta de fazer o apontamento da chave primária da tabela “tabela_A” para a chave estrangeira da tabela “tabela_B”. 21 Questão 1 Correta Questão com problema? Conforme afirmam Coronel e Rob (2011, p.75) uma chave estrangeira é um atributo ou uma combinação de atributos em uma tabela cujos valores devem coincidir com a chave primária de outra tabela ou devem ser nulos. Com base nas afirmações sobre a chave estrangeira, avalie as seguintes asserções e a relação proposta entre elas: I. A chave primária é obrigatória em todas as tabelas e o seu valor nunca poderá repetir dentro de uma tabela. A chave estrangeira não é obrigatória em uma tabela mas, caso haja uma ou mais chaves estrangeiras dentro de uma tabela, os seus valores podem repetir uma infinidade de vezes. PORQUE II. A chave estrangeira é utilizada para criar os relacionamentos entre as tabelas, ela é a referência, em uma tabela, a uma chave primária de outra tabela. É importante que ao criar uma chave estrangeira em uma tabela, usemos o mesmo nome da sua respectiva chave primária porém, mesmo com nomes distintos o que realmente importa é o valor contido na chave. Analise atentamente as asserções e assinale a alternativa CORRETA. Sua resposta Correta As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. 22 Questão 2 Correta Questão com problema? KORTH et al (2012) descreve que, na modelagem física, é utilizada a linguagem SQL (Structured Query Language) ou Linguagem de Consulta Estruturada, que possui como objetivo central a manipulação dos bancos de dados relacionais e é utilizada para interagir com o usuário e o SGBD permitindo: inserir, consultar, gerenciar, controlar transações, entre outras opções. Além de instruções de consultas ao banco de dados, podemos utilizar as instruções SQL para: I. A definição de esquemas de relacionamento, exclusão de relações e modificações de estruturas. II. Criar restrições em relacionamentos garantindo condições específicas de integridade, proibindo qualquer violação. III. Consultas interativas baseada em álgebra relacional, podendo inclusive incluir, atualizar e excluir dados. IV. Determinar a segurança do ambiente com todo o controle de acesso ao banco de dados, tabelas ou campos específicos. Analisando cuidadosamente as afirmativas apresentadas, é correto o que se afirma em: Sua resposta Correta As afirmativas I, II, III e IV estão corretas. 23 Questão 3 Correta Questão com problema? Segundo CORONEL, ROB (2011) a linguagem SQL possui um conjunto básico de comandos possui um vocabulário de menos de 100 palavras. Outra característica é de que basta inserir o comando sobre o que deve ser feito e aplica-lo no banco de dados. Podemos destacar alguns comandos SQL: CREATE: para criar banco de dados, tabelas, colunas. DROP: para excluir banco de dados, tabelas, colunas. ALTER: para alterar banco de dados, tabelas, colunas. Assinale a alternativa correta que demonstra o nome do subconjunto do SQL em que os comandos: CREATE, DROP e ALTER pertencem. Sua resposta Correta DDL - Linguagem de Definição de Dados 24 Questão 4 Correta Questão com problema? Segundo Korth, Silberschatz e Sudarshan (2012) um relacionamento para ser concretizado é necessário possuir uma ligação entre a chave estrangeira (do lado N da tabela) com a sua chave primária (do lado 1 da Tabela) conforme pode ser observado na figura abaixo. Analisando o contexto, marque a afirmativa correta que cita a finalidade de estabelecer um relacionamento 1 para N nas tabelas. Sua resposta Correta Estabelecer a integridade referencial. 25 Questão 5 Correta Questão com problema? Uma das instruções mais utilizada do SQL é o comando SELECT. Korth, Silberschatz e Sudarshan (2012) afirmam que a estrutura básica de uma consulta SELECT consiste em três cláusulas: SELECT, FROM, WHERE. Permitindo especificar quais campos desejamos mostrar, de quais tabelas e quais os critérios que serão estabelecidos. O operador LIKE pode ser utilizado para critérios que envolvam o tipo string (texto) e levando em consideração que o sinal de porcentagem (%) corresponde a qualquer substring e Sublinhado (_) corresponde a qualquer caractere; podemos afirmar que: I. LIKE 'Zeca%' qualquer string que inicie com Zeca. II. LIKE '%Luz' qualquer string que termine com Luz. III. LIKE '_A' string de dois caracteres cujo primeiro caractere seja qualquer um e último seja a letra A. IV. LIKE '%A_' qualquer string que tenha a letra A na penúltima posição e a última seja qualquer outro caractere. V. LIKE '%y%' qualquer string que tenha o caractere y em qualquer posição. Analisando cuidadosamente as afirmativas apresentadas, é CORRETO o que se afirma em: Sua resposta Correta As afirmativas I, II, III, IV e V estão corretas. 26 Questão 1 Respondida Segundo Milani (2007), com a utilização do comando JOIN (Junção) é possível por meio do SELECT unir duas ou mais tabelas, ao se apontar os campos correspondentes entre elas. Para garantir a eficiência em sua utilização é a necessidade de que as tabelas existentes no banco de dados estejam normalizadas, para que não haja muita redundância nos resultados das consultas. Assinale a alternativa que apresenta corretamente os comandos JOIN. • INNER JOIN, LEFT JOIN e RIGHT JOIN. • FULL JOIN, LEFT JOIN e RIGHT JOIN. • ALL JOIN, LEFT JOIN, RIGHT JOIN e LAST JOIN. • INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL JOIN. • INNER JOIN, ALL JOIN e LAST JOIN. Sua resposta INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL JOIN.27 Questão 2 Respondida Date (2012) define que os resultados das seleções podem ser organizados em grupos, sendo baseado no conteúdo existente em uma ou mais colunas. Para isso deve ser utilizada a palavra GROUP BY. A função de agregação AVG permite que o qualificador GROUP BY seja utilizado em conjunto. A figura a seguir demonstra a tabela Produto e seus campos: Tendo como base o contexto e a tabela apresentados, marque a alternativa correta, onde deseja-se selecionar o tipo do produto, o valor médio dos preços dos produtos conforme os tipos, agrupando as informações. • AVG (Preco) as “Valor Médio” FROM Produtos GROUP BY Tipo; • SELECT Tipo, AVG (Preco) as “Valor Médio” GROUP BY Tipo; • SELECT Tipo, AVG (Preco) as “Valor Médio” FROM Produtos GROUP BY Tipo; • SELECT as “Valor Médio” AVG(Tipo) FROM Produtos GROUP BY Tipo; • SELECT AVG(Produtos) as “Valor Médio” 28 FROM Tipo GROUP BY Preco; Sua resposta SELECT Tipo, AVG (Preco) as “Valor Médio” FROM Produtos GROUP BY Tipo; 29 Questão 3 Respondida Segundo Korth, Silberschatz e Sudarshan (2012) a função AVG e que é a abreviação do termo inglês average, que quer dizer média, retorna a média dos valores em uma determinada coluna. Para isso o SQL faz a somatória dos valores (obrigatoriamente numéricos), e divide o resultado pelo número de registros diferentes de nulo (NULL). A sintaxe SQL utilizada para utilizarmos a função AVG é descrita como: • AVG () SELECT FROM ; • SELECT (AVG) FROM ; • SELECT SUM () FROM ; • AVG () FROM ; • SELECT AVG () FROM ; Sua resposta SELECT AVG () FROM ; 30 Questão 4 Respondida Os comandos de SQL (Structured Query Language ou Linguagem de Consulta Estruturada) é a linguagem de consulta padrão utilizada em bancos de dados relacionais. Combinando esta poderosa linguagem e a correta utilização de SGBDs (Sistema de Gerenciamento de Banco de Dados) relacionais, os comandos SQL podem interagir com o banco de dados, executando diversas tarefas como inserção, edição e exclusão de registros, criação, edição e exclusão de tabelas. Observe a tabela Animal e seus campos: Considerando o contexto sobre o SQL, avalie as afirmativas a seguir: I. Para saber a quantidade de animais cadastrados na tabela Animal, o comando deverá ser o seguinte: SELECT SUM () FROM Animal; II. Para selecionar todos os animais com o preço superior a R$ 500,00 o comando deverá ser o seguinte: SELECT FROM Animal WHERE Preco > 500; III. Para selecionar todos os animais da raça “Buldogue”, o comando deverá ser o seguinte: SELECT FROM Animal WHERE Raca= “Buldogue”; IV. Para verificar a média dos preços dos animais da raça “Beagle” deve ser realizada a seguinte consulta: SELECT AVG (Preco) FROM Animal WHERE Raca= “Beagle”; 31 Analisando cuidadosamente as afirmativas apresentadas, é correto o que se afirma em: • Apenas as afirmativas II, III e IV estão corretas. • Apenas as afirmativas I, II e IV estão corretas. • Apenas as afirmativas I, II e III estão corretas. • Apenas as afirmativas I, III e IV estão corretas. • As afirmativas I, II, III e IV estão corretas. Sua resposta Apenas as afirmativas II, III e IV estão corretas. 32 Questão 5 Respondida Conforme Korth, Silberschatz e Sudarshan (2012) as condições para se efetuar uma junção, depende diretamente do tipo de junção e uma condição de junção, dessa forma com o SQL será possível retornar relações como resultados. Com base no conceito apresentado sobre junção, avalie as seguintes asserções e a relação proposta entre elas: I. O tipo de junção define ou trata os registros (ou tuplas) em cada uma das relações que não correspondam a alguma das tuplas da outra relação. Sendo dividido em relação interna, com o comando INNER JOIN, e relações externas: LEFT JOIN, RIGHT JOIN e FULL JOIN. PORQUE II. A condição de junção define se as tuplas nas duas relações são correspondentes, garantindo que os atributos utilizados em ambas as tabelas estejam presentes tanto na sintaxe SQL, quanto nos seus resultados. A respeito dessas asserções, assinale a alternativa correta. • As asserções I e II são proposições verdadeiras, e a I é uma justificativa da II. • As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. • A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. • A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. • As asserções I e II são proposições falsas. Sua resposta As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. 33 Questão 6 Sem resposta Conforme Korth, Silberschatz e Sudarshan (2012) quando o operador de junção externo é utilizado no SQL (LEFT JOIN, RIGHT JOIN e FULL JOIN), é gerado o resultado da junção mais as linhas não combinadas. Sendo possível efetuar junções externas em ambos os lados, ou seja, da esquerda para a direita, e da direita para a esquerda. Marque a alternativa correta, conforme o conceito apresentado sobre a junção externa independente do lado escolhido e que pode gerar: • Uma nova tabela que é a junção das linhas combinadas. • Uma nova tabela que é a junção das linhas não combinadas. • Uma nova tabela que é a junção das linhas combinadas e não combinadas. • Uma nova tabela que é a diferença entre as linhas combinadas. • Uma nova tabela que é a soma entre as linhas não combinadas. Sua resposta Uma nova tabela que é a junção das linhas combinadas e não combinadas. 34 Questão 7 Sem resposta O comando INNER JOIN que significa “junção interna”, é um tipo de junção na qual somente serão selecionados os resultados, cujas colunas informadas forem iguais nas duas tabelas. Por meio desta cláusula, os registros de duas tabelas são usados para que sejam gerados os dados relacionados de ambas. A figura a seguir mostra o que será mostrado entre a tabela_A e a tabela_B. Um exemplo do uso do INNER JOIN: SELECT tabela_A. FROM tabela_A INNER JOIN Tabela_B ON tabela_A.Id = tabela_B.Id_tabela_A; O comando INNER JOIN promove a junção das tabelas “tabela_A” e “tabela_B”, dessa forma é possível fazer o produto cartesiano entre ambas, já a palavra “ON” tem a função: • de criar as chaves estrangeiras nas duas tabelas para estabelecer o relacionamento entre ambas. • de anular o comando INNER JOIN caso não haja resultados positivos entre as duas tabelas relacionadas: tabela_A e tabela_B. 35 • de permitir a possibilidade de repetição de registros entre as tabelas: tabela_A e tabela_B. • de garantir que somente as tuplas da tabela_A sejam mostradas para que depois seja mostradas as tuplas da tabela_B. • de fazer o apontamento da chave primária da tabela “tabela_A” para a chave estrangeira da tabela “tabela_B”. Sua resposta de fazer o apontamento da chave primária da tabela “tabela_A” para a chave estrangeira da tabela “tabela_B”. 36 Questão 8 Sem resposta Korth, Silberschatz e Sudarshan (2012) afirmam que em toda tabela existe uma chave primária ou primary key (pk) e caso for necessário poderá haver também uma ou mais chaves estrangeiras e que também é conhecida por foreign key (fk). A figura a seguir demonstra a aplicação das chaves primárias e estrangeiras em tabelas: Considerando o contexto, avalie as afirmativas a seguir: I. A chave estrangeira, é o campo que estabelece o relacionamento entre duas tabelas. II. Uma chave estrangeira é um campo que é a chave primária em outra tabela. III. Uma chave estrangeiranunca pode se tornar uma chave primária em outra tabela. IV. Uma tabela permite somente o máximo de três chaves estrangeiras, acima deste número o SGBD emite um erro no banco de dados. V. Uma chave estrangeira deve obrigatoriamente ter nomes iguais na tabela em que é chave primária e quando for chave estrangeira, o seu tipo de dado é que deve ser sempre diferente. Analisando cuidadosamente as afirmativas apresentadas, é correto o que se afirma em: • Apenas as afirmativas II, III estão corretas. • Apenas as afirmativas I, II estão corretas. • Apenas as afirmativas I, II e III estão corretas. • Apenas as afirmativas I, III e IV estão corretas. 37 • As afirmativas I, II, III e IV estão corretas. Sua resposta Apenas as afirmativas I, II estão corretas. 38 Questão 9 Sem resposta Segundo Elmasri e Navathe (2005) o comando Left Join tem como resultado todos os registros que estão na Tabela A (mesmo que não estejam na tabela B) e os registros da tabela B que são comuns à tabela A. A figura a seguir demonstra o comando do Left Join: Assinale a alternativa correta que demonstra o comando em SQL para utilizar o comando LEFT JOIN, onde a sintaxe deve ser: • SELECT [campos] FROM [tabela_1] LEFT JOIN [tabela_2] ON [tabela_1].[chave_primária] = [tabela_2].[chave_estrangeira] WHERE [condição]; • SELECT [campos] FROM [tabela_1] LEFT JOIN [tabela_2] ON [tabela_1].[chave_primária] = [tabela_2].[chave_primária] WHERE [condição]; • SELECT [campos] FROM [tabela_1] LEFT JOIN [tabela_2] ON [tabela_1].[chave_estrangeira] = [tabela_2].[chave_estrangeira] WHERE [condição]; 39 • SELECT [campos] LEFT JOIN [tabela_2] ON [tabela_1].[chave_primária] = [tabela_2].[chave_estrangeira] WHERE [condição]; • SELECT [campos] FROM [tabela_1] LEFT JOIN [tabela_2] WHERE [tabela_1].[chave_primária] = [tabela_2].[chave_estrangeira] ON [condição]; Sua resposta SELECT [campos] FROM [tabela_1] LEFT JOIN [tabela_2] ON [tabela_1].[chave_primária] = [tabela_2].[chave_estrangeira] WHERE [condição]; 40 Questão 10 Sem resposta Segundo Elmasri e Navathe (2005) os principais comandos da Linguagem SQL são: CREATE, ALTER, DROP, INSERT INTO, UPDATE, DELETE E SELECT. Os três primeiros fazem parte da chamada DDL (usado para definir as estruturas dos objetos de dados) e os demais fazem parte do DML (usado para manipular os dados nos objetos do banco). Observe os campos e os registros da tabela Empregado: #id_Emp Nome Valor_hora Cargo 156 Elias G. R$ 20,00 Auxiliar 741 Júnior H. R$ 35,00 Professor I 987 Lídia A. R$ 42,00 Professor II Assinale a alternativa correta em que o comando SQL demostra a quantidade de empregados na tabela Empregado: • SELECT SUM () FROM Empregado; • SELECT CONT (id_Emp) FROM Empregado; • SELECT AVG (Valor_hora) FROM Empregado; • SELECT AVG () FROM Empregado; • SELECT COUNT () FROM Empregado; Sua resposta SELECT COUNT () FROM Empregado;