Buscar

Atividade 3 Banco de Dados

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 14 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 14 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 9, do total de 14 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

● Pergunta 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: 
 
 
Resposta 
Selecion
ada: 
 ​As asserções I e II são proposições 
verdadeiras, e a II é uma justificativa 
correta da I. 
Resposta 
Correta: 
 ​As asserções I e II são proposições 
verdadeiras, e a II é uma justificativa correta
da I. 
 
Feedback
da 
respo
sta: 
Resposta correta. A alternativa está correta, 
pois as duas sentenças estão certas e a 
linguagem SQL é, de fato, um dos 
fatores de sucesso dos SGBDs 
comerciais. Isso porque, como ela se 
tornou um padrão de mercado, vários 
fabricantes mantêm compatibilidade, 
desenvolvedores de tecnologia falam a 
mesma “linguagem”, o que possibilitou 
um vasto uso no mercado de TI. 
 
 
● 
Pergunta 2 
 
 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; 
 
SELECTNOTA1 FROM ​ ​ NOTA_ALUNO 
 
WHERE ​ MATRICULA = 201901221 
 
O valor a ser visualizado pelo comando de SELECT após o 
update de ajuste será: 
 
Resposta Selecionada: 
8
,
0
Resposta Correta: 
8
,
0
 
Feedback
da 
respo
sta: 
Resposta correta. A alternativa está correta, 
pois com um valor de nota1 antes do 
ajuste com valor igual a 7 e com o ajuste 
em que NOTA1=NOTA1 + 1, este valor 
será ajustado para 8 (1 ponto adicional). 
 
 
● 
Pergunta 3 
 
 Em um sistema, existem diversas demandas por informação que são 
traduzidas em comandos de SELECT com a especificação das 
colunas, das tabelas onde recuperar os dados e com os filtros 
através de um conjunto variado de operadores e combinadores 
lógicos. 
Em um sistema de gestão de cursos de uma instituição de ensino 
superior, uma breve parte do modelo apresenta a definição exposta 
a seguir. O campo carga horária indica quantas horas a disciplina 
tem e o campo obrigatória indica se a disciplina é obrigatória (‘S’) de 
sim ou opcional com (‘N’) de não. 
 
DISCIPLINA (COD_DISCIPLINA, DCR_DISCIPLINA, 
CARGA_HORARIA, OBRIGATORIA, 
COD_CURSO (FK)) 
CURSO (COD_CURSO, DCR_CURSO) 
 
A instituição está fazendo um levantamento para enxugar alguns 
cursos e daí está pesquisando por disciplinas que são opcionais ou 
que possuam carga horária inferior a 40 horas. 
A sentença que melhor reflete esta consulta é: 
 
 
Resposta 
Selecionada
: 
 
SELECT DISCIPLINA FROM 
DISCIPLINA 
WHERE CARGA_HORARIA < 40 AND 
OBRIGATORIA = ‘N’ 
Resposta 
Correta: 
 
SELECT DCR_DISCIPLINA FROM 
DISCIPLINA 
WHERE CARGA_HORARIA < 40 OR 
OBRIGATORIA = ‘N’ 
 
Feedback
da 
respo
sta: 
Sua resposta está incorreta. A alternativa está 
incorreta, pois a cláusula de filtro deveria ser 
CARGA_HORARIA < 40 OR 
OBRIGATORIA = ‘N’. Ou foi usado um filtro 
com ‘CARGA_HORARIA > 40’, e não menor. 
Ou foi usado o operador AND em vez de OR,
ou ainda, foi usada a condição 
OBRIGATORIA = ‘S’ que significaria 
obrigatória, isto é, não opcional. 
 
 
 
 
 
ILUSTRAÇÃO, redesenhar 
 
● 
Pergunta 4 
 
 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 possu
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 
Seleciona
da: 
 ​UPDATE FUNCIONARIO SET 
SALARIO = SALARIO + SALARIO * 
(3.5/100) 
 WHERE COD_SETOR = 10 
Resposta 
Correta: 
 ​UPDATE FUNCIONARIO SET SALARIO = 
SALARIO + SALARIO * (3.5/100) 
 WHERE COD_SETOR = 10 
 
Feedback
da 
respo
sta: 
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. 
 
 
● 
Pergunta 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 Selecionada: ​ALTER 
TABLE 
Resposta Correta: ​DELETE 
 
Feedback
da 
respo
sta: 
Sua resposta está incorreta. A alternativa 
está incorreta, visto que o comando 
DROP serve para excluir componentes 
do banco, e não para excluir registros, 
por isso o DROP INDEX é uma opção de
DDL. O CREATE VIEW também cria um 
componente na estrutura do banco, uma 
view, portanto é DDL. A ADD COLUMN é
uma cláusula que pode ser usada no 
ALTER TABLE ao definir uma estrutura 
de uma tabela, portanto um comando de 
DDL. O ALTER TABLE muda a estrutura 
de uma tabela, e não os seus registros, 
comando de DDL também. 
 
 
● 
Pergunta 6 
 
 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 Selecionada: ​Álgebra 
Relacional. 
Resposta Correta: ​Álgebra 
Relacional. 
 
Feedback
da 
respo
sta: 
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. 
 
 
● 
Pergunta 7 
 
 Em um banco de dados, as necessidades de informação do 
usuário podem ser traduzidasem comandos de SELECT, 
principalmente a edição dos filtros, isto é, as condições que 
fazem parte da cláusula WHERE. 
 
Em um sistema de clínica médica, existe uma tabela de pacientes 
com a seguinte especificação. 
 
PACIENTE (CODIGO, NOME, CPF, TELEFONE, SEXO, 
IDADE, BAIRRO) 
 
Neste sistema, existe a necessidade de recuperar 
especificamente o nome e telefone das pacientes do sexo 
feminino que moram em pelo menos um dos dois bairros mais 
próximos da clínica, o bairro Barra e o bairro Graça. O 
comando de SELECT que permite atender a esta necessidade
é 
 
 
Resposta 
Selecionad
a: 
 ​SELECT NOME, TELEFONE FROM 
PACIENTE 
WHERE SEXO = ‘F’ AND (BAIRRO = 
‘Barra’ AND BAIRRO = ‘Graça’) 
Resposta 
Correta: 
 ​SELECT NOME, TELEFONE FROM 
PACIENTE 
WHERE SEXO = ‘F’ OR (BAIRRO = 
‘Barra’ OR BAIRRO = ‘Graça’) 
 
Feedback
da 
respo
sta: 
Sua resposta está incorreta. A alternativa 
está incorreta, pois a condição correta 
seria SEXO = ‘F’ AND (BAIRRO = ‘Barra’
OR BAIRRO = ‘Graça’) recupera as 
linhas que possuem pacientes de sexo 
feminino E (and) que morem na Barra ou 
na Graça, conforme requisitado. Caso 
esteja diferente disso, algumas das 
situações a seguir podem ter ocorrido. 
Ou sexo está combinado com o operador
OR na condição de bairro, o que estaria 
errado. Ou então, na condição de bairro, 
o operador usado foi AND, e não faz 
sentido (a princípio, tendo o modelo 
 
como base) uma paciente morar em dois 
bairros ao mesmo tempo. Ou ainda pode 
ter faltado o campo telefone na lista de 
colunas do SELECT e o uso do operador
NOT está inconsistente. 
 
● 
Pergunta 8 
 
 Ao utilizar comandos de DDL (data definition language), o usuário 
do banco de dados pode criar, modificar ou excluir objetos em 
um banco de dados. O comando de CREATE TABLE, por 
exemplo, cria tabelas que basicamente são um conjunto de 
campos com seus tipos de dados e de restrições como chave 
primária e chave estrangeira. Em um sistema bancário, existe 
uma tabela TRANSACAO que foi criada com o seguinte 
comando: 
 
 ​ CREATE TABLE TRANSACAO 
 ​ (COD_TRANSACAO ​ ​ ​INTEGER 
NOT NULL, 
 ​ ​COD_CONTA ​ ​INTEGER 
NOT NULL, 
 ​ ​DATA ​ ​DATETIME 
NOT NULL, 
 ​ ​VALOR ​ NUMERIC(9,2) 
NOT NULL, 
 ​ ​TIPO ​ ​CHAR(1) 
NOT NULL, 
 ​ ​RESGATE ​ ​CHAR(1) 
NOT NULL, 
FOREIGN KEY (COD_CONTA) REFERENCES 
CONTA(COD_CONTA) ) 
 
Alguns campos possuem o nome intuitivo, já para TIPO vale 
esclarecer que este campo indica o tipo de transação, Crédito 
ou Débito. O campo RESGATE indica se a transação foi 
resultado de um resgate de aplicação. Considerando apenas o
comando de CREATE TABLE apresentado, analise as 
sentenças a seguir e assinale (V) para a(s) opções 
verdadeiras ou (F) para as falsas. 
 
I. ( ) O campo COD_TRANSACAO não pode ter valores 
repetidos, pois é chave primária. 
II. ( ) O campo COD_CONTA não aceita valores com 
números decimais. 
III. ( ) O campo RESGATE pode não ter valores atribuídos
a este campo. 
IV. ( ) O campo COD_CONTA só pode ter valores que 
existam no campo código de CONTA. 
 
 
A partir das associações feitas anteriormente, assinale a 
alternativa que apresenta a sequência correta: 
 
Resposta Selecionada: ​F, V, 
F, V. 
Resposta Correta: ​F, V, F,
V. 
 
Feedback
da 
respo
sta: 
Resposta correta. A alternativa está correta, 
pois o item I é falso, uma vez que não há
no comando a cláusula de primary key, 
portanto esta restrição não foi 
estabelecida e pode haver valores 
repetidos de código na tabela. O item II é
verdadeiro, como o campo COD_CONTA
é INTEGER, apenas valores inteiros 
(sem decimais) devem ser aceitos. O 
item III é falso, pois o campo RESGATE 
é not null, portanto é obrigatório ter um 
valor atribuído a este campo. Por fim, o 
item IV é verdadeiro; o campo 
COD_CONTA é uma chave estrangeira 
que aponta para o campo CÓDIGO na 
tabela de conta, portanto apenas valores 
de código presentes na tabela conta são 
válidos para este campo COD_CONTA 
na tabela de TRANSACAO. 
 
 
● 
Pergunta 9 
 
 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. 
Civi
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 
 
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: 
 
 
Resposta Selecionada: 
1, 5 e 7 
Resposta Correta: 
1 e 7. 
 
Feedbac
k da 
resp
osta:
Sua resposta está incorreta. A alternativa está 
incorreta, pois apenas a linha 7 satisfaz a 
sentença com as condições de Data e 
contendo o nome Júlia. A linha 1 
apareceria se a sentença like fosse like 
‘%Júlia%’ com porcento no início, daí Júlia 
poderia estar em qualquer parte do nome. 
A linha 5 apareceria se a faixa de data 
fosse mais cedo do que ‘1990-01-01’, antes
de 1987-01-10, que é a data no registro. E 
as linhas 2, 4 e 6 apareceriam se fosse 
considerada apenas a condição de data 
(sem a condição de nome Júlia). 
 
 
● 
Pergunta 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 
Selecion
ada: 
 ​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) 
); 
Resposta 
Correta: 
 ​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) ); 
 
Feedback
da 
respo
sta: 
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.

Continue navegando