Uma empresa aérea possui um sistema de informação para regis...

Próximas questões
Com base no mesmo assunto
Q2319357 Banco de Dados
Uma empresa aérea possui um sistema de informação para registrar as reservas de passagens de seus passageiros nos voos que oferece. O esquema desse banco de dados foi criado com os seguintes comandos SQL:

CREATE TABLE PASSAGEIRO (                 CODIGO NUMERIC(5) NOT NULL,                 NOME TEXT NOT NULL,                 PRIMARY KEY (CODIGO));
CREATE TABLE VOO (             NUMERO NUMERIC(3) NOT NULL,             ORIGEM TEXT NOT NULL,             DESTINO TEXT NOT NULL,             NUM_LUGARES NUMERIC(3) NOT NULL,             PRIMARY KEY (NUMERO));
CREATE TABLE RESERVA (                 NUM_VOO             NUMERIC(3)            NOT NULL,                 CD_PASS               NUMERIC(5)           NOT NULL,                 PRIMARY KEY (NUM_VOO, CD_PASS),                 FOREIGN KEY (NUM_VOO)                               REFERENCES VOO(NUMERO),                 FOREIGN KEY (CD_PASS)                              REFERENCES PASSAGEIRO(CODIGO));

Na Figura a seguir, são exibidos os estados atuais dessas tabelas.

Imagem associada para resolução da questão


Qual comando SQL será executado sem produzir erro?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

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

A) ERRADO - O CODIGO está sendo usado na tabela RESERVA

B) CORRETO

C) 56000 não pertence a nenhum passageiro

D) 56390 é uma chave primária e já está associada ao FELIPE DE SOUZA

E) Este voo está associado à tabela RESERVA. Ele deve ser atualizado lá também

Essa questão é quase inteira sobre Foreign Keys. Para respeitar as restrições de integridade:

1- Toda valor em uma coluna que seja FOREIGN KEY deve ser igual a um valor na coluna a qual referencia, ou ser null. Por causa disso a C está errada, 56000 não é o id de nenhum passageiro da tabela PASSAGEIRO.

2- Um SGBD não permite que uma KEY que está sendo referenciada por um FOREIGN KEY em outra tabela seja deletada ou atualizada se for gerar uma quebra na integridade da outra tabela. Por isso é usado as CONSTRAINTS do tipo "On DELETE set NULL, on UPDATE CASCADE". Assim, alterações na chave refenciada são automaticamente atualizadas nas devidas tabelas as quais a referenciam.

tendo que fazer questão com bloco de notas pra indentar os códigos

Clique para visualizar este comentário

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