Buscar

ATIVIDADE A3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

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: 
Resposta correta. A alternativa está correta com a sequência II, III, 
IV, I. Seguindo essa sequência, a Seleção (sigma) (item II) é a 
operação que filtra as linhas em uma relação. O produto cartesiano 
(Item III), de fato, faz um processo combinatório com cada nova 
linha da relação, combinando um item de uma relação com um item 
de outra relação. O Item IV, Interseção, é a mesma operação 
conhecida de teoria de conjuntos, que gera um novo conjunto em 
um que o elemento é considerado apenas se ele pertencer aos 
outros dois conjuntos. E a projeção (item I), de fato, é a operação 
que seleciona quais colunas farão parte da relação resultante. 
• III, I, II, IV. 
• I, IV, II, III. 
• II, III, IV, I. 
• I, II, IV, III. 
• IV, I, II, III. 
PRÓXIMA QUESTÃO 
2 Após a etapa de modelagem, é necessária a criação dos elementos que vão 
acomodar os dados e suas restrições; é a etapa em que as tabelas são criadas junto 
com chave primária, chave estrangeira e outros elementos que estruturam um banco 
de dados. A DDL (Data Definition Language) é uma parte da SQL responsável por 
comandos com esta finalidade. 
 
A respeito de alguns comandos e termos empregados na execução de comandos de 
DDL, analise as sentenças a seguir e assinale (V) para verdadeiro e (F) para falso. 
 
I. ( ) A palavra CONSTRAINT pode ser empregada na definição de chaves 
estrangeiras e primárias. 
II ( ) DROP TABLE é o comando usado para excluir uma tabela no banco de 
dados. 
III. ( ) ADD COLUMN é parte de um comando e é usado em geral com comandos de 
ALTER TABLE. 
IV. ( ) NUMERIC é uma palavra usada na definição de campos que aceitam 
números, em geral, com decimais. 
 
Conforme as associações realizadas assinale a alternativa correta: 
Resposta correta. A alternativa está correta, pois o item I é verdadeiro; 
apesar de não ser obrigatório, o termo CONSTRAINT diz respeito a 
restrições, e as mais comuns, em que é usado na definição de chaves 
primárias e estrangeiras. O item II é verdadeiro, a exclusão de componentes 
do banco de dados é feita por DROP, por exemplo, DROP TABLE, DROP VIEW 
e outros. O item III é verdadeiro, pois, quando é necessário adicionar 
colunas em uma tabela já criada, o ADD COLUMN é usado como parte do 
ALTER TABLE. Por fim, o item IV é verdadeiro, pois campos que guardam 
valores com decimais são definidos com NUMERIC. 
• V, V, V, V 
• F, F, V, V 
• V, F, V, F 
• V, V, F, F 
• F, V, F, V 
 PRÓXIMA QUESTÃO 
 
3 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 
1 Ford 
2 Fiat 
3 Renault 
 
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? 
Resposta correta. A alternativa está correta, pois está aplicando primeiro 
(na parte mais interna junto à relação CARRO) a operação de seleção (s) 
com o operador lógico E (^) e combinando as duas condições para ano e 
fabricante. Depois, na parte mais externa, ela aplica a projeção 
(p) escolhendo apenas as colunas Codigo e Modelo da relação. 
• π Codigo, Modelo ( σ ano >= 2015 ^ Fabricante=Ford ( CARRO ) ) 
• σ ano >= 2015 ̌ Fabricante=Ford ( π Codigo, Modelo ( CARRO ) ). 
• π ano >= 2015 ̌ Fabricante=Ford ( σ Codigo, Modelo ( CARRO ) ) 
• π Codigo, Modelo ( σ ano >= 2015 ̌ Fabricante=Ford ( CARRO ) ). 
• σ Codigo, Modelo ( π ano >= 2015 ^ Fabricante=Ford ( CARRO ) ) 
 PRÓXIMA QUESTÃO 
4 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: 
Resposta correta. A alternativa está correta, pois todas as formas estão 
corretas. A adição de chaves pode ocorrer na lista de definição de campos 
e restrições do CREATE TABLE (item I e II) e pode ser adicionada 
posteriormente com o comando de ALTER TABLE sem nenhum nome para a 
restrição (Item III), ou identificando a restrição com a cláusula 
“CONSTRAINT ‘PK_DISC “. 
• V, V, V, F 
• F, V, V, V 
• V, F, V, V 
• V, V, F, V 
• V, V, V, V 
 PRÓXIMA QUESTÃO 
5 O SQL (de Structured Query Language) é uma linguagem para o trato com os dados 
e apresenta um conjunto vasto de comandos que são divididos em partes da 
linguagem como a DDL e a DML. A DDL, que no português seria Linguagem para 
Definição de Dados (do inglês, Data Definition Language), trata de comandos para 
estruturação dos componentes de dados, e a DML (do inglês, Data Manipulation 
Language) engloba comandos para manipular registros nas tabelas. 
Analise as alternativas a seguir e marque a que representa um comando de DML: 
Resposta correta. A alternativa está correta, os comandos típicos de DML 
são o SELECT, INSERT, UPDATE e DELETE para consultar, inserir, alterar e 
excluir registros respectivamente, portanto DELETE está nesta categoria de 
comandos. Todos os outros comandos dizem respeito à criação de algo na 
estrutura do banco de dados,logo são comandos de DDL. 
• DELETE 
• CREATE VIEW 
• ADD COLUMN 
• DROP INDEX 
• ALTER TABLE 
 PRÓXIMA QUESTÃO 
6 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 
1 Ford MQF4236 
2 Fiat QFG5534 
3 Renault FES3321 
4 Fiat QQF5298 
5 Renault AAX8943 
 
Fonte: Elaborado pelo autor. 
 
Qual consulta o programador deve ter digitado na ferramenta do SGBD? 
Resposta correta. A alternativa está correta, pois a consulta combina os 
carros com ano inferior a 2015 (ANO <=2015), que são as linhas 3 e 5, e os 
que possuem ‘QF’ na placa 1, 2 e 4. 
• SELECT * FROM CARRO WHERE (ANO >=2014) 
• SELECT * FROM CARRO WHERE (ANO <=2015) AND (PLACA LIKE ‘%QF%’) 
• SELECT * FROM CARRO WHERE (ANO <=2015) OR (PLACA LIKE ‘%QF%’) 
• SELECT * FROM CARRO WHERE (PLACA LIKE ‘%QF%’) 
• SELECT * FROM CARRO WHERE (ANO >=2015) AND (PLACA LIKE ‘%QF%’) 
 PRÓXIMA QUESTÃO 
7 Uma das manipulações que existem em banco de dados é a exclusão de registros 
em tabelas e em SQL. O comando para esta finalidade é o DELETE. A sintaxe deste 
comando envolve especificar qual a tabela que está sendo afetada e um filtro para 
indicar quais registros devem ser excluídos pelo comando. 
 
Em um sistema de registro de áreas agrícolas, na tabela PLANTIO existem os 
seguintes registros: 
Código Município Área 
1 Alegre 32,50 
2 Linhares 54,70 
3 Sooretama 47,30 
4 Linhares 52,10 
5 Colatina 35,80 
6 Linhares 43,70 
 
Fonte: Elaborado pelo autor. 
 
O seguinte comando foi executado no banco de dados: 
 DELETE FROM PLANTIO 
 WHERE (AREA < 40) OR 
 (MUNICIPIO = ‘Linhares’ AND AREA > 50) 
 
Quantas linhas foram afetadas por este comando? 
Resposta correta. A alternativa está correta, pois, pela condição (AREA < 
40), as linhas 1 e 5 serão afetadas e, pela condição (MUNICIPIO = ‘Linhares’ 
AND AREA > 50), as linhas 2 e 4 atendem à condição. Portanto, 4 linhas 
serão afetadas. 
• 4 
• 2 
• 3. 
• 1 
• 5 
 PRÓXIMA QUESTÃO 
8 Um SGBD relacional foi concebido com base em algumas teorias sobre como 
representar os dados e como realizar manipulações sobre eles. Conforme Puga, 
França e Goya (2013), uma destas fundamentações teóricas é uma linguagem formal 
de alto nível para expressar as operações sobre tabelas, suas linhas e colunas. Ela 
contém operações como seleção, projeção, produto cartesiano e outras. 
 
PUGA, S; FRANÇA, E.; GOYA, M. Banco de Dados: implementação em SQL, PL/SQL 
e Oracle 11g. São Paulo: Pearson Education do Brasil, 2013. 
 
A linguagem a que se refere Puga, França e Goya (2013) é a : 
Resposta correta. A alternativa está correta, pois é a Álgebra Relacional, 
criada na IBM Research em 1970, que estabelece os fundamentos teóricos 
para a tecnologia de bancos de dados relacionais e com as características 
e operações presentes no enunciado. 
• Cálculo Diferencial 
• Data manipulation language (DML) 
• Álgebra Relacional. 
• Structured Query Language (SQL) 
• Lógica Proposicional. 
 PRÓXIMA QUESTÃO 
9 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? 
Resposta correta. A alternativa está correta, pois o comando para alteração 
de dados é o UPDATE e, no caso, o salário será igual ao salário anterior 
mais 3.5% (3.5/10) aplicado ao salário. E isso para um determinado 
COD_SETOR, no caso usado, o COD_SETOR = 10. 
• UPDATE FUNCIONARIO SET SALARIO = SALARIO * (3.5/100) WHERE 
COD_SETOR = 10 
• UPDATE FUNCIONARIO SET SALARIO = SALARIO + SALARIO * 
(3.5/100) WHERE COD_CARGO = 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_SETOR = 10 
• MODIFY FUNCIONARIO SET SALARIO = SALARIO * (3.5/100) WHERE 
COD_SETOR = 10 
 PRÓXIMA QUESTÃO 
10 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 todos 
os 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 é: 
Resposta correta. A alternativa está correta pois apresenta todas as 
definições necessárias, os campos COD_BAIRRO, DCR_BAIRRO, 
COD_CIDADE e a chave primária (PRIMARY KEY) e a chave 
estrangeira (FOREIGN KEY), tudo definido corretamente. 
• 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); 
• 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) ); 
• CREATE TABLE BAIRRO ( COD_BAIRRO INTEGER NOT NULL, 
 DCR_BAIRRO VARCHAR(50) NOT NULL, 
 COD_CIDADE INTEGER NOT 
NULL, PRIMARY KEY (COD_BAIRRO) );

Outros materiais