Prévia do material em texto
Você acertou 7 de 10 questões
Verifique o seu desempenho e continue treinando! Você pode refazer o exercício quantas vezes quiser.
Verificar Desempenho
A
B
C
D
E
A
B
C
1 Marcar para revisão
Dentro do universo de programação com Python para bancos de dados, é fundamental compreender o modelo
de dados e a criação de tabelas. Utilizando o SQLite, o desenvolvedor pode criar tabelas que refletem
entidades e relacionamentos. Por exemplo, no modelo apresentado, temos entidades como Pessoa, Veiculo e
Marca. Ao definir uma tabela, especificamos seus atributos e tipos de dados, sendo crucial entender a tabela
de _________ do SQLite para escolher os tipos apropriados. Além disso, ao modificar estruturas de tabelas
existentes, comandos SQL como ALTER TABLE são usados para _________ atributos, enquanto o comando DROP
TABLE é utilizado para _________ uma tabela do banco de dados.
Assinale a alternativa que contém a sequência correta para preencher as lacunas acima:
Afinidades - Adicionar - Excluir.
Correspondências - Remover - Criar.
Relações - Modificar - Eliminar.
Afinidades - Modificar - Criar.
Correspondências - Adicionar - Eliminar.
Resposta incorreta
Opa! A alternativa correta é a letra A. Confira o gabarito comentado!
Gabarito Comentado
Esta questão foca em aspectos cruciais do trabalho com bancos de dados em Python, especialmente na
modelagem de dados e manipulação de tabelas usando SQLite. A primeira lacuna, "Afinidades", se refere à
tabela de afinidades do SQLite, que ajuda a determinar os tipos de dados mais adequados para os
atributos de uma tabela. O segundo termo, "Adicionar", alude ao uso do comando ALTER TABLE para
incluir novos atributos em uma tabela já existente. Por fim, "Excluir" se relaciona com o comando DROP
TABLE, utilizado para remover uma tabela completamente do banco de dados.
2 Marcar para revisão
Em uma aplicação de gerenciamento de vendas, um desenvolvedor está utilizando Python e SQLite para criar
um banco de dados com informações de clientes e vendas. Ele emprega o comando SELECT para recuperar
dados específicos, como o nome e o total de compras de cada cliente.
Considerando o texto, analise as afirmativas abaixo:
I. O comando SELECT é utilizado para inserir novos registros no banco de dados.
II. É possível usar o SELECT para recuperar informações específicas de uma tabela.
III. O comando SELECT pode ser combinado com WHERE para filtrar os dados recuperados.
Marque a opção correta.
Apenas a afirmativa II está correta.
Apenas as afirmativas II e III estão corretas.
Apenas a afirmativa I está correta.
Questão 1 de 10
Corretas �7�
Incorretas �3�
Em branco �0�
1 2 3 4 5
6 7 8 9 10
Lista de exercícios Python Com Banco De Dados Sair
D
E
A
B
C
D
E
A
B
C
Apenas as afirmativas I e III estão corretas.
Apenas as afirmativas I e II estão corretas.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito comentado!
Gabarito Comentado
As afirmativas II e III estão corretas. O comando SELECT é utilizado para recuperar dados específicos de
uma tabela, e pode ser combinado com WHERE para filtrar os resultados. A afirmativa I está incorreta,
pois o SELECT não é usado para inserir registros, mas sim para recuperar dados.
3 Marcar para revisão
Carlos está criando uma classe Pessoa em Python para representar registros em um banco de dados. Ele
garante que os atributos da classe correspondam às colunas da tabela no banco de dados.
Qual o propósito principal da classe Pessoa no contexto do banco de dados?
Servir como um intermediário para consultas SQL.
Gerar automaticamente tabelas no banco de dados.
Mapear os atributos da classe para as colunas da tabela.
Facilitar a criptografia de dados sensíveis.
Controlar o acesso de usuários ao banco de dados.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito comentado!
Gabarito Comentado
A criação de uma classe como Pessoa em Python, com atributos que correspondem às colunas de uma
tabela em um banco de dados, é um exemplo de mapeamento objeto-relacional. Este mapeamento facilita
a inserção, atualização e remoção de registros no banco de dados, associando cada atributo da classe a
uma coluna específica na tabela.
4 Marcar para revisão
Considere a tabela Produto a seguir:
Qual o resultado impresso pelo trecho do script a seguir, considerando que a conexão e cursor foram criados.
>>> cursor.execute("SELECT nome FROM Produto;")
>>> print(cursor.fetchall())
["Faca", "Garfo", "Prato"]
[("Faca", "Garfo", "Prato")]
[["Faca"], ["Garfo"], ["Prato"]]
D
E
A
B
C
D
E
A
B
C
D
E
[("Faca", ), ("Garfo", ), ("Prato", )]
[("Faca"), ("Garfo"), ("Prato")]
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito comentado!
Gabarito Comentado
A resposta correta é: [("Faca", ), ("Garfo", ), ("Prato", )]
5 Marcar para revisão
Um sistema de gerenciamento de eventos está sendo desenvolvido em Python com SQLite. O desenvolvedor
precisa excluir a tabela de fornecedores antigos, que não será mais utilizada.
Qual comando SQL é empregado para remover uma tabela inteira em um banco de dados SQLite?
DROP TABLE
DELETE TABLE
REMOVE TABLE
ERASE TABLE
CLEAR TABLE
Resposta incorreta
Opa! A alternativa correta é a letra A. Confira o gabarito comentado!
Gabarito Comentado
O comando SQL apropriado para remover uma tabela inteira em SQLite é DROP TABLE, seguido pelo nome
da tabela. Este comando exclui tanto a tabela quanto todos os dados nela contidos. As outras alternativas,
embora pareçam adequadas, não representam comandos SQL válidos para a exclusão de tabelas.
6 Marcar para revisão
Um administrador de banco de dados precisa remover completamente a tabela Marca de um banco de dados
SQLite em uma aplicação Python. Esta tabela não é mais necessária e todas as suas referências em outras
tabelas já foram removidas.
Qual é o comando SQL correto para remover permanentemente a tabela Marca do banco de dados?
DELETE FROM Marca
DROP TABLE Marca
REMOVE TABLE Marca
TRUNCATE TABLE Marca
ERASE TABLE Marca
Resposta incorreta
Opa! A alternativa correta é a letra B. Confira o gabarito comentado!
A
B
C
D
E
A
B
C
D
E
Gabarito Comentado
Para remover uma tabela inteira de um banco de dados, o comando SQL utilizado é DROP TABLE, seguido
do nome da tabela. Este comando exclui a tabela e todos os seus dados permanentemente. As outras
opções não são comandos SQL válidos para excluir uma tabela inteira.
7 Marcar para revisão
Para otimizar o cadastro de veículos em uma aplicação, o desenvolvedor utiliza uma classe Veiculo em Python,
que representa cada veículo com atributos como marca, modelo e ano.
Qual é a melhor prática ao utilizar a classe Veiculo para inserir dados no banco de dados?
Converter o objeto Veiculo em um dicionário usando vars() antes da inserção.
Utilizar o método str() para converter Veiculo em uma string SQL.
Chamar diretamente o método insert do objeto Veiculo.
Usar a função json.dumps() para serializar o objeto Veiculo.
Criar uma nova tabela para cada instância de Veiculo.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito comentado!
Gabarito Comentado
A função vars() é utilizada para converter o objeto Veiculo em um dicionário antes da inserção no banco
de dados. Esta abordagem facilita a manipulação dos atributos do objeto para a inserção. As outras
alternativas não são práticas recomendadas para esta situação, pois envolvem a conversão para string
SQL, chamada de um método inexistente, serialização para JSON ou a criação desnecessária de múltiplas
tabelas.
8 Marcar para revisão
Lívia é responsável por refatorar um sistema de controle de estoque. Ela decide implementar o sistema em
Python, utilizando SQLite para gerenciar os dados de produtos e fornecedores. Lívia começa projetando o
esquema do banco de dados.
Considerando o texto, analise as afirmativas abaixo:
I. A definição de tiposde dados é essencial ao criar tabelas no SQLite.
II. SQLite permite modificar o esquema de uma tabela após sua criação sem restrições.
III. O relacionamento entre produtos e fornecedores pode ser representado por chaves estrangeiras no SQLite.
Marque a opção correta.
Somente I e III estão corretas.
Somente II está correta.
Somente III está correta.
Somente I está correta.
Somente I e II estão corretas.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito comentado!
Gabarito Comentado
A
B
C
D
E
A
B
C
D
E
A afirmativa I é correta, pois ao criar tabelas no SQLite, é fundamental definir os tipos de dados para cada
coluna. A afirmativa II é incorreta, já que o SQLite possui algumas restrições quanto à modificação do
esquema de uma tabela após sua criação. Por fim, a afirmativa III também é correta, pois o SQLite suporta
o uso de chaves estrangeiras para representar relacionamentos entre tabelas, como entre produtos e
fornecedores.
9 Marcar para revisão
Em um projeto de banco de dados com Python, um desenvolvedor quer garantir que o nome de cada pessoa
na tabela Pessoa seja único. Para isso, ele precisa definir uma restrição na tabela.
Qual restrição deve ser adicionada à tabela Pessoa para garantir que o nome de cada pessoa seja único?
PRIMARY KEY (nome)
FOREIGN KEY (nome)
UNIQUE (nome)
CHECK (nome)
INDEX (nome)
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito comentado!
Gabarito Comentado
Para garantir que os valores em uma coluna sejam únicos em toda a tabela, utiliza-se a restrição UNIQUE.
Ao adicionar UNIQUE (nome) à definição da tabela Pessoa, o banco de dados garantirá que não haja dois
registros com o mesmo nome. As outras opções representam diferentes tipos de restrições e índices em
bancos de dados.
10 Marcar para revisão
Considere que temos a tabela Produto definida da seguinte forma no nosso banco de dados:
CREATE TABLE Produto (
codigo INTEGER NOT NULL,
nome TEXT NOT NULL,
descricao TEXT�
Dada as variáveis e o comando execute a seguir:
>>> produto = {"cod": 123, "nome_prod": "Colher"}
>>> comando = "INSERT INTO PESSOA X VALUES Y;"
>>> cursor.execute(comando, pessoa)
Quais os valores de X e Y para que o comando execute seja realizado com sucesso?
X = vazio; Y = (:cod, :nome_prod)
X = (cod, nome_prod); Y = (:cod, :nome_prod)
X = (codigo, nome); Y = (:cod, :nome_prod)
X = vazio; Y = vazio
X = (codigo, nome); Y = (:codigo, :nome)
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito comentado!
Gabarito Comentado
A alternativa correta é a letra C, onde X = (codigo, nome) e Y = (:cod, :nome_prod). Isso ocorre porque,
ao inserir dados em uma tabela de banco de dados, é necessário especificar quais colunas receberão os
dados �X) e quais são os valores a serem inseridos �Y�. Neste caso, as colunas são 'codigo' e 'nome', e os
valores são referenciados pelas variáveis :cod e :nome_prod, respectivamente. As outras alternativas são
incorretas porque não correspondem corretamente às colunas e/ou valores necessários para a inserção de
dados na tabela Produto.