Baixe o app para aproveitar ainda mais
Prévia do material em texto
DISERTATIVAS P). Em um cadastro de produto, compõe-se uma tabela de para “produto” e outra para “tipo de produto”, conforme o diagrama a seguir: Existem produtos cadastrados sem nenhum tipo associado. Sabendo que existe um relacionamento de 1-N entre tipo de produto e produto, como poderíamos identificar esses tipos? select nome_produto, nome_tipo from produto left join tipo_de_produto on produto.cod_tipo = tipo_de_produto.cod_tipo P). Sobre as funções básicas de um banco de dados, sabemos que os métodos de acesso são um aspecto essencial. Com relação aos métodos de acesso, sabemos que ao menos duas categorias de linguagem devem estar presentes em um sistema de gerenciamento de banco de dados (SGBD). Dia quais são essas duas categorias e explique brevemente o seu uso. DDL: permite a especificação do esquema da organização, ou seja, entidades com seus atributos e tipos de dados associados, os relacionamentos entre essas entidades e os índices de acesso associados aos atributos. DML: permite as operações de manipulação de dados, executadas pelas aplicações inclusão, alteração, exclusão e consulta. P). Dadas as tabelas abaixo, escreva o comando para retornar o nome dos alunos e seus respectivos professores. SELECT A.NOME, P.NOME FROM ALUNO A LEFT JOIN ALUNO_PROFESSOR AL ON AL.RA = A.RA LEFT JOIN PROFESSOR P ON P.FUNCIONAL = AL.FUNCIONAL; P). Dado o diagrama abaixo, qual seria o seu tipo de cardinalidade no MER? Justifique sua resposta. Cardinalidade muitos-para-muitos (N:N). Podemos observar pela tabela intermediaria ALUNO_PROFESSOR que foi gerada para efetuar a relação entre as tabelas ALUNO e PROFESSOR. P). Dado o modelo de dados a seguir. Responda: Como deve ser escrito o comando “SELECT” para que retorne os dados no formato a seguir? select cod_produto, cod_fornecedor, cod_tipo, nome_produto from produto join tipo_produto on produto.cod_cod_tipo = tipo_produto.cod_tipo join fornecedor on produto.cod_fornecedor = fornecedor.cod_fornecedor join nota on produto.cod_produto = nota.cod_produto order by cod_produto asc, cod_fornecedor asc, cod_tipo asc; P). Supondo que estamos diante de uma tabela X com 4 colunas, qual a diferença entre os comandos abaixo: Comando 1: SELECT * FROM tabela_x Comando2: SELECT coluna_1, coluna_2, coluna_3, coluna_4 FROM tabela_x Apesar da escrita diferente, ambos retornam o mesmo resultado, apenas que o comando 2 seleciona a ordem das colunas. P). Considere um banco de dados que contenha uma tabela chamada ALUNO, que contenha 5 campos, da seguinte forma: um campo chamado RA, que é uma cadeia de 7 caracteres e não pode ser nulo; o campo NOME, com 100 caracteres e também não pode ser nulo; e os campos NOTAP1, NOTAP2 e MEDIA que devem ser números reais. Qual é o comando para se inserir o seguinte registro: RA igual a 123, o nome deve ser Maria, a nota da prova P1 deve ser 8 e a nota da prova P2 deve ser 9? INSERT INTO ALUNO (RA, NOME, NOTAP1, NOTAP2) VALUES (‘123’, ‘Maria’, 8, 9); P). Dada a tabela abaixo, escreva o comendo para excluir todos os alunos que tenham o nome começado com a letra L. DELETE FROM ALUNO WHERE NOME LIKE ‘L%’; P). Dado o comando abaixo, indique o que esta errado. INSERT INTO TABELA (CAMPO1, CAMPO2) VALUES (VALOR1, VALOR2) WHERE CAMPO1 = 100 Não se utiliza WHERE em comandos INSERT. P). Dada a tabela abaixo, escreva o comando que retorna todos os dados ordenados em ordem alfabética. SELECT * FROM ALUNO ORDER BY NOME ASC; P). Considere o comando “SELECT” da linguagem SQL. Suponha ainda uma tabela chamada ALUNO. O que ocorre quando fazemos o comando: SELECT * FROM ALUNO? É exibido todos os campos da tabela aluno. P). Considere um banco de dados que contenha ta tabela ALUNO, que contenha 5 campos da seguinte forma: um campo chamado RA, que é uma cadeia de 7 caracteres e nãop ode ser nulo; op campo NOME com 100 caracteres e também não pode ser nulo; e os campos NOTAP1, NOTAP2 e MEDIA, que devem ser números reais. Com base nesse banco e nessa tabela, escreva um comando que calcule a media e insira o seu valor no banco de dados, para cada um dos alunos cadastrados na tabela. Depois escreva um comando que selecione todos os registros das colunas NOME e MEDIA da tabela ALUNO, mostrando que os valores foram calculados corretamente, UPDATE ALUNO SET MEDIA = (NOTAP1+NOTAP2)/2; SELECT NOME, MEDIA FROM ALUNO; P). O que pode ser considerado como “entregável” em um projeto de banco de dados? XXXXXXXXXXX MUTIPLA ESCOLHA P) O comando correto para criar a tabela a seguir é: TABELA_X CAMPO_1 CAMPO_2 CREATE DATABASE TABELA_X USE TABELA_X DROP TABLE TABELXA_X CREATE TABLE TABELA_X { CAMPO_1 CHAR(1), CAMPO_2 CHAR(2) } TRUNCATE TABLE TABELA_X P) Uma relação está na terceira forma normal quando: Os dados estão desmoralizados Que não existem atributos que dependam de outros atributos que não sejam a chave. Que todos os dados estão no mesmo nível atômico. Que todos os dados dependem unicamente da chave completa Que nenhum atributo depende da chave, seja ela completa, seja ela parcial. P) Consideremos uma tabela de produto e que um produto duplicado foi inserido nela. Após levantamento, constatou-se que o produto errado é o de código X. Para remover esse dado devemos: Fazer um SELECT em PRODUTO usando WHERE COD_PRODUTO = X Fazer um DELETE em PRODUTO usando WHERE COD_PRODUTO = X Fazer um DELETE em PRODUTO sem WHERE Fazer um UPDATE em PRODUTO usando WHERE COD_PRODUTO = X Fazer um INSERT em PRODUTO usando WHERE COD_PROTUDO = X P) Um projeto de banco de dados possui determinadas etapas para ser implementado Assinale a alternativa que corresponda a tais etapas. Modelo físico, Modelo Conceitual, Modelo Lógico e Levantamento. Levantamento, Modelo Conceitual, Modelo Físico e Modelo Lógico. Levantamento, Modelo Conceitual, Modelo Lógico e Modelo Físico. Levantamento, Modelo Lógico, Modelo Físico e Modelo Conceitual. Modelo Lógico, Modelo Físico, Modelo Conceitual, Levantamento P) Analise a tabela a seguir Com base no esquema exposto, assinale a alternativa correta. São derivados de um relacionamento de cardinalidade N – N no MER. São derivados de um relacionamento de cardinalidade 1 – N no MER São derivados de um relacionamento de cardinalidade 1 – 1 no MER São derivados de um relacionamento de cardinalidade 0 – 1 no MER São derivados de um relacionamento de cardinalidade 0 – N no MER P) A cláusula WHERE pode ser usada junto a alguns comandos SQL. Quais são eles? INSERT, DELETE, UPDATE CREATE ALTER e DROP SELECT, INSERT e DELETE SELECT, DELETE e UPDATE TUNCATE, DELETE e UPDATE P) Considerando que em uma determinada empresa há funcionários que ganham de R$1.000.00 a R$20.000,00, o comando a seguir retornara? SELECT * FROM FUNCIONARIOS WHERE SALARIO >= 10.000.00 Todos os funcionários com salário maior que 10.000.00 Todos os funcionários com salário menor que 10.000.00 Todos os funcionários com salário igual a 10.000.00 Todos os funcionários com salário maior ou igual a 10.000.00 Nenhum funcionário P) Dado o comando a seguir, qual será o resultado? DELETE FROM TABELA WHERE CAMPO = ‘X’ Todos os registros da tabela serão eliminados. Todos os registros da tabela serão atualizados Apenas será eliminado o registro em que o CAMPO for igual a X Apenas será atualizado o registro em que CAMPO for igual a X Apenas será selecionado o registro em que o CAMPO for igual a X. P) Para excluir uma coluna de uma tabela, utilizamos o comando: DROP TABLE CREATE TABLE DROP COLUM ALTER TABLE DROP COLUMN ALTER TABLE P) Em um modelo Entidade Relacionamento (MER), as entidades, os atributos e as relação são identificadas, respectivamente por: Retângulo, elipse e losango Elipse, losango e retângulo. Losango, retângulo e elipse Retângulo, losango e elipse Losango, elipse e retângulo. P) Todos os bancos de dados possuem um banco de dados interno quearmazena as suas informações. A esses dados armazenados damos o nome de: Hyperdados Megadados Superdados Metadados Ultradados P) Analise o comando a seguir: SELECT * FROM TABELA WHERE CAMPO_1 = 10 OR CAMPO_2 = 20. De acordo com o esquema exposto, assinale a alternativa correta A consulta só retornará os dados se as duas condições forem verdadeiras A consulta só retornará os dados se nenhuma das duas condições forem verdadeiras A consulta só retornara os dados se a primeira das duas condições for verdadeira. A consulta só retornara dados se a segunda das duas condições for verdadeira A consulta retornara os dados se qualquer uma das condições forem verdadeiras. P) Considere a tabela e o comando a seguir: INSERT INTO TELEFONE (TELEFONE, DDD, OPERADORA) VALUES (“11”, “987654321”, “XX”) Qual será o problema com o comando em questão Não dará erro Porque estou gravando um número no lugar de um texto. Porque a ordem dos valores está diferente da ordem dos campos. Porque 987654321 não é um número valido. Porque a XX não é uma operadora válida. P) O SQLite, apesar de ser um banco de dados relacional, não pode ser implementado em arquitetura cliente-servidor como o SQL Server ou o Oracle. Por que? Não é robusto o suficiente Possui limitações de capacidade Porque é uma biblioteca desenvolvida em C para ser embarcado em um software durante sua fase de desenvolvimento Porque pertence a Microsoft, e não pode ser instalado em bases UNIX/LINUX Porque foi feito para bases UNIX/LINUX, e não pode ser instalado em servidores Windows. P) Pensando em promoções para seus clientes, o Sr. Manoel resolveu adicionar um novo campo na tabela de cliente, a data de nascimento (DT_NASCIMENTO). Para efetuar esse campo, qual comando deve ser adicionado? ALTER TABLE CLIENTE ADD DT_NASCIMENTO DATE ALTER TABLE CLIENTE ADD CONSTRAINT DT_NASCIMENTO ALTER TABLE CLIENTE ADD DT_NASCIMENTO DATETIME. ALTER TABLE CLIENTE ADD NASCIMENTO INT DROP TABLE CLIENTE P) Considere o esquema a seguir: Para obter uma consulta que retorne à quantidade de telefones por operadora (independente do DDD), qual o comando que deve ser utilizado? SELECT OPERADORA , COUNT(TELEFONE) AS QTD FROM TELEFONE GROUP BY OPERADORA SELECT OPERADORA , COUNT(TELEFONE) AS QTD FROM TELEFONE SELECT OPERADORA , SUM(TELEFONE) AS QTD FROM TELEFONE GROUP BY OPERADORA SELECT OPERADORA , MAX(TELEFONE) AS QTD FROM TELEFONE GROUP BY OPERADORA SELECT OPERADORA , MAX(TELEFONE) AS QTD FROM TELEFONE GROUP BY OPERADORA P) Ferramentas CASE existem para facilitar a vida dos DBAs e dos analistas de bancos de dados. Dentre suas funcionalidades assinale a alternativa incorreta. Provêm documentação do projeto de Banco de Dados Algumas ferramentas disponibilizam um dicionário de dados (metadados) sem necessidade de um modelo ser gerado no Banco de Dados Constroem modelos de dados sem interferência do usuário/operador Constroem bases de dados sem a necessidade de digitar nenhum código SQL. Agilizam o trabalho de construção do modelo de dados para analista de sistema. P) Sobre as chaves de um banco de dados, assinale a alternativa incorreta Uma chave candidata pode vir a se tornar uma chave primaria Uma chave estrangeira (FK) é uma chave primária (PK) que vem de outra tabela. Uma chave composta é uma chave que possui mais de um atributo. Uma chave estrangeira (FK) pode compor uma chave primaria (PK) A chave estrangeira nasce dentro da própria tabela. P) Podemos dizer que um banco de dados está devidamente normalizado quando: Foi aplicada a 1ª Forma Normal Foi aplicada a 1ª e 2ª Forma Normal Foi aplicada a 1ª, 2ª e 3ª Forma Normal Foi aplicada a 2ª e 3ª Forma Normal Não foi aplicada qualquer Forma Normal P) Dada uma tabela chamada PESSOA, qual comando devemos utilizar para exclui-la? DELETE FROM PESSOA DROP TABLE PESSOA TRUNCATE TABLE PESSOA CREATE TABLE PESSOA ALTER TABLE PESSOA P) Dado o comando a seguir, assinale a alternativa que destaca o que ele faz. ALTER TABLE PRODUTO ADD CONSTRAINT FK_TIPO FOREIGN KEY (COD_TIPO) Adiciona uma chave estrangeira na tabela PRODUTO Excluir uma chave estrangeira na tabela PRODUTO Adiciona uma chave primaria na tabela PRODUTO Exclui uma chave primaria na tabela PRODUTO Adiciona uma coluna na tabela PRODUTO P) O que acontece se o comando a seguir for executado? UPDATE TABLE X SET COLUNA_1 = 100 Um registro será atualizado Dois registros serão atualizados Nenhum registro será atualizado Todos os registros da tabela serão atualizados Todos os registros da tabela serão excluídos. P). Consideremos que estamos trabalhando com duas tabelas: A e B. Para que minha consulta retorne todos os dados da tabela A mesmo que não exista correspondência na tabela B, devemos usar: JOIN INNER JOIN LEFT JOIN de A para B LEFT JOIN de B para A RIGHT JOIN de A para B P). Para sempre obtermos o resultado da consulta na mesma ordem, o SELECT deve ser montado como: SELECT COD_PRODUTO, COD_FORCENECOR, COD_TIPO, NOME_PRODUTO FROM PRODUTO. SELECT COD_FORNECEDOR, COD_TIPO, NOME_PRODUTO, COD_PRODUTO FROM PRODUTO. SELECT NOME_PRODUTO, COD_PRODUTO, COD_FORNECEDOR, COD_TIPO FROM PRODUTO SELECT COD_TIPO, NOME_PRODUTO, COD_PRODUTO, COD_FORNECEDOR FROM PRODUTO SELECT * FROM PRODUTO. P). São exemplos de ferramentas Case: Erwin, Visio e Designer Cognos, Bussiness Objectys e Hyperion Siebel e Dynamics ER3, Applications e Compiere Autocad P). Avalie a tabela a seguir: Qual tipo de chave nós temos? Não temos chaves. Temos uma chave primaria Temos uma chave estrangeira Temos uma chave primaria composta Temos uma chave surrogada.
Compartilhar