No trecho de código SQL a seguir está representado um conjun...

Próximas questões
Com base no mesmo assunto
Q762367 Banco de Dados
No trecho de código SQL a seguir está representado um conjunto de declarações que foram executadas por um programador no MySQL. 
CREATE TABLE TAB1 (MAT INT(10) NOT NULL, NOME VARCHAR(4) NOT NULL, FONE VARCHAR(9), PRIMARY KEY (MAT)); INSERT INTO TAB1 VALUES (0123456789, ‘ABC’, ‘XYZ’); CREATE VIEW V1 AS SELECT NOME, FONE, FONE+NOME AS VALUE FROM TAB1; SELECT * FROM V1; 

O resultado da declaração SELECT corresponde, respectivamente, a 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a E.

Para resolver esta questão, é necessário compreender a sintaxe e semântica da linguagem SQL, bem como conceitos de banco de dados como tabelas, campos, tipos de dados e chaves primárias. Também é preciso entender o propósito e a criação de views e realizar operações de inserção de registros e consultas básicas.

A criação da tabela TAB1 é bem-sucedida, com a coluna MAT como chave primária e não nula, a coluna NOME também não nula e a coluna FONE que pode ter valores nulos. O comando INSERT falha ao tentar inserir o valor 0123456789 na coluna MAT pois o valor começa por zero, e inteiros não possuem zeros à esquerda, o valor inserido será na verdade 123456789, e a coluna NOME, que possui uma restrição NOT NULL, receberia apenas 'ABC', que é uma string com 3 caracteres, sendo que a coluna requer 4 caracteres. Portanto, a inserção será rejeitada também pela ausência de um valor adequado para a coluna NOME.

A view V1 é criada com base na tabela TAB1, mas como a inserção falhou, ela estará vazia. A consulta SELECT * da view V1, portanto, não retornará nenhuma linha, resultando em um conjunto de resultados vazio.

Portanto, a alternativa correta é a E, pois a declaração SELECT correspondente resultará em um conjunto de resultados vazio.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

tem que utilizar a função concat :

http://paposql.blogspot.com.br/2011/11/concatenando-campos-no-mysql.html

Operadores aritméticos, tais como o sinal (+), só funcionam para valores numéricos.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo