Prévia do material em texto
1a Questão Na Arquitetura Ansi Sparc quando nos referimos a forma como os diferentes usuários enxergam o banco de dados estamos no: , Aplicativo Sistemas Gerenciador de Banco de Dados Nivel Conceitual Nivel Interno Nivel Externo Respondido em 03/03/2019 04:43:23 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. 2a Questão O projetista de banco de dados na Arquitetura Ansi Sparc define o: Nivel Conceitual Modelo Físico Nivel Interno Modelo Lógico Modelo Conceitual Respondido em 03/03/2019 04:46:22 Explicação: O Nivel conceitual de um banco de dados corresponde aos seus objetos lógicos que são definidos pelo projetista de banco de dados. 4a Questão O usuário de banco de dados responsável por fazer o seu gerenciamento é o: Administrador de Dados Gerente de Sistemas Administrador de Banco de Dados Desenvolvedor Projetista de Banco de Dados Respondido em 03/03/2019 04:47:17 Explicação: O administrador de banco de dados é responsavel pelo gerenciamento do SGBD e portanto do próprio banco de dados 5a Questão A autoinformação do banco de dados está caracterizada pela existencia : Dos arquivos de dados Dos aplicativos Do catálogo Do sistema de banco de dados Do SGBD Respondido em 03/03/2019 04:47:39 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. 6a Questão O conceito que exemplifica o significado de INFORMAÇÃO é: A manipulação de dados O armazenamento de arquivo O resultado do processamento, manipulação e organização de dados a manipulação de arquivos O armazenamento de dados Respondido em 03/03/2019 04:48:11 Explicação: A informação é produzida a partir do processamento dos dados, ou seja é o conhecimento produzido a partir da análise dos dados. 1a Questão Na Arquitetura Ansi Sparc o DBA trabalha no: BANCO DE DADOS NIVEL INTERNO NIVEL CONCEITUAL SGBD NIVEL EXTERNO Respondido em 22/05/2019 13:01:17 Explicação: O DBA administrador de banco de dados é o responsável pela adminstração no Sistema Gerenciador de Banco de Dados que na arquitetura ANSI SPARC equivale ao NIVEL INTERNO 3a Questão O projetista de banco de dados na Arquitetura Ansi Sparc define o: Modelo Lógico Nivel Interno Nivel Conceitual Modelo Físico Modelo Conceitual Respondido em 22/05/2019 13:06:08 Explicação: O Nivel conceitual de um banco de dados corresponde aos seus objetos lógicos que são definidos pelo projetista de banco de dados. 4a Questão A autoinformação do banco de dados está caracterizada pela existencia : Do sistema de banco de dados Dos aplicativos Do SGBD Do catálogo Dos arquivos de dados Respondido em 22/05/2019 13:07:17 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. 5a Questão Na Arquitetura Ansi Sparc quando nos referimos a forma como os diferentes usuários enxergam o banco de dados estamos no: , Nivel Externo Nivel Conceitual Nivel Interno Aplicativo Sistemas Gerenciador de Banco de Dados Respondido em 22/05/2019 13:08:08 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. 6a Questão O usuário de banco de dados responsável por fazer o seu gerenciamento é o: Projetista de Banco de Dados Administrador de Dados Administrador de Banco de Dados Gerente de Sistemas Desenvolvedor Respondido em 22/05/2019 13:09:41 Explicação: O administrador de banco de dados é responsavel pelo gerenciamento do SGBD e portanto do próprio banco de dados 1a Questão O modelo que descreve as estruturas de armazenamento (taabelas) seus campos, suas chaves e demais características , é: Modelo lógico Modelo de dados Modelo físico Modelo essencial Modelo conceitual Respondido em 28/04/2019 21:43:58 Explicação: O modelo lógico é construido a partir do modelo conceitual realizando o mapeamento do DER para os componentes do modelo relacional, tabelas, definindo suas colunas e chaves 2a 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 Essencial Físico Conceitual Relacional Respondido em 28/04/2019 21:44:59 Explicação: O modelo conceitual é feito utilizando o Diagrama Entidade Relacionamento e destina-se a formalizar a realidade apresentada no mini mundo, formalizando-a 3a Questão O Diagrama Entidade-Relacionamento é utilizado para elaboração do seguinte modelo de dados: hierárquico externo interno físico conceitual Respondido em 28/04/2019 21:45:26 Explicação: O Diagrama Entidade Relacionamento é a ferramenta utilizada no Projeto de Banco de Dados para realizar a modelagem conceitual 4a 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 essencial Modelo conceitual Modelo físico Modelo lógico Modelo Relacional Respondido em 28/04/2019 21:46:45 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 5a Questão Sobre modelos de dados conceituais, lógicos e físicos, marque a opção correta: Modelos de dados físicos não descrevem detalhes de como os dados são armazenados Modelos de dados lógicos utilizam conceitos que definem o armazenamento físico Modelos de dados físicos usam conceitos próximos da visão dos usuários Modelos de dados conceituais são totalmente dependentes da implementação Modelos de dados físicos são orientados a SGBDs específicos Respondido em 28/04/2019 21:47:39 Explicação: Fases de Modelagem: Modelo Conceitual, Modelo Lógico e Modelo Físico. Modelo Conceitual: Modelo de dados abstrato, que descreve a estrutura de um banco de dados de forma independente de um SGBD particular. A técnica de modelo conceitualmais difundida é a abordagem Entidade-Relacionamento. Modelo Lógico: Descreve as estruturas que estarão contidas no banco de dados, considerando o modelo de dados do Sistema Gerenciador de Banco de Dados (SGBD), resultando em um esquema lógico de dados. Modelo Físico: Descreve as estruturas físicas de armazenamento de dados, tais como: tamanho dos campos, índices, tipo de preenchimento destes campos, etc. 6a Questão O Projeto de um banco de dados é normalmente dividido em fases. Marque a alternativa correta. Projeto Conceitual: define como os dados são armazenados no SGBD específico. Projeto Lógico: linguagem usada para especificar esquemas lógicos, consiste em criar um modelo físico de dados a partir do modelo conceitual independente do SGBD escolhido. Projeto Físico: total independência do SGBD específico. Projeto Conceitual: é analisado um modelo de dados em função do SGBD definido e usa modelo de dados para descrever a realidade. Projeto Físico: descreve estruturas de armazenamento e métodos de acesso. Respondido em 28/04/2019 21:48:54 Explicação: Projeto de Banco de Dados: Modelo Conceitual, Modelo Lógico e Modelo Físico. Projeto Conceitual: Modelo de dados abstrato, que descreve a estrutura de um banco de dados de forma independente de um SGBD particular. A técnica de modelo conceitual mais difundida é a abordagem Entidade-Relacionamento. Projeto Lógico: Descreve as estruturas que estarão contidas no banco de dados, considerando o modelo de dados do Sistema Gerenciador de Banco de Dados (SGBD), resultando em um esquema lógico de dados. Projeto Físico: Descreve as estruturas físicas de armazenamento de dados, tais como: tamanho dos campos, índices, tipo de preenchimento destes campos, etc... . É totalmente dependente do SGBD. 2a Questão Quando afirmamos que o notebook numero de Serie 23456 pertence ao Banco Libre, podemos afirmar que o Banco Libre é um exemplo de: Relacionamento Tipo Relacionamento Requisito de Informação Entidade Tipo Entidade Respondido em 22/05/2019 13:19:56 Explicação: Entidade é um objeto do mundo real concreto ou abstrato como é o caso do BANCO LIBRE 3a Questão Em uma das etapas do projeto de um banco de dados, definimos modelamos os relacionamentos tipo que se conectam: Apenas as entidades tipo as Entidades tipo e outros relacionamentos tipo. Apenas as entidades A outros relacionamentos tipo Apenas relacionamentos. Respondido em 22/05/2019 13:20:41 Explicação: O relacionamento tipo é associação de duas entidades tipo 5a Questão Trata-se de um conjunto de elementos do contexto do negócio, representados por um conjunto de atributos: Associação Entidade Dado Informação Classe Respondido em 22/05/2019 13:21:57 Explicação: No contexto do MER uma entidade é um objeto do mundo real concreto ou abstrato que é descrito pelas suas caracteristicas, chamadas atributos. 6a Questão O Modelo ER (Entidade-Relacionamento) básico consiste em três classes de objetos que são: Índices, Entidades, Relacionamentos Campos, Relacionamentos e Atributos Relacionamentos, Tabelas e Atributos Entidades, Relacionamentos e Atributos Diagramas, Relacionamentos e Atributos Respondido em 22/05/2019 13:22:24 Explicação: O DER tambem é conhecido como ERA , entidade, relacionamento e atributos, seus 3 elementos básicos 1a Questão O Modelo ER (Entidade-Relacionamento) básico consiste em três classes de objetos que são: Entidades, Relacionamentos e Atributos Diagramas, Relacionamentos e Atributos Relacionamentos, Tabelas e Atributos Índices, Entidades, Relacionamentos Campos, Relacionamentos e Atributos Respondido em 22/05/2019 13:23:29 Explicação: O DER tambem é conhecido como ERA , entidade, relacionamento e atributos, seus 3 elementos básicos 2a Questão Trata-se de um conjunto de elementos do contexto do negócio, representados por um conjunto de atributos: Informação Entidade Dado Classe Associação Respondido em 22/05/2019 13:23:48 Explicação: No contexto do MER uma entidade é um objeto do mundo real concreto ou abstrato que é descrito pelas suas caracteristicas, chamadas atributos. 3a Questão Em uma das etapas do projeto de um banco de dados, definimos modelamos os relacionamentos tipo que se conectam: A outros relacionamentos tipo as Entidades tipo e outros relacionamentos tipo. Apenas as entidades tipo Apenas relacionamentos. Apenas as entidades Respondido em 22/05/2019 13:24:28 Explicação: O relacionamento tipo é associação de duas entidades tipo 5a Questão Quando afirmamos que o notebook numero de Serie 23456 pertence ao Banco Libre, podemos afirmar que o Banco Libre é um exemplo de: Relacionamento Entidade Relacionamento Tipo Entidade Tipo Requisito de Informação Respondido em 22/05/2019 13:25:05 Explicação: Entidade é um objeto do mundo real concreto ou abstrato como é o caso do BANCO LIBRE 1a Questão O Modelo ER (Entidade-Relacionamento) básico consiste em três classes de objetos que são: Índices, Entidades, Relacionamentos Campos, Relacionamentos e Atributos Entidades, Relacionamentos e Atributos Relacionamentos, Tabelas e Atributos Diagramas, Relacionamentos e Atributos Respondido em 22/05/2019 13:26:19 Explicação: O DER tambem é conhecido como ERA , entidade, relacionamento e atributos, seus 3 elementos básicos 2a Questão Trata-se de um conjunto de elementos do contexto do negócio, representados por um conjunto de atributos: Associação Informação Dado Classe Entidade Respondido em 22/05/2019 13:26:28 Explicação: No contexto do MER uma entidade é um objeto do mundo real concreto ou abstrato que é descrito pelas suas caracteristicas, chamadas atributos. 3a Questão Em uma das etapas do projeto de um banco de dados, definimos modelamos os relacionamentos tipo que se conectam: Apenas as entidades tipo Apenas relacionamentos. A outros relacionamentos tipo as Entidades tipo e outros relacionamentos tipo. Apenas as entidades Respondido em 22/05/2019 13:26:40 Explicação: O relacionamento tipo é associação de duas entidades tipo 4a Questão A realidade que esta sendo modelada durante o projeto de banco de dados denomina-se Mini Mundo Requisito de Informação Modelo Descritivo Modelo Conceitual Mundo Real Respondido em 22/05/2019 13:26:48 Explicação: MINI MUNDO é a parcela do mundo real que se vai modelar atendendo aos requisitos de informação5a Questão Quando afirmamos que o notebook numero de Serie 23456 pertence ao Banco Libre, podemos afirmar que o Banco Libre é um exemplo de: Entidade Entidade Tipo Requisito de Informação Relacionamento Relacionamento Tipo Respondido em 22/05/2019 13:26:58 Explicação: Entidade é um objeto do mundo real concreto ou abstrato como é o caso do BANCO LIBRE 6a Questão A técnica de diagramação no modelo de Entidade - Relacionamento é bem simples. Utiliza basicamente um losango para representar I e um retângulo para representar II. As opções I e II são preenchidas, correta e respectivamente, por atributos - entidades relacionamentos - entidades entidades - relacionamentos entidades - atributos atributos - relacionamentos Respondido em 22/05/2019 13:27:09 Explicação: a representação gráfica de relacionamento no DER é um losango e de entidade um retangulo 1a Questão Um relacionamento com valor mínimo para a cardinalidade igual a um é do tipo: Singular Restrito Opcional Único Obrigatório Respondido em 22/05/2019 13:27:55 Explicação: Quando uma entidade tipo A possui cardinalidade mínima 1 em seu relacionamento com a entidade tipo B isso significa que todas as entidades de A devem obrigatoriamente se relacionar com pelo menos uma entidade de B, ou seja o relacionamento é obrigatório 2a Questão Um atributo para ser identificador dever ser classificado como: Composto e monovalorado Composto e Obrigatório Único e opcional Não único e simples Único e Obrigatório Respondido em 22/05/2019 13:29:13 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 3a Questão Em um Modelo de Entidade e Relacionamento, o ATRIBUTO tem a seguinte função: Identifica unicamente uma entidade e não um relacionamento. É uma propriedade que descreve uma entidade ou um relacionamento. É uma propriedade que descreve somente um relacionamento. É sempre um atributo identificador único (chave primária) para apenas uma tabela. Identifica unicamente um relacionamento e não uma entidade. Respondido em 22/05/2019 13:31:06 Explicação: Os atributos descrevem as caracteristica de uma entidade ou de um relacionamento 4a 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: (0,1) e (1,N) (1,N) e (0,1) (0,N) e (1,1) (1,N) e (0,N) (1,1) e (1,N) Respondido em 22/05/2019 13:31:58 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) 5a 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,1) e (1,N). (0,N) e (0,N). (0,1) e (0,N). (0,N) e (0,1). Respondido em 22/05/2019 13:33:00 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) 6a Questão Uma loja de material esportivo deseja efetuar o cadastro de seus cliente com as seguintes informações Nome, telefones, email. Sendo assim, o ideal é definir o atributo telefones como: Atributo multivalorado. Atributo monovalorado. Atributo obrigatório. Atributo identificador. Atributo composto. Respondido em 22/05/2019 13:33:43 Explicação: Como se deseja armazenar mais de um telefone para cada cliente o correto é modelar o atributo como multivalorado 1a Questão No modelo de banco de dados relacional, os dados são representados por meio de: Ponteiros, que são as chaves primárias e estrangeiras. Tabelas. Matrizes tridimensionais formadas por linhas, colunas e chaves. Vetores de tuplas. Listas encadeadas de tuplas. Respondido em 22/05/2019 13:40:50 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 2a 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. Integridade Conceitual. Dependência Semântica. Dependência Composta. Integridade Referencial. Respondido em 22/05/2019 13:41:45 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. 3a Questão Uma chave estrangeira em um modelo relacional é: O Conjunto de atributos que serão chave primária que organiza e dá acesso a tabela. Ocorre se um atributo de uma relação for atributo em outra relação. Ocorre se um atributo de uma relação for chave primária em outra relação. Ocorre em uma relação de existir mais de uma combinação de atributos possuindo a propriedade de identificação única. Um atributo ou combinação de atributos que possuem a propriedade de identificar de forma única uma linha da tabela. Respondido em 22/05/2019 13:44:11 Explicação: a CHAVE ESTRANGEIRA (FK) materializa os relacionamentos no modelo lógico e consiste em exportar a CHAVE PRIMÁRIA (PK) de uma tabela para outra 4a Questão Uma chave primária em um modelo relacional é quando: Um atributo único que possuem a propriedade de identificar de forma única uma linha da tabela. Um atributo ou combinação de atributos que possuem a propriedade de identificar de forma única uma linha da tabela. Ocorre em uma relação de existir mais de uma combinação de atributos possuindo a propriedade de identificação única. O Conjunto de atributos que serão chave primária, que organiza e dá acesso à tabela.Ocorre um atributo de uma relação se for chave primária em outra relação. Respondido em 22/05/2019 13:46:07 Explicação: a chave primária para poder identificar uma linha da tabela deve obrigatoriamente ter valor, ou seja não pode ser nula, e única, não pode repetir o valor em outra linha 1a Questão Uma chave candidata em um modelo relacional é: Um atributo ou combinação de atributos que possuem a propriedade de identificar de forma única uma linha da tabela. Ocorre em uma relação em que exista mais de uma combinação de atributos possuindo a propriedade de identificação única. Ocorre em uma relação se existir somente uma combinação de atributos possuindo a propriedade de identificação única. Ocorre um atributo de uma relação chave primária em outra relação. O conjunto de atributos, que serão chave primária, que organiza e dá acesso à tabela. Respondido em 22/05/2019 13:49:13 Explicação: A chave candidata é o atributo ou conjunto de atributos de uma tabela que pode vir a constituir sua chave primária. Uma tabela pode ter nenhuma, uma ou várias destas chaves 2a 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 a afirmação III está correta. Somente as afirmações II e III estão corretas Somente as afirmações I e II estão corretas. Somente a afirmação I está correta. Respondido em 22/05/2019 13:49:26 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 3a Questão Uma chave estrangeira em um modelo relacional é: Ocorre se um atributo de uma relação for chave primária em outra relação. O Conjunto de atributos que serão chave primária que organiza e dá acesso a tabela. Ocorre se um atributo de uma relação for atributo em outra relação. Um atributo ou combinação de atributos que possuem a propriedade de identificar de forma única uma linha da tabela. Ocorre em uma relação de existir mais de uma combinação de atributos possuindo a propriedade de identificação única. Respondido em 22/05/2019 13:49:47 Explicação: a CHAVE ESTRANGEIRA (FK) materializa os relacionamentos no modelo lógico e consiste em exportar a CHAVE PRIMÁRIA (PK) de uma tabela para outra 4a Questão Uma chave primária em um modelo relacional é quando: Um atributo ou combinação de atributos que possuem a propriedade de identificar de forma única uma linha da tabela. Um atributo único que possuem a propriedade de identificar de forma única uma linha da tabela. O Conjunto de atributos que serão chave primária, que organiza e dá acesso à tabela. Ocorre um atributo de uma relação se for chave primária em outra relação. Ocorre em uma relação de existir mais de uma combinação de atributos possuindo a propriedade de identificação única. Respondido em 22/05/2019 13:50:09 Explicação: a chave primária para poder identificar uma linha da tabela deve obrigatoriamente ter valor, ou seja não pode ser nula, e única, não pode repetir o valor em outra linha 5a 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? Integridade Referencial. Transitividade Composta. Dependência Composta. Dependência Semântica. Integridade Conceitual. Respondido em 22/05/2019 13:50:29 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. 6a 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. Listas encadeadas de tuplas. Tabelas. Ponteiros, que são as chaves primárias e estrangeiras. Respondido em 22/05/2019 13:50:43 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 1a 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? Dependência Composta. Integridade Conceitual. Dependência Semântica. Transitividade Composta. Integridade Referencial. Respondido em 22/05/2019 15:38:31 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. 2a Questão Uma chave estrangeira em um modelo relacional é: O Conjunto de atributos que serão chave primária que organiza e dá acesso a tabela. Um atributo ou combinação de atributos que possuem a propriedade de identificar de forma única uma linha da tabela. Ocorre em uma relação de existir mais de uma combinação de atributos possuindo a propriedade de identificação única. Ocorre se um atributo de uma relação for atributo em outra relação. Ocorre se um atributo de uma relação for chave primária em outra relação. Respondido em 22/05/2019 15:38:58 Explicação: a CHAVE ESTRANGEIRA (FK) materializa os relacionamentos no modelo lógico e consiste em exportar a CHAVE PRIMÁRIA (PK) de uma tabela para outra 5a Questão Uma chave primária em um modelo relacional é quando: Ocorre um atributo de uma relação se for chave primária em outra relação.Um atributo único que possuem a propriedade de identificar de forma única uma linha da tabela. O Conjunto de atributos que serão chave primária, que organiza e dá acesso à tabela. Um atributo ou combinação de atributos que possuem a propriedade de identificar de forma única uma linha da tabela. Ocorre em uma relação de existir mais de uma combinação de atributos possuindo a propriedade de identificação única. Respondido em 22/05/2019 15:40:52 Explicação: a chave primária para poder identificar uma linha da tabela deve obrigatoriamente ter valor, ou seja não pode ser nula, e única, não pode repetir o valor em outra linha 6a Questão No modelo de banco de dados relacional, os dados são representados por meio de: Vetores de tuplas. Matrizes tridimensionais formadas por linhas, colunas e chaves. Ponteiros, que são as chaves primárias e estrangeiras. Listas encadeadas de tuplas. Tabelas. Respondido em 22/05/2019 15:41:12 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 1a Questão Dois comandos básicos da SQL pertencentes à classe de linguagem de manipulação dos dados(DML), são: drop e delete update e drop alter e delete alter e drop update e delete Respondido em 22/05/2019 14:05:11 Explicação: os comandos de DML são INSERT, UPDATE E DELETE 2a 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 a tabela pessoa na forma descrita e com os campos preenchidos; Cria a tabela pessoa com 3 campos; Cria um identificador (ID_PESSOAS) que é a chave primária; Cria a tabela pessoa com 2 campos; Mostra a tabela tbPessoa. Respondido em 22/05/2019 14:07:46 Explicação: o COMANDO CREATE TABLE cria uma tabela 3a 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 SCHEMA ADD TABLE PRODUTO CREATE PRODUTO : TABLE CREATE PRODUTO AS TABLE ALTER TABLE PRODUTO CREATE TABLE PRODUTO Respondido em 22/05/2019 14:12:32 Explicação: A SOLUÇÃO SERIA CRIAR A TABELA PRODUTO COM O COMANDO CREATE TABLE 4a Questão Um DBA criou uma tabela em um Banco de Dados no postgreSQL utilizando o comando CREATE TABLE mec ( cidade varchar(80), temp_baixa int, temp_alta int, nivel_precip real, data date ) Para o comando que insere dados na tabela mec, é usada a seguinte sintaxe: INSERT IN mec(cidade, temp_baixa, temp_alta, nível_precip, data) VALUES ('Brasilia', 20, 34, 0.2, `2009-01-13'); INSERT FROM mec(cidade, temp_baixa, temp_alta, nível_precip, data) VALUES ('Brasilia', 20, 34, 0.2, `2009-01-13'); INSERT ON mec(cidade, temp_baixa, temp_alta, nível_precip, data) VALUES ('Brasilia', 20, 34, 0.2, `2009-01-13'); INSERT INTO mec(cidade, temp_baixa, temp_alta, nível_precip, data) VALUES ('Brasilia', 20, 34, 0.2, `2009-01-13'); INSERT OVER mec(cidade, temp_baixa, temp_alta, nível_precip, data) VALUES ('Brasilia', 20, 34, 0.2, `2009-01-13'); Respondido em 22/05/2019 14:15:50 Explicação: O Comando de INSERT tem como sintaxe INSERT INTO tabela VALUES (valores) 5a 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 22/05/2019 14:17:55 Explicação: o comando que atualiza os dados é o de update 6a Questão Na linguagem SQL a Linguagem de Definição de Dados fornece tabelas para criação e modificação de comandos. a Linguagem de Manipulação de Dados compreende os comandos para inserir, remover e modificar informações em um banco de dados. os comandos básicos da Linguagem de Definição de Dados são Sort, Insert, Undo e Store. a Linguagem de Manipulação de Relacionamentos compreende os comandos para construir tabelas em um banco de dados. os comandos básicos da Linguagem de Definição de Dados são Select, Insert, Update e Delete. Respondido em 22/05/2019 14:19:11 Explicação: DDL (Linguagem de Definição de Dados): Permitem a criação e definição de objetos como tabelas, views e outros objetos no banco de dados (ex: Create, Alter, Drop, Rename, Truncate) DRL (Linguagem de Recuperação de Dados): É o comando mais comum do SQL. Utilizado amplamente para recuperação dos dados de uma base. (Ex: select) DML (Linguagem de Manipulação de Dados): Comandos de manipulação dos dados. Usados nas aplicações que mantém a base de informações com inserções, atualizações e deleções de dados. (Ex: Insert, Delete, Update) DCL (Linguagem de Controle de Dados): São utilizados para atribuir ou remover direitos de acesso a objetos do banco de ados e suas estruturas. (Ex: Grant, Revoke) 1a Questão Dois comandos básicos da SQL pertencentes à classe de linguagem de manipulação dos dados(DML), são: update e delete alter e drop alter e delete update e drop drop e delete Respondido em 22/05/2019 14:21:08 Explicação: os comandos de DML são INSERT, UPDATE E DELETE 2a 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 a tabela pessoa com 2 campos; Cria a tabela pessoa com 3 campos; Cria a tabela pessoa na forma descrita e com os campos preenchidos; Mostra a tabela tbPessoa. Cria um identificador (ID_PESSOAS) que é a chave primária; Respondido em 22/05/2019 14:21:31 Explicação: o COMANDO CREATE TABLE cria uma tabela 3a 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 PRODUTOCREATE PRODUTO AS TABLE ALTER SCHEMA ADD TABLE PRODUTO CREATE PRODUTO : TABLE CREATE TABLE PRODUTO Respondido em 22/05/2019 14:22:07 Explicação: A SOLUÇÃO SERIA CRIAR A TABELA PRODUTO COM O COMANDO CREATE TABLE 4a Questão Um DBA criou uma tabela em um Banco de Dados no postgreSQL utilizando o comando CREATE TABLE mec ( cidade varchar(80), temp_baixa int, temp_alta int, nivel_precip real, data date ) Para o comando que insere dados na tabela mec, é usada a seguinte sintaxe: INSERT OVER mec(cidade, temp_baixa, temp_alta, nível_precip, data) VALUES ('Brasilia', 20, 34, 0.2, `2009-01-13'); INSERT ON mec(cidade, temp_baixa, temp_alta, nível_precip, data) VALUES ('Brasilia', 20, 34, 0.2, `2009-01-13'); INSERT INTO mec(cidade, temp_baixa, temp_alta, nível_precip, data) VALUES ('Brasilia', 20, 34, 0.2, `2009-01-13'); INSERT FROM mec(cidade, temp_baixa, temp_alta, nível_precip, data) VALUES ('Brasilia', 20, 34, 0.2, `2009-01-13'); INSERT IN mec(cidade, temp_baixa, temp_alta, nível_precip, data) VALUES ('Brasilia', 20, 34, 0.2, `2009-01-13'); Respondido em 22/05/2019 14:22:20 Explicação: O Comando de INSERT tem como sintaxe INSERT INTO tabela VALUES (valores) 5a 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 22/05/2019 14:22:32 Explicação: o comando que atualiza os dados é o de update 6a Questão Na linguagem SQL a Linguagem de Definição de Dados fornece tabelas para criação e modificação de comandos. a Linguagem de Manipulação de Dados compreende os comandos para inserir, remover e modificar informações em um banco de dados. os comandos básicos da Linguagem de Definição de Dados são Select, Insert, Update e Delete. os comandos básicos da Linguagem de Definição de Dados são Sort, Insert, Undo e Store. a Linguagem de Manipulação de Relacionamentos compreende os comandos para construir tabelas em um banco de dados. Respondido em 22/05/2019 14:22:45 Explicação: DDL (Linguagem de Definição de Dados): Permitem a criação e definição de objetos como tabelas, views e outros objetos no banco de dados (ex: Create, Alter, Drop, Rename, Truncate) DRL (Linguagem de Recuperação de Dados): É o comando mais comum do SQL. Utilizado amplamente para recuperação dos dados de uma base. (Ex: select) DML (Linguagem de Manipulação de Dados): Comandos de manipulação dos dados. Usados nas aplicações que mantém a base de informações com inserções, atualizações e deleções de dados. (Ex: Insert, Delete, Update) DCL (Linguagem de Controle de Dados): São utilizados para atribuir ou remover direitos de acesso a objetos do banco de ados e suas estruturas. (Ex: Grant, Revoke) 1a 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; 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 OR SALARIO BETWEEN 1000 AND 2000; Respondido em 22/05/2019 14:27:24 Explicação: O comando deve ter o between para definir a faixa dos salarios e o operador AND para ligar as duas condições 2a Questão Assinale a alternativas que selecione somente a coluna nome de todos os produtos utilizando uma cláusula que pode ser usada em um comando SELECT da linguagem SQL: SELECT nome, qtde FROM produto; SELECT produto FROM nome SELECT nome FROM produto; SELECT * FROM produto; SELECT qtde FROM produto; Respondido em 22/05/2019 14:29:32 Explicação: Para selecionar somente uma coluna de uma tabela, apenas indique o nome da coluna e utiliza o comando Select nome_coluna FROM Tb_tabela; 3a 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 um comando SQL que consulte todos os dados de capturas e de tubarões cujas datas sejam posteriores a 2009, o comprimento seja a partir de 4 metros e o sexo seja masculino (M). SELECT * FROM CAPTURA C, TUBARAO T ON C.IDTUBARAO = T.IDTUBARAO AND DATA > '31/12/2009' AND COMPRIMENTO >= 4 AND SEXO = 'M'; SELECT * FROM CAPTURA C, TUBARAO T WHERE C.IDTUBARAO = T.IDTUBARAO AND DATA >= '31/12/2009' AND COMPRIMENTO > 4 AND SEXO = "M"; SELECT * FROM CAPTURA C, TUBARAO T ON C.IDTUBARAO = T.IDTUBARAO AND DATA > '31/12/2009' AND COMPRIMENTO > 4 AND SEXO = 'M'; SELECT * FROM CAPTURA, TUBARAO WHERE DATA > '31/12/2009' AND COMPRIMENTO >= 4 AND SEXO = "M"; SELECT * FROM CAPTURA C, TUBARAO T WHERE C.IDTUBARAO = T.IDTUBARAO AND DATA > '31/12/2009' AND COMPRIMENTO >= 4 AND SEXO = 'M'; Respondido em 22/05/2019 14:31:46 Explicação: o comando exige o uso de tres condições ligadas por dois operadores AND 4a 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 '%Morais' Select * From Cliente Where nome like '%M%' Select * From Cliente Where nome like '%M' Respondido em 22/05/2019 14:33:30 Explicação: É necessario o uso do like com o caracter curinga % 5a Questão Assinale a alternativa que Selecione todos os pedidos para o cliente cujo código seja = 150 e cujo valor total seja maior que 500. Select * FROM pedido Where cliente_id= 150 OR pedido_valor_total < 500; Select * FROM pedido Where cliente_id= 150 AND pedido_valor_total = 500; Select * FROM pedido Where cliente_id= 150 AND pedido_valor_total> 500; Select * FROM pedido Where cliente_id= 150; Select * FROM pedido Where pedido_valor_total > 500; Respondido em 22/05/2019 14:35:07 Explicação: Como temos duas condições devemos utilizar um operador lógico 6a 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 = 50 AND 75; SELECT * FROM Cliente Where cliente_id NOT BETWEEN 50 OR 75; SELECT * FROM Cliente Where cliente_id NOT BETWEEN 50 AND 75; SELECT * FROM Cliente Where cliente_id >= 50 AND cliente_id <=75; SELECT * FROM Cliente Where cliente_id BETWEEN 50 AND 75; Respondido em 22/05/2019 14:35:52 Explicação: É necessario utilizar not between para filtrar as linhas que estão fora da faixa 1a 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, max(tipo) FROM carro GROUP BY tipo; SELECT tipo, sum(tipo) FROM carro GROUP BY sum(tipo); SELECT tipo, count(*) FROM carro; SELECT tipo, count(*) FROM carro GROUP BY tipo; SELECT tipo, sum(tipo) FROM carro GROUP BY tipo; Respondido em 22/05/2019 14:51:22 Explicação: Para a correta execução temos que contar utilizando count e agrupar utilizando Group By 2a Questão Em um modelo de dados que descreve a publicação acadêmica de pesquisadores de diferentes instituições em eventos acadêmicos, considere as tabelas abaixo. DEPARTAMENTO (CodDepartamento, NomeDepartamento) EMPREGADO (CodEmpregado, NomeEmpregado, CodDepartamento, Salario) Na linguagem SQL, o comando mais simples para recuperar os códigos dos departamentos cuja média salarial seja maior que 2000 é SELECT CodDepartamento, AVG (Salario) > 2000 FROM EMPREGADO GROUP BY CodDepartamento SELECT CodDepartamento FROM EMPREGADO WHERE AVG (Salario) > 2000 GROUP BY CodDepartamento SELECT CodDepartamento FROM EMPREGADO GROUP BY CodDepartamento HAVING AVG (Salario) > 2000 SELECT CodDepartamento FROM EMPREGADO GROUP BY CodDepartamento ORDER BY AVG (Salario) > 2000 SELECT CodDepartamento FROM EMPREGADO WHERE AVG (Salario) > 2000 Respondido em 22/05/2019 14:53:04 Explicação: Como temos que filtrar os grupo devemos utilizar a clausula HAVING 3a Questão O retorno do valor médio de uma coluna contendo diversos números é possibilitado pela expressão SQL SELECT AVG(column_name) FROM table_name SELECT FROM table_name AVG(column_name) SELECT column_name (AVG) FROM table_name SELECT AVG OF column_name FROM table_name SELECT column_name FROM table_name SETTING AVG Respondido em 22/05/2019 14:54:26 Explicação: A função AVG(X) retorna o valor médio da coluna x, ignorando os valores nulos. 4a Questão Considere a seguinte representação de uma tabela de um banco de dados relacional: Estoque (id, Item, Quantidade, Categoria) O comando SQL para se obter a soma dos valores do atributo Quantidade, agrupada por Categoria, apenas para as Categorias com Quantidade total superior a 50 unidades, é: SELECT GROUP (Categoria), SUM (Quantidade) FROM Estoque WHERE Quantidade > 50 SELECT Categoria, SUM(Quantidade) FROM Estoque WHERE GROUP BY Categoria HAVING SUM(Quantidade) > 50 SELECT GROUP (Categoria), COUNT (Quantidade) FROM Estoque WHERE Quantidade > 50 SELECT Categoria, Quantidade FROM Estoque WHERE Quantidade > 50 GROUP BY Categoria SELECT Categoria, SUM (*) FROM Estoque GROUP BY Categoria HAVING SUM (*) > 50 Respondido em 22/05/2019 15:01:48 Explicação: Como é necessario filtrar os grupos temos que usar a clausula HAVING 5a 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 é: listar a coluna SALARIO da tabela FUNC; listar a coluna NOME da tabela FUNC; só considerar os registros que apresentem o atributo COD_DEPTO não nulo; só considerar os registros que apresentem o atributo SALARIO maior que 900; apresentar o resultado em ordem alfabética. Respondido em 22/05/2019 15:03:12 Explicação: Como a ordenação foi realizada por uma coluna numerica não apresentara a ordem alfabetica crescente no resultado 6a 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, 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; SELECT * FROM AREA A, LOCAL L WHERE A.CODAREA = L.CODAREA ORDER NOMELOCAL ASC; 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; Respondido em 22/05/2019 15:06:08 Explicação: PARA ORDENARMOS DE FORMA DESCRECENTE PRECISAMOS UTILIZAR ORDER BY DESC 1a 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 das filiais e a quantidade de funcionários que cada filial possui, mostre somente filiais com mais de 10 funcionários? SELECT fi.nome Filial, count(*) Quantidade FROM filial fi RIGHT JOIN funcionário fu ON fi.idfilial=fu.idfilial GROUP BY Filial HAVING count(*) > 10; SELECT fi.nome Filial, count(*) Quantidade FROM filial fi INNER JOIN funcionário fu ON fi.idfilial=fu.idfilial GROUP BY Filial HAVING count(*) > 10; SELECT fi.nome Filial, count(*) Quantidade FROM filial fi INNER JOIN funcionário fu ON fi.idfilial=fu.idfilial; SELECT fi.nome Filial, count(*) Quantidade FROM filial fi LEFT JOIN funcionário fu ON fi.idfilial=fu.idfilial GROUP BY Filial HAVING count(*) > 10; SELECT fi.nome Filial, count(*) Quantidade FROM filial fi, funcionário fu ON fi.idfilial=fu.idfilial GROUP BY Filial HAVING count(*) > 10; Respondido em 22/05/2019 15:09:48 Explicação: O comandopara produzir o resultado deve fazer uma junção interior, usando portanto INNER JOIN 2a 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, os códigos dos carros que o cliente alugou e o valor de cada aluguel? SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a RIGHT JOIN cliente c where a.idcliente=c.idcliente SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a, cliente c ON a.idcliente=c.idcliente SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a INNER JOIN cliente c SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a, cliente c where a.idcliente=c.idcliente SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a LEFT JOIN cliente c where a.idcliente=c.idcliente Respondido em 22/05/2019 15:12:58 Explicação: O comando exije uma junção interior, no caso foi escrita na sintaxe tradicional 3a 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 LEFT 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 INNER JOIN cliente_especial ce ON c.idcliente=ce.idcliente Respondido em 22/05/2019 15:14:27 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. 4a 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 NATURAL JOIN TUBARAO T ON E.IDESPECIE = T.IDESPECIE; SELECT NOME_CIENTIFICO, SEXO FROM ESPECIE JOIN TUBARAO; SELECT NOME_CIENTIFICO, SEXO FROM ESPECIE E, TUBARAO T; SELECT NOME_CIENTIFICO, SEXO FROM ESPECIE E INNER JOIN TUBARAO T ON E.IDESPECIE = T.IDESPECIE; SELECT NOME_CIENTIFICO, SEXO FROM ESPECIE E CROSS JOIN TUBARAO T ON E.IDESPECIE = T.IDESPECIE; Respondido em 22/05/2019 15:16:12 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. 5a 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, cliente c ON a.idcliente=c.idcliente 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 INNER 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 Respondido em 22/05/2019 15:18:47 Explicação: Como precisamos obter os não relacionados necessitamos fazer uma junção exterior 6a Questão Analise o modelo a seguir: Empregado (nome_empregado, rua,cidade) Trabalha (nome_empregado,nome_companhia,salario) Companhia (nome_companhia,cidade) Qual é a consulta em SQL para encontrar nome, endereço e cidade de residência de todos os empregados da XXX que ganham mais de dez mil reais? SELECT e.nome_empregado, rua, cidade FROM empregado e, trabalha t ON e.nome_empregado = t.nome_empregado WHERE t.nome_companhia = 'XXX' AND t.salario > 10000; SELECT e.nome_empregado, rua, cidade FROM empregado e LEFT JOIN trabalha t ON e.nome_empregado = t.nome_empregado WHERE t.nome_companhia = 'XXX' AND t.salario > 10000; SELECT e.nome_empregado, rua, cidade FROM empregado e WHERE t.nome_companhia = 'XXX' AND t.salario > 10000; SELECT e.nome_empregado, rua, cidade FROM empregado e INNER JOIN trabalha t ON e.nome_empregado = t.nome_empregado WHERE t.nome_companhia = 'XXX' AND t.salario > 10000; SELECT e.nome_empregado, rua, cidade FROM empregado e WHERE t.nome_companhia = 'XXX' AND t.salario < 10000; Respondido em 22/05/2019 15:20:38 Explicação: Temos que fazer uma junção interior portanto utilizamos inner join 1a 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 nome do Funcionário que tem o maior salário? SELECT nome FROM funcionario fu where salario = Max(salario); SELECT nome, Max(salario) FROM funcionario fu group by nome; SELECT nome FROM funcionario fu where salario = (select sum(salario) from funcionario); SELECT nome FROM funcionario fu where salario = (select Max(salario) from funcionario); SELECT nome, Max(salario) FROM funcionario; Respondido em 22/05/2019 15:21:53 Explicação: Inicialmente utiliza-se uma subconsulta para obter o maior salario e a seguir o seu retorno para filtrar as linhas na consulta principal 2a Questão Dada a instrução SQL: SELECT * FROM FUNCIONARIO WHERE salario > (SELECT AVG(salario) FROM FUNCIONARIO ); É correto afirmar que serão selecionados todos os registrosda tabela FUNCIONARIO cujo conteúdo do campo "salario" seja maior que o número de vendedores cadastrados. se trata de um exemplo de INNER JOIN. serão selecionados todos os registros da tabela FUNCIONARIO cujo conteúdo do campo "salario" seja maior que a média dos salários de todos os vendedores. serão selecionados todos os registros da tabela FUNCIONARIO cujo conteúdo do campo "salario" seja maior que a soma dos salários de todos os vendedores se trata de um exemplo de OUTER JOIN. Respondido em 22/05/2019 15:23:18 Explicação: O comando não realiza uma junção, ele utiliza uma subconsulta para obter a media salarial dos empregados e a seguir filtrar os dados da consulta principal 3a 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 WHERE idCli IN (SELECT idCli FROM PEDIDO) SELECT NomeCli FROM CLIENTE C RIGHT JOIN PEDIDO P ON C.idCli = P.idCli SELECT NomeCli FROM CLIENTE C LEFT JOIN PEDIDO P ON C.idCli = P.idCli SELECT * FROM CLIENTE WHERE idCli NOT IN (SELECT idCli FROM PEDIDO) SELECT * FROM CLIENTE Respondido em 22/05/2019 15:28:13 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 4a Questão Considere as seguintes tabelas de um banco de dados: 1) Fornecedor (cod_fornec, nome_fornec, telefone, cidade, UF) 2) Estado (UF, nome_estado) A expressão SQL que obtém os nomes dos estados para os quais não há fornecedores cadastrados e: SELECT E.nome_estado FROM Estado AS E WHERE E.UF IN (SELECT F.UF FROM Fornecedor AS F); SELECT E.nome_estado FROM Estado AS E WHERE E.UF NOT IN (SELECT F.UF FROM Fornecedor AS F); SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor AS F WHERE E.nome_estado = F.UF; SELECT E.UF FROM Estado AS E WHERE E.nome_estado NOT IN (SELECT F.UF FROM Fornecedor AS F); SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor AS F WHERE E.UF = F.UF; Respondido em 22/05/2019 15:29:41 Explicação: A subconsulta obtem os estados dos fornecedores e a seguir a consulta principal verifica os estados que não aparecem no conjunto retornado 5a 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 22/05/2019 15:30:51 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 6a 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 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 ID_TIPO IS NULL AND P.VALOR=0 AND TP.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%'; Respondido em 22/05/2019 15:32:49 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 1a 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 nome do Funcionário que tem o maior salário? SELECT nome FROM funcionario fu where salario = Max(salario); SELECT nome FROM funcionario fu where salario = (select Max(salario) from funcionario); SELECT nome FROM funcionario fu where salario = (select sum(salario) from funcionario); SELECT nome, Max(salario) FROM funcionario fu group by nome; SELECT nome, Max(salario) FROM funcionario; Respondido em 22/05/2019 15:34:31 Explicação: Inicialmente utiliza-se uma subconsulta para obter o maior salario e a seguir o seu retorno para filtrar as linhas na consulta principal 2a Questão Dada a instrução SQL: SELECT * FROM FUNCIONARIO WHERE salario > (SELECT AVG(salario) FROM FUNCIONARIO ); É correto afirmar que serão selecionados todos os registros da tabela FUNCIONARIO cujo conteúdo do campo "salario" seja maior que a média dos salários de todos os vendedores. serão selecionados todos os registros da tabela FUNCIONARIO cujo conteúdo do campo "salario" seja maior que o número de vendedores cadastrados. se trata de um exemplo de INNER JOIN. se trata de um exemplo de OUTER JOIN. serão selecionados todos os registros da tabela FUNCIONARIO cujo conteúdo do campo "salario" seja maior que a soma dos salários de todos os vendedores Respondido em 22/05/2019 15:34:45 Explicação: O comando não realiza uma junção, ele utiliza uma subconsulta para obter a media salarial dos empregados e a seguir filtrar os dados da consulta principal 3a 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 WHERE idCli NOT IN (SELECT idCli FROM PEDIDO) SELECT * FROM CLIENTE SELECT NomeCli FROM CLIENTE C RIGHT JOIN PEDIDO P ON C.idCli = P.idCli SELECT * FROM CLIENTE WHERE idCli IN (SELECT idCli FROM PEDIDO) SELECT NomeCliFROM CLIENTE C LEFT JOIN PEDIDO P ON C.idCli = P.idCli Respondido em 22/05/2019 15:35:05 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 4a Questão Considere as seguintes tabelas de um banco de dados: 1) Fornecedor (cod_fornec, nome_fornec, telefone, cidade, UF) 2) Estado (UF, nome_estado) A expressão SQL que obtém os nomes dos estados para os quais não há fornecedores cadastrados e: SELECT E.nome_estado FROM Estado AS E WHERE E.UF IN (SELECT F.UF FROM Fornecedor AS F); SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor AS F WHERE E.UF = F.UF; SELECT E.nome_estado FROM Estado AS E WHERE E.UF NOT IN (SELECT F.UF FROM Fornecedor AS F); SELECT E.UF FROM Estado AS E WHERE E.nome_estado NOT IN (SELECT F.UF FROM Fornecedor AS F); SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor AS F WHERE E.nome_estado = F.UF; Respondido em 22/05/2019 15:36:33 Explicação: A subconsulta obtem os estados dos fornecedores e a seguir a consulta principal verifica os estados que não aparecem no conjunto retornado 5a 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 = (select Max(valor) from aluguel); SELECT idCarro FROM aluguel a where valor = (select sum(valor) from aluguel); SELECT idCarro, Max(valor) FROM aluguel a group by idcarro; SELECT idCarro, Max(valor) FROM aluguel; SELECT idCarro FROM aluguel a where valor = Max(valor); Respondido em 22/05/2019 15:37:17 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 6a 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 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%'; 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 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%'; Respondido em 22/05/2019 15:37:37 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 1a 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 nome do Funcionário que tem o maior salário? SELECT nome, Max(salario) FROM funcionario; SELECT nome FROM funcionario fu where salario = (select sum(salario) from funcionario); SELECT nome FROM funcionario fu where salario = Max(salario); SELECT nome FROM funcionario fu where salario = (select Max(salario) from funcionario); SELECT nome, Max(salario) FROM funcionario fu group by nome; Respondido em 22/05/2019 15:42:00 Explicação: Inicialmente utiliza-se uma subconsulta para obter o maior salario e a seguir o seu retorno para filtrar as linhas na consulta principal 2a Questão Dada a instrução SQL: SELECT * FROM FUNCIONARIO WHERE salario > (SELECT AVG(salario) FROM FUNCIONARIO ); É correto afirmar que se trata de um exemplo de INNER JOIN. serão selecionados todos os registros da tabela FUNCIONARIO cujo conteúdo do campo "salario" seja maior que a soma dos salários de todos os vendedores serão selecionados todos os registros da tabela FUNCIONARIO cujo conteúdo do campo "salario" seja maior que o número de vendedores cadastrados. serão selecionados todos os registros da tabela FUNCIONARIO cujo conteúdo do campo "salario" seja maior que a média dos salários de todos os vendedores. se trata de um exemplo de OUTER JOIN. Respondido em 22/05/2019 15:42:20 Explicação: O comando não realiza uma junção, ele utiliza uma subconsulta para obter a media salarial dos empregados e a seguir filtrar os dados da consulta principal 3a 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 NomeCli FROM CLIENTE C LEFT JOIN PEDIDO P ON C.idCli = P.idCli SELECT * FROM CLIENTE WHERE idCli IN (SELECT idCli FROM PEDIDO) SELECT * FROM CLIENTE WHERE idCli NOT IN (SELECT idCli FROM PEDIDO) SELECT * FROM CLIENTE SELECT NomeCli FROM CLIENTE C RIGHT JOIN PEDIDO P ON C.idCli = P.idCli Respondido em 22/05/2019 15:42:37 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 4a Questão Considere as seguintes tabelas de um banco de dados: 1) Fornecedor (cod_fornec, nome_fornec, telefone, cidade, UF) 2) Estado (UF, nome_estado) A expressão SQL que obtém os nomes dos estados para os quais não há fornecedores cadastrados e: SELECT E.nome_estado FROM Estado AS E WHERE E.UF NOT IN (SELECT F.UF FROM Fornecedor AS F); SELECT E.nome_estado FROM Estado AS E WHERE E.UF IN (SELECT F.UF FROM Fornecedor AS F); SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor AS F WHERE E.UF = F.UF; SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor AS F WHERE E.nome_estado = F.UF; SELECT E.UF FROM Estado AS E WHERE E.nome_estado NOT IN (SELECT F.UF FROM Fornecedor AS F); Respondido em 22/05/2019 15:42:54 Explicação: A subconsulta obtem os estados dos fornecedores e a seguir a consulta principal verifica os estados que não aparecem no conjunto retornado 5a Questão