da linha 2 antes do comando da linha 1 não será bem-sucedida.
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
Alternativa correta: C - certo
O enunciado apresenta um script SQL que define o esquema de duas tabelas e realiza inserções de dados. Para entender a alternativa correta, é imprescindível compreender a ordem de criação das tabelas e as dependências entre elas devido às chaves estrangeiras.
A tabela 'prospectivas' possui uma chave estrangeira, 'fk_id_bsc', que faz referência à coluna 'id' da tabela 'bsc'. Para que a criação da tabela 'prospectivas' seja bem-sucedida, a tabela 'bsc' já deve existir no banco de dados.
A tentativa de criá-la na linha 2 antes de criar a tabela 'bsc' na linha 1 impediria a execução bem-sucedida do script, pois a referência para a chave estrangeira não existiria ainda. Portanto, é correta a afirmação de que a execução não será bem-sucedida.
Essa situação ilustra um conceito fundamental em bancos de dados relacionais, que é o respeito à integridade referencial, garantindo que as relações entre as tabelas sejam consistentes e válidas. A criação de uma chave estrangeira só é possível quando a tabela referenciada já foi criada e está disponível no banco de dados.
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
Correto. A tabela prospectivas tem uma chave estrangeira para a entidade bsc. Se executar o comando da linha 2 sem criar a tabela bsc (linha 1), haverá erro.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo