Buscar

ATIVIDADE 3 (A3) - Banco de Dados l

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 8 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 8 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

Prévia do material em texto

 Pergunta 1 
1 em 1 pontos 
 
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 
 
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 
Selecionada: 
 
π Codigo, Modelo ( σ ano >= 2015 ^ Fabricante=Ford ( 
CARRO ) ) 
Resposta Correta: 
π Codigo, Modelo ( σ ano >= 2015 ^ Fabricante=Ford ( 
CARRO ) ) 
Feedback 
da 
resposta: 
Resposta correta. A alternativa está correta, pois está aplicando 
primeiro (na parte mais interna junto à relação CARRO) a 
operação de seleção (σ) 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 (π) escolhendo apenas 
as colunas Codigo e Modelo da relação. 
 
 
 Pergunta 2 
1 em 1 pontos 
 
Em um banco de dados, as necessidades de informação do usuário podem 
ser traduzidas em 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 
Selecionada: 
 
SELECT NOME, TELEFONE FROM PACIENTE 
 WHERE SEXO = ‘F’ OR (BAIRRO = ‘Barra’ OR BAIRRO 
= ‘Graça’) 
Resposta Correta: 
SELECT NOME, TELEFONE FROM PACIENTE 
 WHERE SEXO = ‘F’ OR (BAIRRO = ‘Barra’ OR BAIRRO 
= ‘Graça’) 
Feedback 
da resposta: 
Resposta correta. A alternativa está correta, pois a sentença 
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. 
 
 
 Pergunta 3 
1 em 1 pontos 
 
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 Selecionada: 
II, III, IV, I. 
Resposta Correta: 
II, III, IV, I. 
Feedback 
da resposta: 
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. 
 
 Pergunta 4 
0 em 1 pontos 
 
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 
 
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. 
Feedback 
da resposta: 
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 5 
1 em 1 pontos 
 
A álgebra relacional prevê um conjunto de operações para manipular as 
tuplas de uma relação, por exemplo para selecionar linhas ou colunas, ou 
ainda combinando relações de diversas formas, e sua escrita segue um 
formalismo matemático semelhante às fórmulas comumente encontradas 
nesta área. 
 
Considerando um determinado cenário de locações de imóveis, a relação 
“IMOVEL” apresenta os seguintes atributos. 
 
IMOVEL( CODIGO, PROPRIETARIO, NUM_QUARTOS, 
NUM_BANHEIROS, GARAGEM) 
 
A operação em Álgebra Relacional para selecionar as linhas com imóveis 
com até três quartos é: 
Resposta Selecionada: 
σ num_quartos<=3 (IMOVEL) 
Resposta Correta: 
σ num_quartos<=3 (IMOVEL) 
Feedback da 
resposta: 
Resposta correta. A alternativa está correta, a operação de 
seleção na álgebra relacional é expressa por σ e a cláusula 
lógica está correta com número de quartos menor ou igual a 3. 
 
 
 Pergunta 6 
1 em 1 pontos 
 
A linguagem SQL é bastante ampla e possui comandos e subconjuntos 
deles com propósitos, tais como definir a estruturação dos dados, manipular 
os registros de tabelas e ainda para gerenciamento de outros elementos em 
um SGBD, por exemplo, usuários, permissões, backup, restauração e 
outros. 
 
Em relação a alguns comandos de SQL, analise as afirmativas a seguir e 
assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s). 
 
I. ( ) O INSERT é um comando de DDL e é responsável por criar tabelas e 
realizar as inserções de seus registros. 
II. ( ) O ALTER TABLE é um comando de DDL e pode ser usado, por 
exemplo, para adicionar ou excluir uma coluna da tabela. 
III. ( ) O UPDATE é um comando de DML responsável pela alteração dos 
registros em tabelas, porexemplo, mudar o nome de um certo cliente. 
IV. ( ) O DROP é um comando de DML responsável por excluir as linhas de 
uma tabela, por exemplo, excluir um certo produto. 
A partir das associações feitas anteriormente, assinale a alternativa que 
apresenta a sequência correta: 
 
Resposta Selecionada: 
F, V, V, F. 
Resposta Correta: 
F, V, V, F. 
Feedback 
da resposta: 
Resposta correta. A alternativa é a correta. Na sequência dos 
itens, o item I é falso, o comando INSERT não é de DDL 
(definição de dados), ele é de DML (manipulação de dados) e, 
além disso, não é responsável por criar tabelas, apenas 
inserções de registros. O comando para criar tabela é o CREATE 
TABLE, este sim de definição de dados (DDL). O item II é 
verdadeiro, pois adicionar ou excluir colunas são alterações em 
 
tabelas feitas por ALTER TABLE (definição de dados - DDL). O 
item III é verdadeiro, pois o UPDATE muda valores em registros 
(manipulação de dados - DML) como no caso de mudança de 
nomes. O item IV é falso; o DROP é usado para excluir 
elementos da estrutura dos dados, por exemplo, excluir tabelas, 
views, índices, e é um comando de DDL. O certo seria usar o 
comando DELETE para excluir linhas. 
 
 Pergunta 7 
1 em 1 pontos 
 
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á: 
 
Resposta Selecionada: 
8,0 
Resposta Correta: 
8,0 
Feedback da 
resposta: 
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 8 
1 em 1 pontos 
 
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 Selecionada: 
V, V, V, V 
Resposta Correta: 
V, V, V, V 
Feedback 
da 
resposta: 
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. 
 
 
 Pergunta 9 
1 em 1 pontos 
 
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 
resposta: 
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 10 
1 em 1 pontos 
 
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-seadicionar 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 Selecionada: 
V, V, V, V 
Resposta Correta: 
V, V, V, V 
Feedback 
da 
resposta: 
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 “.

Continue navegando