Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Questão Sobre múltiplas visões de dados, assinale a alternativa correta. É obtida com a redundância de dados. É um problema dos sistemas tradicionais. É importante que usuários possam ter visões diferentes da base de dados. Deve ser evitada para que haja integridade de dados. Representa a forma como os dados são armazenados em cada SGBD. Respondido em 11/12/2020 19:16:54 Explicação: Como um conjunto de informações pode ser utilizada por um conjunto diferenciado de usuários, é importante que estes usuários possam ter visões diferentes da base de dados. Uma visão é definida como um subconjunto de uma base de dados, formando, deste modo, um conjunto virtual de informações. 2 Questão O esquema que apresenta uma descrição global do banco de dados e que não fornece detalhes do modo como os dados estão fisicamente armazenados é o esquema: compartilhado privado interno externo conceitual Respondido em 11/12/2020 19:18:09 Explicação: As funções de cada um dos 3 esquemas são: Esquema Interno Descreve a estrutura de armazenamento físico do banco de dados; Utiliza um modelo de dados; Lista detalhadamente os dados armazenados e os caminhos de acesso ao banco de dados. Esquema Conceitual Descreve a estrutura do banco de dados como um todo; Apresenta uma descrição global do banco de dados, que não fornece detalhes do modo como os dados estão fisicamente armazenados. Esquema Externo Descreve as visões do banco de dados para um grupo de usuários; Define, em cada visão, quais porções do banco de dados um grupo de usuários terá acesso. 3 Questão Quando as mudanças feitas no arquivo de uma aplicação não são automaticamente realizadas nos arquivos das outras aplicações temos um problema de: Redundância de dados Segurança Dificuldade de acesso Independência de dados Dependência entre programas e dados Respondido em 11/12/2020 19:15:35 Explicação: A redundância de dados é a duplicação dos mesmos dados em dois ou mais arquivos. O problema da redundância é que as mudanças, ao serem feitas no arquivo de uma aplicação, não são automaticamente realizadas nos arquivos das outras aplicações, gerando a falta de integridade dos dados. 4 Questão Na Arquitetura Ansi Sparc quando nos referimos a forma como os diferentes usuários enxergam o banco de dados estamos no: , Aplicativo Nivel Conceitual Sistemas Gerenciador de Banco de Dados Nivel Interno Nivel Externo Respondido em 11/12/2020 19:15:46 Explicação: O Nivel externo é aonde são definidas as diversas visões do banco de dados, ou seja, a forma como os usuários enxergam o banco de dados. 5 Questão A autoinformação do banco de dados está caracterizada pela existencia : Dos aplicativos Do SGBD Do sistema de banco de dados Do catálogo Dos arquivos de dados Respondido em 11/12/2020 19:15:52 Explicação: O catalogo armazena os metadados, ou seja os dados que descrevem as estruturas de armazenamento do banco de dados,permitindo que o SGBD acesse os seus dados sem necessitar de informações externas. 6 Questão O usuário de banco de dados responsável por fazer o seu gerenciamento é o: Projetista de Banco de Dados Desenvolvedor Gerente de Sistemas Administrador de Banco de Dados Administrador de Dados Respondido em 11/12/2020 19:15:58 Explicação: O administrador de banco de dados é responsavel pelo gerenciamento do SGBD e portanto do próprio banco de dados 1 Questão No modelo entidade-relacionamento um retângulo representa _________ , um losango representa _________ e um círculo representa _________. Assinale a alternativa que preenche corretamente as lacunas acima, respectivamente: Entidade, atributo e relacionamento. Relacionamento, atributo e entidade. Entidade, relacionamento e atributo. Atributo, entidade e relacionamento. Relacionamento, entidade e atributo. Respondido em 11/12/2020 19:19:23 Explicação: O modelo entidade-relacionamento utiliza a ferramenta Diagrama Entidade Relacionamento (DER) para sua representação. Neste Diagrama, temos os seguintes construtores gráficos para: Entidades: Retângulos com o nome da entidade dentro. Relacionamento: Losangos com o nome do relacionamento dentro. Atributos: Círculos ligados as entidades/relacionamentos. Ligações entre entidades e os relacionamentos: Linhas. 2 Questão O modelo que descreve a realidade do ambiente, constituindo uma visão global dos principais dados e relacionamentos, independente das restrições de implementação em um banco de dados, é o: Lógico Conceitual Relacional Físico Essencial Respondido em 11/12/2020 19:16:50 Explicação: O modelo conceitual é feito utilizando o Diagrama Entidade Relacionamento e destina-se a formalizar a realidade apresentada no mini mundo, formalizando-a 3 Questão O modelo que descreve as estruturas de armazenamento de dados, tais como no SGBD como os tipos de dados esécíficos, índices, tipo de preenchimento destes campos, é: Modelo físico Modelo lógico Modelo Relacional Modelo conceitual Modelo essencial Respondido em 11/12/2020 19:19:38 Explicação: O modelo de dados físico define a forma como as tabelas serão criadas no SGBD, com os seus tipos de dados, os indices a serem utilizados e as opções de armazenamento 4 Questão É composto(a) pelo conjunto de valores (dados) armazenados no banco de dados. Estes valores podem variar com o tempo. É a definição de: seleção instância projeção esquema modelo Respondido em 11/12/2020 19:17:06 Explicação: A instância é composta pelo conjunto de valores (dados) armazenados no banco de dados. Estes valores podem variar com o tempo. A instância é criada e alterada continuamente ao longo da utilização do sistema. 5 Questão O Diagrama Entidade-Relacionamento é utilizado para elaboração do seguinte modelo de dados: conceitual hierárquico físico externo interno Respondido em 11/12/2020 19:17:10 Explicação: O Diagrama Entidade Relacionamento é a ferramenta utilizada no Projeto de Banco de Dados para realizar a modelagem conceitual 6 Questão No modelo entidade-relacionamento a cardinalidade define: Com quantas entidades de um tipo uma outra entidade pode se relacionar. As colunas de uma tabela que serão exibidas. A faixa dos valores que podem ser armazenados em determinada entidade. O tipo de dado da entidade. As linhas de uma tabela que serão exibidas. Respondido em 11/12/2020 19:17:24 Explicação: O modelo entidade-relacionamento define regras de negócio que o banco de dados deve atender. Uma das regras é a cardinalidade que define se o relacionamento é obrigatório ou opcional (cardinalidade mínima) e com quantas entidades da entidade tipo B uma entidade da entidade tipo A pode se relacionar (cardinalidade máxima). 1 Questão No modelo entidade-relacionamento, uma entidade se relaciona com: Conceitos Outras entidades Relacionamento-tipo Modelos Atributos Respondido em 11/12/2020 19:20:33 Explicação: Os principais componentes dos Modelos Entidade-Relacionamento (MER) são as entidades (coisas, objetos) sue as relações com outras entidades. 2 Questão O Modelo ER (Entidade-Relacionamento) básico consiste em três classes de objetos que são: Índices, Entidades, Relacionamentos Entidades, Relacionamentose Atributos Diagramas, Relacionamentos e Atributos Relacionamentos, Tabelas e Atributos Campos, Relacionamentos e Atributos Respondido em 11/12/2020 19:18:01 Explicação: O DER tambem é conhecido como ERA , entidade, relacionamento e atributos, seus 3 elementos básicos 3 Questão Interpretar dados, acrescentando a ele um significado, faz parte do conceito de: Planificação Formalização Agregação Enumeração Abstração Respondido em 11/12/2020 19:21:00 Explicação: A abstração propicia que o ser humano, a partir de percepções iniciais comece a formar conceitos abstratos (informações) ao conseguir interpretar esses dados percebidos, acrescentando a ele um significado. 4 Questão Trata-se de um conjunto de elementos do contexto do negócio, representados por um conjunto de atributos: Associação Dado Informação Classe Entidade Respondido em 11/12/2020 19:18:26 Explicação: No contexto do MER uma entidade é um objeto do mundo real concreto ou abstrato que é descrito pelas suas caracteristicas, chamadas atributos. 5 Questão A realidade que esta sendo modelada durante o projeto de banco de dados denomina-se Modelo Descritivo Requisito de Informação Mundo Real Modelo Conceitual Mini Mundo Respondido em 11/12/2020 19:21:19 Explicação: MINI MUNDO é a parcela do mundo real que se vai modelar atendendo aos requisitos de informação 6 Questão O conceito inverso ao conceito de generalização é o conceito de: instanciação agregação classificação especialização particionamento Respondido em 11/12/2020 19:21:29 Explicação: Classificação: Usada para definir um conceito como uma classe ou conjunto de objetos reais ou abstratos (a nível de elemento) caracterizados por propriedades comuns. Generalização: Usada para definir um conceito genérico (a nível de classe) a partir de conceitos específicos (a nível de classe) caracterizados por propriedades comuns. Agregação: Usada para definir objetos reais ou abstratos (a nível de elemento) e conceitos (a nível de classe) ¿compostos¿ a partir de objetos ou conceitos ¿componentes¿. Instanciação: Inverso da Classificação. Especialização: Inverso da Generalização. Particionamento: Inverso da Agregação. 1 Questão Na modelagem conceitual de um banco observou-se que um aluno pode ou não estar matriculado em um curso, podendo estar matriculado em vários e um curso necessita de um ou mais alunos para ocorrer. Seguindo a orientação descrita no texto, assinale o conjunto de cardinalidades correto abaixo: (0,N) e (1,N). (0,N) e (0,1). (0,1) e (0,N). (0,N) e (0,N). (0,1) e (1,N). Respondido em 11/12/2020 19:22:04 Explicação: Quanto a aluno - pode não estar em nenhum curso - mínimo 0 - pode estar me vários curso - máximo 1 - cardinalidade - (0,N) Quanto a curso - precisar ter um aluno - mínimo 1 - pode ter vários - máximo N - cardinalidade (1,N) 2 Questão Se não houver nenhuma indicação especial a respeito de um atributo significa que ele é: Composto, monovalorado e único. Composto, obrigatório e multivalorado. Composto, multivalorado e não único. Simples, multivalorado e único. Simples, monovalorado e não único. Respondido em 11/12/2020 19:22:14 Explicação: Por padrão um atributo é simples, obrigatório, monovalorado e não único. 3 Questão A cardinalidade (m:n) é utilizada quando: Uma instancia de uma entidade se relaciona com muitas instancias de outra unidade, e vice-versa. A participação no relacionamento é obrigatória. A quantidade de relacionamentos entre instância A e B são obrigatoriamente diferentes. É utilizada cardinalidade cruzada. O atributo é multivalorado. Respondido em 11/12/2020 19:19:39 Explicação: A cardinalidade (m:n) diz que uma instância da entidade A se relaciona com muitas instâncias da entidade B, e que uma instância da entidade B se relaciona com muitas instâncias da entidade da A. 4 Questão Um atributo para ser identificador dever ser classificado como: Não único e simples Composto e Obrigatório Único e Obrigatório Único e opcional Composto e monovalorado Respondido em 11/12/2020 19:19:44 Explicação: o atributo identificador é aquele que irá dar origem a uma chave primária na tabela, desta forma deve ter as mesmas caracteristicas de unicidade e obrigatoriedade 5 Questão Dentre as opções abaixo, selecione a que pode representar um atributo multivalorado para uma pessoa. Quantidade de filhos Local de Nascimento Data de nascimento Sexo Nome do dependente Respondido em 11/12/2020 19:20:00 Explicação: Atributos multivalorados são atributos cujo conteúdo é formado por mais de um valor. Uma pessoa pode ter mais de um dependente, portanto pode ter mais de um nome de dependente como atributo. O demais atributos aparecem apenas uma vez. 6 Questão A afirmação: "um morador reside em uma e somente uma cidade e em uma cidade residem pelo menos um ou vários moradores", mostra que as cardinalidades de morador para cidade e de cidade para morador são respectivamente: (1,N) e (0,N) (1,N) e (0,1) (0,1) e (1,N) (0,N) e (1,1) (1,1) e (1,N) Respondido em 11/12/2020 19:20:09 Explicação: Quanto a morador - mora em uma cidade - mínimo 1 - mora em somente uma - máximo 1 - cardinalidade (1,1) Quanto a cidade - possui no mínimo um morador - mínimo 1 - pode possuir vários - máximo N -cardinalidade (1,N) 1 Questão "Descreve a sua estrutura, sendo constituído pelo conjunto de seus atributos e suas restrições." A definição acima refere-se a: esquema campo valor tupla instância Respondido em 11/12/2020 19:20:37 Explicação: O esquema de uma relação descreve a sua estrutura, sendo constituído pelo conjunto de seus atributos e suas restrições. 2 Questão Qual o nome da regra em um banco de dados que assegura que um valor que apareça em uma relação para um dado conjunto de atributos também apareça para um certo conjunto de atributos em outra relação? Transitividade Composta. Dependência Semântica. Integridade Referencial. Integridade Conceitual. Dependência Composta. Respondido em 11/12/2020 19:20:47 Explicação: Integridade Referencial - As chaves estrangeiras têm que ser respeitadas, ou seja, se existe um determinado valor para o atributo na tabela onde ele é chave estrangeira, este valor deve existir na tabela onde ele é chave primária. Integridade semântica - Garante que o dado inserido em uma linha da tabela seja um valor válido. Para esse valor ser válido deve ser do mesmo tipo de dados definido na especificação da coluna na tabela. Dependência Transitiva - Uma dependência funcional transitiva ocorre quando uma colua, além de depender da chave primária da tabela, depende de outra coluna ou conjunto de colunas da tabela. 3 Questão Para a transformação de atributos multivalorados em tabelas deve-se: Prever a quantidade máxima de valores e criar a quantidade necessária de atributos. Criar uma nova tabela contendo a chave primária da tabela origem e o atributo multivalorado. Utilizar a chave estrangeira do atributo multivalorado. Definir um atributo com tipo capaz de assumir qualquer valor. Criar uma chave composta com todos os valores do atributo multivalorado. Respondido em 11/12/2020 19:23:41 Explicação:Atributos multivalorados são transformados em uma tabela distinta e a chave primária da tabela origem é exportada para a nova tabela, onde irá compor a chave primária junto com o atributo. 4 Questão Julgue as afirmativas abaixo: I-Para representar uma relação muitos-para-muitos, você deve criar uma terceira tabela, geralmente chamada de tabela de associação, que divide a relação muitos-para-muitos em duas relações um-para-muitos. II-Para representar uma relação muitos-para-muitos, insira a chave primária de cada uma das duas tabelas na terceira tabela. Como resultado, a terceira tabela registra cada ocorrência, ou instância, da relação. III-Para representar uma relação muitos-para-muitos, exporte a chave primária de uma tabela para a outra, como chave estrangeira. Somente a afirmação II está correta. Somente as afirmações II e III estão corretas Somente a afirmação III está correta. Somente a afirmação I está correta. Somente as afirmações I e II estão corretas. Respondido em 11/12/2020 19:21:10 Explicação: Na modelagem lógica de um relacionamento N:N criamos um terceira tabela e exportamos para está as chaves primarias das tabelas resultantes das entidades tipo que participam do relaciomento tipo 5 Questão No modelo de banco de dados relacional, os dados são representados por meio de: Matrizes tridimensionais formadas por linhas, colunas e chaves. Vetores de tuplas. Tabelas. Ponteiros, que são as chaves primárias e estrangeiras. Listas encadeadas de tuplas. Respondido em 11/12/2020 19:21:17 Explicação: No modelo relacional, como o proprio nome diz, os dados são armazenados em TABELAS. Uma tabela na matemática é denominada Relação dai o nome MODELO RELACIONAL 6 Questão Quando deve ser utilizada uma chave primária composta? Quando houver somente uma chave candidata. Quando for necessário garantir a integridade referencial. Quando a tabela possui atributo único. Quando a tabela não possui atributo único e obrigatório. Quando for necessário referenciar dados de outra tabela. Respondido em 11/12/2020 19:24:09 Explicação: Um atributo para ser chave primária deve obrigatoriamente ser único e obrigatório. Quando não existir atributo com estas características é necessário utilizar uma chave composta. 1 Questão O comando que encerra uma transação fazendo com que todas as modificações pendentes passem a ser definitivas é: Exit Commit Save Rollback Write Respondido em 11/12/2020 19:21:56 Explicação: Transação é um conjunto de comandos que são vistos como uma operação única e que podem ser confirmados ou revertidos ao seu final. Uma transação começa com o comando "begin transaction" e termina com um dos dois comandos: Commit: Encerra a transação corrente fazendo com que todas as modificações pendentes passem a ser definitivas. Rollback: Encerra a transação corrente fazendo com que todas as modificações pendentes sejam desprezadas. 2 Questão Foi criada uma tabela com o comando: CREATE TABLE COR (ID Numeric (4) Primary Key, Nome Varchar (20) Not Null) Para apagar a linha da tabela cujo atributo "Nome" seja "VERDE" deve ser utilizado o comando: DELETE FROM COR WHERE NOME='VERDE' DELETE NOME='VERDE' FROM COR ERASE NOME='VERDE' FROM COR ERASE FROM COR WHERE NOME='VERDE' DROP TABLE VERDE Respondido em 11/12/2020 19:22:42 Explicação: O comando delete é utilizado para excluirmos linhas em uma tabela e tem como sintaxe: DELETE FROM nome_tabela WHERE condição 3 Questão Ao implementar um sistema de gerência de fornecedores, o desenvolvedor percebeu que não existia no banco de dados relacional da empresa qualquer representação da entidade PRODUTO que aparecia em seu modelo de dados. Para corrigir essa falha, preparou um comando SQL que alteraria o esquema do banco de dados. Tal comando SQL deve ser iniciado com ALTER TABLE PRODUTO CREATE PRODUTO : TABLE CREATE PRODUTO AS TABLE CREATE TABLE PRODUTO ALTER SCHEMA ADD TABLE PRODUTO Respondido em 11/12/2020 19:22:56 Explicação: A SOLUÇÃO SERIA CRIAR A TABELA PRODUTO COM O COMANDO CREATE TABLE 4 Questão Supondo a existência de uma tabela PESSOA, o comando para eliminar a tabela de um SGBD PostgreSQL é: ERASE TABLE PESSOA DELETE TABLE PESSOA REMOVE TABLE PESSOA DROP TABLE PESSOA CLEAN TABLE PESSOA Respondido em 11/12/2020 19:23:17 Explicação: Para apagar uma tabela de um SGBD deve ser utilizado o comando DROP TABLE onde é o nome da tabela a ser apagada. 5 Questão Considere o banco de dados relacional de uma clínica médica PACIENTE (id_pac, nome_pac, sexo, fone_pac) ESPECIALIDADE (id_espec, nome_espec) MEDICO (id_med, nome_med, fone_med, id_espec) CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med) Dê o comando correspondente de Atualizar o nome da especialidade para a especialidade de id = 1. Update ESPECIALIDADE Set nome_espec = 'Clínico Geral' Where id_espec = 1 Update ESPECIALIDADE Set nome_espec = 'Clínico Geral' Where id_espec != 1 Update ESPECIALIDADE Set nome_espec = 'Clínico Geral' Where id_espec <> 1 Update ESPECIALIDADE Set nome_espec = 'Clínico Geral' Where id_espec > 1 Update ESPECIALIDADE Set nome_espec = 'Clínico Geral' Where id_espec < 1 Respondido em 11/12/2020 19:26:12 Explicação: o comando que atualiza os dados é o de update 6 Questão A seguinte instrução ocasiona qual procedimento no banco: CREATE TABLE PESSOAS ( ID_PESSOA INT NOT NULL PRIMARY KEY, PESSOA VARCHAR(26) ); Cria um identificador (ID_PESSOAS) que é a chave primária; Mostra a tabela tbPessoa. Cria a tabela pessoa com 3 campos; Cria a tabela pessoa com 2 campos; Cria a tabela pessoa na forma descrita e com os campos preenchidos; Respondido em 11/12/2020 19:23:40 Explicação: o COMANDO CREATE TABLE cria uma tabela 1 Questão Considere o esquema de uma empresa conforme segue: Func (cod_func, nome, dta_nasc, salario, nro_depto, cod_superv) ; Depto (nro_depto, nome) ; Projeto (cod_proj, nome, duracao, nro_depto) ; Participa (cod_proj, cod_func, horas_trab). Marque a alternativa que contém o comando em SQL para recuperar o nome e o salário dos funcionários do departamento 5, com salário na faixa entre 1000 e 2000. SELECT NOME, SALARIO FROM FUNC WHERE NRO_DEPTO = 5 AND SALARIO BETWEEN 1000 AND 2000; SELECT NOME, SALARIO FROM FUNC WHERE SALARIO BETWEEN 1000 AND 2000; SELECT NOME, SALARIO FROM FUNC WHERE SALARIO = 1000 AND NRO_DEPTO BETWEEN 1 AND 5; SELECT NOME, SALARIO FROM FUNC WHERE NRO_DEPTO = 5; SELECT NOME, SALARIO FROM FUNC WHERE NRO_DEPTO = 5 OR SALARIO BETWEEN 1000 AND 2000; Respondido em 11/12/2020 19:26:50 Explicação: O comando deve ter o between para definir a faixa dos salarios e o operador AND para ligar as duas condições 2 Questão Sobre o comando SELECT, marque a alternativa FALSA. Pode concatenar colunas para mostrar como uma única coluna. Pode realizar operações aritméticas nos resultados retornados. Pode utilizar operadores lógicos para testar múltiplas condições. Pode conter operador para eliminar tabelas selecionadas. Pode testar condições para selecionar linhas a serem exibidas. Respondido em 11/12/2020 19:24:19 Explicação: O comando SELECT permite recuperar dados de uma ou mais tabelas. Não pode ser utilizado para eliminar tabelas. 3Questão Dada a tabela criada com o comando SQL: CREATE TABLE NOME (PRIMEIRO VARCHAR(15), MEIO VARCHAR(15), ULTIMO VARCHAR(15)) Onde PRIMEIRO representa o primeiro nome de uma pessoa, MEIO representa o nome do meio da pessoa, e ULTIMO representa o último nome da pessoa, selecione o comando SQL que retorna uma única coluna contendo o nome completo das pessoas, colocando um espaço em branco entre cada um dos componentes do nome. SELECT PRIMEIRO, ' ', MEIO, ' ', ULTIMO FROM NOME SELECT PRIMEIRO || ' ' || MEIO || ' ' || ULTIMO FROM NOME SELECT PRIMEIRO + ' ' + MEIO + ' ' + ULTIMO FROM NOME SELECT AGREG(PRIMEIRO, ' ', MEIO, ' ', ULTIMO) FROM NOME SELECT PRIMEIRO ' ' MEIO ' ' ULTIMO FROM NOME Respondido em 11/12/2020 19:27:09 Explicação: O operador || é utilizado quando se deseja concatenar duas colunas. 4 Questão Assinale a alternativa que selecione todos os clientes cujo código NÃO esteja entre 50 e 75. SELECT * FROM Cliente Where cliente_id BETWEEN 50 AND 75; SELECT * FROM Cliente Where cliente_id NOT BETWEEN 50 OR 75; SELECT * FROM Cliente Where cliente_id = 50 AND 75; SELECT * FROM Cliente Where cliente_id >= 50 AND cliente_id <=75; SELECT * FROM Cliente Where cliente_id NOT BETWEEN 50 AND 75; Respondido em 11/12/2020 19:24:46 Explicação: É necessario utilizar not between para filtrar as linhas que estão fora da faixa 5 Questão Assinale a alternativa que selecione todos os clientes que terminem com o nome 'Morais' Select * From Cliente Where nome like '%Mor' Select * From Cliente Where nome <> 'Morais' Select * From Cliente Where nome like '%M%' Select * From Cliente Where nome like '%Morais' Select * From Cliente Where nome like '%M' Respondido em 11/12/2020 19:25:00 Explicação: É necessario o uso do like com o caracter curinga % 6 Questão Dada a tabela criada com o comando SQL: CREATE TABLE NOME (PRIMEIRO VARCHAR(15), MEIO VARCHAR(15), ULTIMO VARCHAR(15)) Onde PRIMEIRO representa o primeiro nome de uma pessoa, MEIO representa o nome do meio da pessoa, e ULTIMO representa o último nome da pessoa, selecione o comando SQL que retorna o primeiro nome da pessoa que possui valor nulo no atributo MEIO. SELECT PRIMEIRO FROM NOME WHERE MEIO = '' SELECT PRIMEIRO FROM NOME WHERE MEIO IS NOT DEFINED SELECT PRIMEIRO FROM NOME WHERE MEIO = NULL SELECT PRIMEIRO FROM NOME WHERE MEIO = 0 SELECT PRIMEIRO FROM NOME WHERE MEIO IS NULL Respondido em 11/12/2020 19:25:13 Explicação: O operador "IS NULL" visa determinar se no campo existe valor ou não (campo nulo). Um valor nulo é um valor que está indisponível, não foi atribuído, é desconhecido ou inaplicável, tornando inviável usar "=" no teste, pois como nulo não é valor, é ausência de valor, não pode ser igual ou diferente de qualquer outro. Questão Considere a tabela criada com o comando CREATE TABLE PRODUTO ( ID NUMERIC(4) PRIMARY KEY, NOME VARCHAR(20), COR VARCHAR(10)) O comando que retorna a quantidade total de cores diferentes é: SELECT COUNT(*) FROM PRODUTO SELECT COUNT(COR) FROM PRODUTO SELECT DISTINCT COR FROM PRODUTO SELECT COUNT(DISTINCT COR) FROM PRODUTO SELECT * FROM PRODUTO Respondido em 11/12/2020 19:28:21 Explicação: O operador DISTINCT elimina os valores duplicados, retornando apenas uma vez cada valor. A função COUNT conta e mostra o total de linhas retornadas. 2 Questão Abaixo segue parte do esquema do banco de dados Shark, sabendo-se que os atributos em negrito e sublinhados são chaves primárias e os atributos em itálico são chaves estrangeiras: AREA (CODAREA, NOMEAREA) LOCAL (CODLOCAL, CODAREA, NOMELOCAL) TUBARAO (IDTUBARAO, IDESPECIE, COMPRIMENTO, SEXO) CAPTURA (NUMCAPTURA, IDEMB, IDTUBARAO, CODLOCAL, LATITUDE, LONGITUDE, DATA, TEMPAGUA) Assinale a alternativa abaixo que representa uma consulta que exiba todos os dados de áreas e locais ordenados decrescentemente pelo nome do local. SELECT * FROM AREA A INNER JOIN LOCAL L ON A.CODAREA = L.CODAREA ORDER NOMELOCAL DESC; SELECT * FROM AREA A, LOCAL L WHERE A.CODAREA = L.CODAREA ORDER BY NOMELOCAL DESC; SELECT * FROM AREA A, LOCAL L WHERE A.CODAREA = L.CODAREA ORDER NOMELOCAL ASC; SELECT * FROM AREA A, LOCAL L WHERE A.CODAREA = L.CODAREA ORDER NOMELOCAL DESC; SELECT * FROM AREA A INNER JOIN LOCAL L WHERE A.CODAREA = L.CODAREA ORDER BY NOMELOCAL DESC; Respondido em 11/12/2020 19:25:44 Explicação: PARA ORDENARMOS DE FORMA DESCRECENTE PRECISAMOS UTILIZAR ORDER BY DESC 3 Questão Considere a tabela criada com o comando CREATE TABLE PRODUTO ( ID NUMERIC(4) PRIMARY KEY, NOME VARCHAR(20), COR VARCHAR(10)) O comando que retorna as diferentes cores, sem repetição, é: SELECT * FROM PRODUTO SELECT COUNT(COR) FROM PRODUTO SELECT COUNT(DISTINCT COR) FROM PRODUTO SELECT DISTINCT COR FROM PRODUTO SELECT COUNT(*) FROM PRODUTO Respondido em 11/12/2020 19:28:40 Explicação: O operador DISTINCT elimina os valores duplicados, retornando apenas uma vez cada valor. 4 Questão Baseado no modelo de banco de dados mostrado a seguir: CARRO(idcarro,placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF,idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) Mostre o tipo dos carros e quantos carros são do mesmo tipo: SELECT tipo, sum(tipo) FROM carro GROUP BY tipo; SELECT tipo, max(tipo) FROM carro GROUP BY tipo; SELECT tipo, count(*) FROM carro; SELECT tipo, sum(tipo) FROM carro GROUP BY sum(tipo); SELECT tipo, count(*) FROM carro GROUP BY tipo; Respondido em 11/12/2020 19:29:02 Explicação: Para a correta execução temos que contar utilizando count e agrupar utilizando Group By 5 Questão Considere a tabela definida pelo comando SQL abaixo. Create table func ( nome varchar(50) not null, salario numeric(9,2) not null, cod_depto int null); Considere a consulta SQL abaixo: Select nome, salario from func where salario > 900 and cod_depto is not null order by salario O requisito abaixo que NÃO é atendido por esta consulta é: só considerar os registros que apresentem o atributo SALARIO maior que 900; listar a coluna NOME da tabela FUNC; listar a coluna SALARIO da tabela FUNC; só considerar os registros que apresentem o atributo COD_DEPTO não nulo; apresentar o resultado em ordem alfabética. Respondido em 11/12/2020 19:29:19 Explicação: Como a ordenação foi realizada por uma coluna numerica não apresentara a ordem alfabetica crescente no resultado 6 Questão Considere a tabela criada com o comando CREATE TABLE PRODUTO ( ID NUMERIC(4) PRIMARY KEY, NOME VARCHAR(20), COR VARCHAR(10)) Dentre os comandos abaixo, selecione aquele que mostre uma linha contendo a quantidade de produtos que possuem cor VERDE. SELECT COUNT(*) FROM PRODUTO GROUP BY COR WHERE COR IS 'VERDE' SELECT COUNT(*) FROM PRODUTO GROUP BY COR HAVING COR='VERDE' SELECT NOME FROM PRODUTO GROUP BY COR HAVING COR='VERDE' SELECT COUNT('VERDE') FROM PRODUTO GROUP BY COR SELECT COUNT(*) FROM PRODUTO GROUP BY COR WHERE COR='VERDE' Respondido em 11/12/2020 19:26:47 Explicação: Ao se utilizar a cláusula GROUP BY, pode-se filtrar a seleção de dados antes deles serem agrupados ou depois do agrupamento. Para eliminar grupos que não atendam a uma determinada condição, utiliza-se a cláusula HAVING. 1 Questão Qual o tipo de junção que retorna apenas as linhas relacionadas emduas tabelas? Interior Direita Esquerda Cruzada Exterior Respondido em 11/12/2020 19:27:27 Explicação: Existem 3 tipos de junção: Cruzada: Retorna o produto cartesiano das duas tabelas, ou seja, a combinação de todas as linhas de uma tabela com todas as linhas de outra. Interior: Retorna as linhas que estão relacionadas nas duas tabelas. Exterior: Retorna as linhas relacionadas e as não relacionadas de uma ou das duas tabelas. 2 Questão Considere o banco de dados relacional de uma escola no qual as chaves primárias e estrangeiras estão sublinhadas. PROFESSOR (ID_PROF, CPF, NOME) DISCIPLINA (ID_DISC, CARGA_HOR, NOME, ID_PROF) Dentre os comandos abaixo, selecione aquele que mostra os nomes de todos os professores e as disciplinas às quais estão relacionados. Se o professor não estiver relacionado a nenhuma disciplina seu nome deve aparecer na relação. Disciplinas sem professores relacionados não deve ser listada. Nenhuma outra informação além do nome do professor e da disciplina deve ser listada. SELECT * FROM PROFESSOR P, DISCIPLINA D SELECT P.NOME, D.NOME FROM DISCIPLINA D LEFT JOIN PROFESSOR P ON P.ID_PROF = D.ID_PROF SELECT P.NOME, D.NOME FROM PROFESSOR P INNER JOIN DISCIPLINA D ON P.ID_PROF = D.ID_PROF SELECT P.NOME, D.NOME FROM PROFESSOR P LEFT JOIN DISCIPLINA D ON P.ID_PROF = D.ID_PROF SELECT P.NOME, D.NOME FROM DISCIPLINA D INNER JOIN PROFESSOR P ON P.ID_PROF = D.ID_PROF Respondido em 11/12/2020 19:27:41 Explicação: Para retornar todos os professores é necessário fazer left join com a tabela professores à esquerda. 3 Questão Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial(PK), nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario(PK),nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente(PK),nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente(PK),Km,desconto) CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) O nome dos clientes que são cadastrados como especiais? SELECT c.nome cliente FROM cliente c, cliente_especial ce ON c.idcliente=ce.idcliente SELECT c.nome cliente FROM cliente c RIGHT JOIN cliente_especial ce ON c.idcliente=ce.idcliente SELECT c.nome cliente FROM cliente c INNER JOIN cliente_especial ce ON c.idcliente=ce.idcliente SELECT c.nome cliente FROM cliente c INNER JOIN cliente_especial ce SELECT c.nome cliente FROM cliente c LEFT JOIN cliente_especial ce ON c.idcliente=ce.idcliente Respondido em 11/12/2020 19:27:51 Explicação: Para sabermos o nome dos clientes especiais temos que fazer uma junção interior entre a tabela de clientes especiais e a de cliente. 4 Questão Considere o banco de dados relacional de uma escola no qual as chaves primárias e estrangeiras estão sublinhadas. PROFESSOR (ID_PROF, CPF, NOME) DISCIPLINA (ID_DISC, CARGA_HOR, NOME, ID_PROF) Dentre os comandos abaixo, selecione aquele que mostra somente o nome do professor e o nome da disciplina ao qual o professor está relacionado. Nomes dos professores sem relação com disciplinas e nomes de disciplinas sem relação com professor não devem aparecer. SELECT * FROM PROFESSOR P, DISCIPLINA D WHERE P.ID_PROF = D.ID_PROF SELECT P.NOME, D.NOME FROM PROFESSOR P, DISCIPLINA D SELECT * FROM PROFESSOR P, DISCIPLINA D SELECT P.NOME, D.NOME FROM PROFESSOR P, DISCIPLINA D HAVING P.ID_PROF = D.ID_PROF SELECT P.NOME, D.NOME FROM PROFESSOR P, DISCIPLINA D WHERE P.ID_PROF = D.ID_PROF Respondido em 11/12/2020 19:30:48 Explicação: A sintaxe tradicional de inner join tem o seguinte formato: SELECT FROM tabela1, tabela2 WHERE ; 5 Questão Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial(PK), nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario(PK),nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente(PK),nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente(PK),Km,desconto) CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) O nome dos clientes que mesmo cadastrados no banco de dados da Locadora NÃO fizeram nenhum aluguel? SELECT c.nome cliente FROM aluguel a INNER JOIN cliente c ON a.idcliente=c.idcliente where a.idcliente IS NULL SELECT c.nome cliente FROM aluguel a LEFT JOIN cliente c ON a.idcliente=c.idcliente where a.idcliente IS NULL SELECT c.nome cliente FROM aluguel a RIGHT JOIN cliente c ON a.idcliente=c.idcliente where a.idcliente IS NULL SELECT c.nome cliente FROM aluguel a, cliente c where a.idcliente=c.idcliente SELECT c.nome cliente FROM aluguel a, cliente c ON a.idcliente=c.idcliente Respondido em 11/12/2020 19:31:00 Explicação: Como precisamos obter os não relacionados necessitamos fazer uma junção exterior 6 Questão Abaixo segue parte do esquema do banco de dados Shark, sabendo-se que os atributos em negrito e sublinhados são chaves primárias e os atributos em itálico são chaves estrangeiras: ESPECIE (IDESPECIE, NOME_CIENTIFICO, DENTICAO, STATUS_EXTINCAO, HABITAT, TIPOREPRODUCAO) CAPTURA (NUMCAPTURA, IDEMB, IDTUBARAO, CODLOCAL, LATITUDE, LONGITUDE, DATA, TEMPAGUA) TUBARAO (IDTUBARAO, IDESPECIE, COMPRIMENTO, SEXO) Assinale a alternativa abaixo que representa uma consulta que exibe o nome científico e o sexo dos tubarões correlacionados corretamente. SELECT NOME_CIENTIFICO, SEXO FROM ESPECIE E INNER JOIN TUBARAO T ON E.IDESPECIE = T.IDESPECIE; SELECT NOME_CIENTIFICO, SEXO FROM ESPECIE E, TUBARAO T; SELECT NOME_CIENTIFICO, SEXO FROM ESPECIE E NATURAL JOIN TUBARAO T ON E.IDESPECIE = T.IDESPECIE; SELECT NOME_CIENTIFICO, SEXO FROM ESPECIE E CROSS JOIN TUBARAO T ON E.IDESPECIE = T.IDESPECIE; SELECT NOME_CIENTIFICO, SEXO FROM ESPECIE JOIN TUBARAO; Respondido em 11/12/2020 19:28:28 Explicação: A consulta deseja recuperar os seguintes campos: - nome científico: encontra-se na tabela Espécie - sexo: encontra-se na tabela Tubarão. Sendo assim temos que realizar uma junção interior. 1 Questão Dentre os comandos abaixo, selecione o que possui uma subconsulta. SELECT P.NOME, D.NOME FROM PROFESSOR P, DISCIPLINA D WHERE P.ID_PROF = D.ID_PROF DROP TABLE PESSOA SELECT * FROM PROFESSOR P, DISCIPLINA D SELECT * FROM NOME WHERE MEIO IN (SELECT DISTINCT MEIO FROM NOME) SELECT COUNT(*) FROM PRODUTO GROUP BY COR HAVING COR='VERDE' Respondido em 11/12/2020 19:28:54 Explicação: Subconsultas são escritas entre parênteses. 2 Questão Sobre as subconsultas em SQL, assinale a alternativa FALSA. Podem retornar uma ou várias linhas. Podem existir várias subconsultas para uma única consulta. Podem retornar linhas nulas. Podem retornar uma ou várias colunas. São escritas entre parênteses. Respondido em 11/12/2020 19:29:04 Explicação: As subconsultas obedecem aos seguintes princípios: São escritas entre parênteses. Podem existir várias subconsultas para uma única consulta. Podem existir subconsultas dentro de subconsultas (subconsultas aninhadas). Podem retornar uma ou várias colunas. Podem retornar uma ou várias linhas. Normalmente são utilizadas nas cláusulas WHERE ou HAVING, podendo, mais raramente, serem utilizadas nas cláusulas FROM ou SELECT. Eventualmente podem referenciar colunas da consulta principal (subconsulta correlata). Não devem retornar linhas nulas. 3 Questão Qual operador retorna todas as linhas do primeiro conjuntoacrescidas de todas as linhas do segundo conjunto, eliminando as duplicadas? Union Inner join Join Intersect Except Respondido em 11/12/2020 19:32:03 Explicação: O operador UNION realiza a operação de UNIÃO, ou seja, retorna todas as linhas do primeiro conjunto acrescidas de todas as linhas do segundo conjunto, eliminando as duplicadas. 4 Questão Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial(PK), nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario(PK),nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente(PK),nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente(PK),Km,desconto) CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) Qual o código do Carro que tem o maior valor de aluguel? SELECT idCarro FROM aluguel a where valor = Max(valor); SELECT idCarro, Max(valor) FROM aluguel a group by idcarro; SELECT idCarro FROM aluguel a where valor = (select Max(valor) from aluguel); SELECT idCarro, Max(valor) FROM aluguel; SELECT idCarro FROM aluguel a where valor = (select sum(valor) from aluguel); Respondido em 11/12/2020 19:32:16 Explicação: Para executarmos a consulta temos que primeiro obter o maior valor de aluguel em uma subconsulta e depois utilizar este valor para filtrar as linhas na consulta principal 5 Questão Considere as seguintes tabelas: CLIENTE (idCli, NomeCli) PEDIDO (idPEDIDO, Data, idCli, ValorPedido) Qual alternativa apresenta os clientes que NÃO tiveram nenhum pedido? SELECT * FROM CLIENTE SELECT * FROM CLIENTE WHERE idCli IN (SELECT idCli FROM PEDIDO) SELECT NomeCli FROM CLIENTE C LEFT JOIN PEDIDO P ON C.idCli = P.idCli SELECT NomeCli FROM CLIENTE C RIGHT JOIN PEDIDO P ON C.idCli = P.idCli SELECT * FROM CLIENTE WHERE idCli NOT IN (SELECT idCli FROM PEDIDO) Respondido em 11/12/2020 19:29:45 Explicação: O comando utiliza uma subconsulta para obter o id dos clientes que fizeram pedidos e a seguir filtra os clientes que não aparecem no conjunto retornado 6 Questão Em um projeto lógico de um sistema foi identificado que um projeto é de um certo tipo. Assim, as relações abaixo foram definidas: TIPO_PROJETO (ID_TIPO, NOME) PROJETO (ID_PROJETO, NOME, DESCRICAO, ID_TIPO, VALOR) Conforme a linguagem SQL e as relações dadas, escolha a opção que mostre o nome de cada tipo de projeto que não possua um projeto e que comece com a letra A. SELECT TP.NOME FROM TIPO_PROJETO TP, PROJETO P WHERE TP.ID_TIPO = P.ID_TIPO AND TP.ID_TIPO IS NULL AND TP.NOME LIKE '%A%'; SELECT TP.NOME FROM TIPO_PROJETO TP, PROJETO P WHERE ID_TIPO IS NULL AND P.VALOR=0 AND TP.NOME LIKE 'A%'; SELECT NOME FROM TIPO_PROJETO WHERE ID_TIPO NOT IN (SELECT DISTINCT ID_TIPO FROM PROJETO) AND NOME LIKE 'A%' ; SELECT TP.NOME FROM TIPO_PROJETO TP, PROJETO P WHERE TP.ID_TIPO = P.ID_TIPO AND P.VALOR IS NULL AND TP.NOME LIKE '%A%'; SELECT TP.NOME FROM TIPO_PROJETO TP, PROJETO P WHERE ID_TIPO IS NULL AND TP.NOME LIKE '%A%'; Respondido em 11/12/2020 19:29:56 Explicação: A subconsulta retorna o ID do tipos de projeto que possuem projeto e a clausula where filtrar as linhas da consulta principal que estão no conjunto retornado e ainda os nomes que não começam por A
Compartilhar