Baixe o app para aproveitar ainda mais
Prévia do material em texto
ATIVIDADE 03 - QUESTIONÁRIO Pergunta 1 1. Em um modelo relacional, os conceitos de chaves são relevantes. As chaves primárias servem para identificar as linhas em uma tabela e, para o caso da chave estrangeira, ela permite estabelecer a restrição de que um valor depende de outro valor em outra tabela. Por exemplo, em um sistema de uma universidade, uma disciplina pertence a um curso e um curso pode conter várias disciplinas. A especificação destas tabelas pode ser compreendida a seguir; os campos em sublinhado são chaves primárias. DISCIPLINA (COD_DISCIPLINA, DCR_DISCIPLINA, COD_CURSO (FK)) CURSO(COD_CURSO, DCR_CURSO) A respeito dos comandos para criação das chaves primárias e estrangeiras deste modelo, analise as sentenças a seguir e assinale (V) para a(s) verdadeira(s) e (F) para as falsa(s): I. ( ) Para criar a chave primária de disciplina, pode-se adicionar a cláusula a seguir junto com a sequência de campos no comando CREATE TABLE “ PRIMARY KEY (COD_DISCIPLINA) ” II. ( ) Para criar a chave estrangeira na tabela disciplina, pode-se adicionar a cláusula a seguir junto com a sequência de campos no comando CREATE TABLE “ FOREIGN KEY (COD_CURSO) REFERENCES CURSO(COD_CURSO) ” III. ( ) Uma outra forma de criar uma chave estrangeira é via o comando ALTER TABLE, e, para a chave estrangeira na tabela disciplina, pode ser usado desta forma “ ALTER TABLE DISCIPLINA ADD FOREIGN KEY (COD_CURSO) REFERENCES CURSO(COD_CURSO) ” IV. ( ) Para criar uma chave primária, é possível também usar o comando a seguir “ ALTER TABLE DISCIPLINA ADD CONSTRAINT ‘PK_DISC’ PRIMARY KEY (COD_DISCIPLINA) “ Conforme as associações realizadas, assinale a alternativa correta: V, V, V, V V, V, F, V V, V, V, F F, V, V, V V, F, V, V 1 pontos Pergunta 2 1. As atividades rotineiras de um desenvolvedor, ao manipular um banco de dados, envolve escrever consultas ou comandos em SQL e analisar os resultados que o servidor apresenta, por exemplo, ao inserir uma linha com um INSERT, ele depois checa se a linha foi inserida ou, quando realiza uma consulta, ele avalia os dados da consulta. Em uma destas tarefas, um programador obteve a seguinte consulta: Código Fabricante Placa Modelo Ano 1 Ford MQF4236 Fiesta 2016 2 Fiat QFG5534 Uno 2018 3 Renault FES3321 Clio 2014 4 Fiat QQF5298 Idea 2018 5 Renault AAX8943 Sandero 2013 2. Fonte: Elaborado pelo autor. Qual consulta o programador deve ter digitado na ferramenta do SGBD? SELECT * FROM CARRO WHERE (ANO >=2014) SELECT * FROM CARRO WHERE (ANO <=2015) OR (PLACA LIKE ‘%QF%’) SELECT * FROM CARRO WHERE (ANO >=2015) AND (PLACA LIKE ‘%QF%’) SELECT * FROM CARRO WHERE (PLACA LIKE ‘%QF%’) SELECT * FROM CARRO WHERE (ANO <=2015) AND (PLACA LIKE ‘%QF%’) 1 pontos Pergunta 3 1. A álgebra relacional fornece um conjunto de operadores que podem ser aplicados sobre relações e propõe uma sintaxe para combinar operadores e ainda processar condições lógicas com operações como E e OU lógicos. Para extrair um resultado a partir de uma relação, foi necessário formular uma sentença em álgebra linear. O cenário é o de uma locadora de automóveis, e a relação CARRO está apresentada a seguir com alguns valores: Codigo Fabricante Modelo Ano 1 Ford Fiesta 2016 2 Fiat Uno 2018 3 Renault Clio 2014 2. Fonte: Elaborado pelo autor. A consulta a ser feita é para saber, na lista de carros da locadora, qual o código e o modelo de carros com ano superior ou igual a 2015 e da marca Ford. Qual sentença atende a esta consulta em álgebra relacional? . π ano >= 2015 ̌ Fabricante=Ford ( σ Codigo, Modelo ( CARRO ) ) σ Codigo, Modelo ( π ano >= 2015 ^ Fabricante=Ford ( CARRO ) ) σ ano >= 2015 ̌ Fabricante=Ford ( π Codigo, Modelo ( CARRO ) ). π Codigo, Modelo ( σ ano >= 2015 ̌ Fabricante=Ford ( CARRO ) ). π Codigo, Modelo ( σ ano >= 2015 ^ Fabricante=Ford ( CARRO ) ) 1 pontos Pergunta 4 1. O Sistema de Gerenciamento de Banco de Dados relacionais (SGBD), desde a sua criação em 1970, tem tido forte sucesso na Tecnologia de Informação. Conforme Elmasri e Navathe (2011), o sucesso destes SGBDs deve-se a uma linguagem que oferece uma interface de linguagem declarativa de nível mais alto na qual o usuário apenas especifica qual deve ser o resultado esperado, deixando a otimização e as decisões sobre como executar a consulta para o SGBD. ELMASRI, R.; NAVATHE, S. Sistemas de banco de dados. São Paulo: Pearson Addison Wesley, 2011. A linguagem a que se refere os comentários de Elmasri e Navathe (2011) é a: DML DDL SQL XML DCL 1 pontos Pergunta 5 1. Os comandos de SQL para manipulação de dados (DML) podem ser executados através de uma ferramenta administrativa, ou eles são executados internamente por um software ao se codificar uma funcionalidade do sistema. Imagine que um Módulo de Sistema de Recursos Humanos possui uma função que é aplicar um reajuste de um determinado valor para todos os funcionários de um determinado setor. Essa situação pode ocorrer por conta de uma negociação de reajuste anual para a categoria de funcionários, por exemplo. Considerando que, em determinado ano, o reajuste foi de 3,5%, qual comando a seguir deve ter sido disparado pela função interna do sistema responsável por este reajuste? UPDATE FUNCIONARIO SET SALARIO = SALARIO * (3.5/100) WHERE COD_SETOR = 10 UPDATE FUNCIONARIO SET SALARIO = SALARIO + SALARIO * (3.5/100) WHERE COD_SETOR = 10 MODIFY FUNCIONARIO SET SALARIO = SALARIO * (3.5/100) WHERE COD_SETOR = 10 MODIFY FUNCIONARIO SET SALARIO = SALARIO + SALARIO * (3.5/100) WHERE COD_SETOR = 10 UPDATE FUNCIONARIO SET SALARIO = SALARIO + SALARIO * (3.5/100) WHERE COD_CARGO = 10 1 pontos Pergunta 6 1. De acordo com Elmasri e Navathe (2011), o modelo relacional foi introduzido, em 1970, via um artigo clássico de CODD. Esta teoria de modelo relacional deu origem aos sistemas gerenciadores de bancos de dados relacionais (SGBDs) que têm sido amplamente empregados por aproximadamente 50 anos. ELMASRI, R.; NAVATHE, S. Sistemas de banco de dados. São Paulo: Pearson Addison Wesley, 2011. Em relação a esses SGBDs relacionais, analise as sentenças a seguir: I. Um dos motivos de sucesso dos SGBDs relacionais é a linguagem SQL, que serve para expressar os comandos que devem ser executados pelo SGBD Porque: II. Como essa linguagem (SQL) tornou-se um padrão, os usuários apresentam menos dificuldades para migrar suas aplicações; por exemplo, um usuário insatisfeito com um SGBD comercial pode implantar sua aplicação em outro SGBD com esforço e custo mais controlado. A seguir, assinale a alternativa correta: As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições falsas. 1 pontos Pergunta 7 1. Na construção de um banco de dados, em seu início, um projetista de dados compreende os requisitos de um sistema e faz a modelagem de dados criando um modelo de entidade e relacionamento ou um modelo relacional. A partir do modelo, os comandos de DDL (Data Definition Language) são usados para criar as tabelas e outras definições no banco de dados. Para um certo sistema, uma parte do modelo de dados está mostrado a seguir. [1] Fonte: Elaborada pelo autor. Existe a necessidade de criar um comando para gerar a tabela de BAIRRO com todosos campos e restrições, que, considerando que todos os campos são obrigatórios, precisam ser preenchidos na manipulação dos registros. O comando para esta criação da tabela é: CREATE TABLE BAIRRO ( COD_BAIRRO INTEGER NOT NULL, DCR_BAIRRO VARCHAR(50) NOT NULL, COD_CIDADE INTEGER NOT NULL); CREATE TABLE BAIRRO ( COD_BAIRRO INTEGER NOT NULL, DCR_BAIRRO VARCHAR(50) NOT NULL, COD_CIDADE INTEGER NOT NULL, PRIMARY KEY (COD_BAIRRO) ); CREATE TABLE BAIRRO ( COD_BAIRRO INTEGER NOT NULL, DCR_BAIRRO VARCHAR(50) NOT NULL, COD_CIDADE INTEGER NOT NULL, FOREING KEY (COD_BAIRRO) REFERENCES CIDADE (COD_CIDADE ) ); CREATE TABLE BAIRRO ( COD_BAIRRO INTEGER NOT NULL, DCR_BAIRRO VARCHAR(50) NOT NULL, COD_CIDADE INTEGER NOT NULL, PRIMARY KEY (COD_BAIRRO) , FOREING KEY (COD_CIDADE) REFERENCES CIDADE (COD_CIDADE) ); CREATE TABLE BAIRRO ( COD_BAIRRO INTEGER NOT NULL, DCR_BAIRRO VARCHAR(50) NOT NULL, COD_CIDADE INTEGER NOT NULL, PRIMARY KEY (COD_BAIRRO) , FOREING KEY (COD_BAIRRO) REFERENCES CIDADE (COD_CIDADE) ); 1 pontos Pergunta 8 1. O comando SELECT apresenta uma grande variedade de possibilidades ao ser usado para consultas a dados e isso se deve a diversos operadores e cláusulas que podem ser combinadas para expressar a necessidade de informação. Um destes operadores é o like que permite avaliar padrões de campos com caracteres, e existe o operador between usado para campos valores. Em um sistema de rede social, o cadastro de seus usuários apresenta os registros mostrados a seguir. Código Nome Data Nasc Sexo Est. Civil 1 Mariana Júlia Pereira 1990-04-03 F 1 2 Ricardo dos Santos 1992-07-20 M 2 3 Renata Silva Souza 1989-08-15 F 4 4 Mário Junior Ferreira 1991-02-05 M 3 5 Júlia do Carmo Venturini 1987-01-10 F 1 6 José de Assis Couto 1991-05-02 M 2 7 Júlia Maria Silva 1990-06-10 F 1 2. Fonte: Elaborado pelo autor. Nesta tabela de usuários, foi realizada a seguinte consulta: SELECT * FROM USUARIO WHERE Nome like ‘Júlia%’ AND Data_Nasc between ‘1990-01-01’ AND ‘1994-01-01’ Para esta consulta, quais linhas serão retornadas considerando o código para identificar as linhas nas alternativas: 1, 5 e 7 5 e 7 1, 2, 4, 6 e 7 7 1 e 7. 1 pontos Pergunta 9 1. A álgebra relacional é uma linguagem formal aprendida ao se estudar banco de dados, pois as suas operações permitem entender como as manipulações de linhas e colunas podem ser realizadas em uma tabela. O seu conjunto de operações apresentam uma sintaxe e um objetivo, que é atingido ao ser aplicado em uma relação. Analise as operações presentes na álgebra relacional e associe com seus objetivos ou funcionalidades ao ser aplicada a uma relação. I) Projeção (π). II) Seleção (σ). III) Produto Cartesiano ( x ). IV) Interseção. Realize, agora, a associação com os objetivos das operações. ( ) Permite selecionar as linhas ou tuplas em uma relação. ( ) Combina duas relações, cada tupla sendo combinada com tuplas da outra relação. ( ) Gera relação em que cada tupla deve existir em duas outras relações usadas na operação. ( ) Permite selecionar as colunas em uma relação. A partir das relações feitas anteriormente, assinale a alternativa que apresenta a sequência correta: I, IV, II, III. I, II, IV, III. IV, I, II, III. III, I, II, IV. II, III, IV, I. 1 pontos Pergunta 10 1. As alterações em tabelas no banco de dados são realizadas pelo comando UPDATE, e, para consultar os dados, o comando usado é o SELECT. Estes dois comandos são parte da DML (Data Manipulation Language) em que estão outros comandos como o INSERT e DELETE, todos eles para manterem as informações dos registros. Em um sistema de uma escola, houve a necessidade de fazer um ajuste em uma nota do aluno. Antes de ser executado o ajuste, o aluno tinha uma nota1 de valor 7,0. O ajuste feito foi o seguinte: UPDATE NOTA_ALUNO SET NOTA1 = NOTA1 + 1.0 WHERE MATRICULA = 201901221; SELECT NOTA1 FROM NOTA_ALUNO WHERE MATRICULA = 201901221 O valor a ser visualizado pelo comando de SELECT após o update de ajuste será: 5,0 6,0 7,0 8,0 9,0 1 pontos
Compartilhar