insert into perspectivas values (2, 1, 'CLIENTES'); ap...
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.
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