Logo Passei Direto
Buscar
Considere a tabela municipio criada com o seguinte comando:

CREATE TABLE municipio (
id int auto_increment primary key,
nome text,
uf varchar(2)
);

Considere ainda o seguinte estado para a essa tabela:

> select * from municipio;
+----+------------+------+
| id | nome | uf |
+----+------------+------+
| 1 | São Paulo | SP |
| 2 | Osasco | SP |
| 3 | Mateiros | TO |
+----+------------+------+

Dado o estado definido acima, considere a execução do seguinte comando:

INSERT INTO municipio (nome, uf) VALUES ('Salvador', 'BA');

Considere agora as seguintes afirmacoes:
Assinale agora a opção correta.
I – A execução do comando acima incorrerá em erro.
II – A chave primária deve ser especificada no comando INSERT.
a. As sentenças I e II são verdadeiras e a II é a explicação da I.
b. As sentenças I e II são falsas.
c. A sentença I é verdadeira, mas a II é falsa.
d. As sentenças I e II são verdadeiras, mas a II não é a explicação da I.
e. Apenas a sentença II é verdadeira.
User badge image
Exercícios Para o Aprendizado

há 4 horas

Respostas

User badge image

Ed Verified user icon

há 4 horas

Vamos analisar as sentenças: I – A execução do comando INSERT INTO municipio (nome, uf) VALUES ('Salvador', 'BA'); incorrerá em erro? Não. A tabela municipio tem a coluna id como auto_increment e primary key, ou seja, o banco de dados gera automaticamente o valor para id se ele não for especificado no INSERT. Portanto, o comando não causará erro. II – A chave primária deve ser especificada no comando INSERT? Não. Como a coluna id é auto_increment, não é necessário especificá-la no INSERT, o banco gera automaticamente. Conclusão: - Sentença I é falsa (não haverá erro). - Sentença II é falsa (não precisa especificar a chave primária). Alternativa correta: b) As sentenças I e II são falsas.

Essa resposta te ajudou?

0
Dislike0

Ainda não achou a resposta?

  • Integrado com os principais modelos de IA do mercado
  • Respostas em segundos
  • IA treinada para estudantes brasileiros.
PasseIA logoEvolua sua forma de estudar

Cadastre-se ou realize login

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Considere a notícia acima e a existência de diversos bancos de dados no Brasil que armazenam veículos em seus registros. Considere que cada um desses bancos de dados tenha uma tabela de veículos, cuja chave primária é a placa. Considere ainda que em cada banco de dados há outras tabelas que apontam para a tabela de veículos por meio de chaves estrangeiras.
Dadas essas considerações, assinale a alternativa correta.
a. As tabelas de veículos não aceitarão que um dado veículo troque de placa, uma vez que não é possível alterar o valor de uma chave primária.
b. Quando um veículo trocar de placa, basta atualizar diretamente a chave primária na tabela de veículos (as chaves estrangeiras nunca impedirão essa mudança).
c. Essa alteração no “espaço do problema” provocará obrigatoriamente uma necessidade de atualização no sistema para que se utilize algum outro campo como chave primária: talvez o número de chassi ou mesmo um valor sequencial gerado automaticamente.
d. Mesmo com essas mudanças, é possível manter a placa como chave primária. Quando um veículo trocar de placa, será preciso atualizar a chave primária na tabela de veículos e atualizar os valores das chaves estrangeiras nas outras tabelas. Como cada uma dessas operações pode violar as restrições do banco de dados, pode ser necessário algum subterfúgio como por exemplo a desabilitação das chaves estrangeiras durante a operação.
e. A alteração apenas da chave primária na tabela de veículos não fere a integridade referencial do banco de dados, uma vez que a tabela de veículos permanece consistente.

Como o MySQL utiliza índices

Os índices são usados para rapidamente localizar linhas com valores de coluna específicos. Sem um índice, o MySQL deve começar com a primeira linha e depois ler a tabela inteira para encontrar as linhas relevantes. Quanto maior a tabela, mais isso custa. Se a tabela tiver um índice para as colunas em questão, o MySQL poderá determinar rapidamente a posição a ser procurada no meio do arquivo de dados sem precisar examinar todos os dados. Isso é muito mais rápido do que ler todas as linhas sequencialmente.

(Traduzido da documentação oficial do MySQL. Disponível em: . Acesso em: mar. 2020.
Sobre índices é correto afirmar que:
a. A criação de índices é imprescindível para qualquer tabela do MySQL.
b. Considere um sistema muito acessado por usuários de todo o mundo e uma tabela que armazene os eventos de login desses usuários. Nesse caso, a criação de um índice nessa tabela de registro de login é conveniente para acelerar o tempo de inserção, provendo uma melhor experiência para o usuário.
c. Índices deixam inserções mais lentas e consomem mais espaço em disco. Por essas razões devem ser usados apenas em tabelas com mais de um milhão de registros. Só nesses casos os custos compensarão os ganhos de velocidade de leitura.
d. Considere uma base de dados construída para análises científicas que é montada uma vez e depois não é mais atualizada, e que possui muitos dados. Nesse caso compensa construir diversos índices que serão úteis para as consultas dos cientistas, pois mesmo que o tempo de criação dos índices seja grande, a alta velocidade das leituras subsequentes compensará o tempo de criação dos índices.
e. Os índices são recursos utilizados em bancos de dados antigos. O sistema de otimização de consultas do MySQL (optimum lookup process) dispensa a utilização de índices em tabelas do MySQL.

Considere a seguinte tabela de pratos disponíveis em um restaurante: CREATE TABLE pratos (nome text, pais_origem text, vegetariano boolean, preco float); Qual alternativa seleciona somente os pratos vegetarianos, mostrando a diferença entre o preço médio do prato e o preço do prato vegetariano mais caro de seu país de origem? a. SELECT nome, (SELECT max(preco) FROM pratos p2 WHERE vegetariano GROUP BY pais_origem) – preco as diferenca_pro_vegetariano_mais_caro FROM pratos p1 WHERE vegetariano; b. SELECT nome, (SELECT max(preco) FROM pratos p2 WHERE p1.pais_origem = p2.pais_origem) – preco as diferenca_pro_vegetariano_mais_caro FROM pratos p1 WHERE vegetariano; c. SELECT nome, (SELECT max(preco) FROM pratos p2 WHERE p1.pais_origem = p2.pais_origem and vegetariano) – preco as diferenca_pro_vegetariano_mais_caro FROM pratos p1 WHERE vegetariano; d. SELECT nome, (SELECT max(preco) FROM pratos p2 WHERE p1.pais_origem = p2.pais_origem and vegetariano) – preco as diferenca_pro_vegetariano_mais_caro FROM pratos p1; e. SELECT nome, (SELECT max(preco) FROM pratos WHERE vegetariano) – preco as diferenca_pro_vegetariano_mais_caro FROM pratos WHERE vegetariano;

Mais conteúdos dessa disciplina