insert into perspectivas values (2, 1, 'CLIENTES'); ap...

Próximas questões
Com base no mesmo assunto
Q149277 Banco de Dados
01  create table bsc ( id int primary key, nome varchar(45));
02  create table prospectivas (
03  id_ bsc int not null,
04  id int primary key,
05  nome varchar (45),
06  constraint fk_id_bsc foreign key (id_bsc) references bsc (id)
07  );
08  insert into bsc values (1, 'SERPRO');
09  insert into bsc values (2, 'MANIFAZ');
10  insert into perspectivas values ( 1, 1,  'CLIENTES' );
11  insert into perspectivas values ( 1, 2,  'FINANCEIRA' );
12  insert into perspectivas values ( 1,  3,  'INTERNA' );
13  insert into perspectivas values ( 1,  4,  'INOVAÇÃO' ); 
14  select * from bsb as b, perspectivas as  p;
15  select * from bsb as b, perspectivas as  p where b.id = 1;

 
Considerando que o script SQL acima esteja sintaticamente correto a tentativa de execução do comando.
insert into perspectivas values (2, 1, 'CLIENTES'); após a execução do script acima, não será bem-sucedida.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C - Certo

A questão explora o conhecimento sobre a integridade referencial em bancos de dados SQL. A tentativa de inserção do valor na tabela perspectivas falhará devido à violação da constraint de chave estrangeira (foreign key) definida entre as tabelas prospectivas e bsc.

A instrução de criação da tabela prospectivas (linhas 02-07) especifica que id_bsc é uma chave estrangeira que faz referência à coluna id da tabela bsc. Essa relação impõe que qualquer valor inserido na coluna id_bsc na tabela prospectivas deve existir na coluna id da tabela bsc. No entanto, o insert na linha 14 tenta inserir o valor 2 na coluna id_bsc, que não existe na tabela bsc, uma vez que apenas os valores 1 e 2 foram inseridos na tabela bsc (linhas 08 e 09), relacionando-se apenas com o SERPRO e MANIFAZ, respectivamente.

Portanto, a tentativa de inserção falharia, pois a integridade referencial exige que o valor 2 esteja presente como um id na tabela bsc, o que não é o caso após a execução do script.

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

Certo. Haverá violação de chave primária porque a tupla insert into perspectivas values ( 1, 1,  'CLIENTES' ); foi inserida anteriormente.

Foi criada a tabela PROSPECTIVAS (l2.) e não PERSPECTIVAS.

Clique para visualizar este comentário

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