Considere os seguintes comandos: CREATE TABLE Editora( ...
CREATE TABLE Editora( CodEditora NUMBER(4) PRIMARY KEY, nome VARCHAR2(50) NOT NULL )
CREATE TABLE Livro( CodLivro NUMBER(6) PRIMARY KEY, Titulo VARCHAR2(50) NOT NULL, Paginas NUMBER(4) NOT NULL, Edicao NUMBER(2) NOT NULL, ISBN NUMBER(11), CodEditora NUMBER(4) NOT NULL REFERENCES Editora(CodEditora) )
Analise as assertivas abaixo e assinale a alternativa correta.
I. A cláusula REFERENCES está criando uma chave estrangeira que relaciona a tabela Livro com a tabela Editora. II. O campo CodEditora na tabela Editora pode receber o valor NULL ao ser inserida ou alterada uma tupla. III. O campo ISBN tem preenchimento opcional.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: A
Fundamento decisivo: Critério decisivo: PRIMARY KEY implica não nulidade, REFERENCES cria a chave estrangeira e a ausência de NOT NULL permite NULL. No DDL, "CodEditora NUMBER(4) PRIMARY KEY" em Editora impede NULL; "CodEditora NUMBER(4) NOT NULL REFERENCES Editora(CodEditora)" em Livro sustenta a assertiva I; "ISBN NUMBER(11)" sustenta a assertiva III. Assim, a base técnico-conceitual aponta I e III corretas, em conflito com o gabarito oficial A.
- Leia separadamente a coluna referenciada e a coluna referenciante; não transfira propriedades de uma para a outra sem apoio textual.
- Sempre trate "PRIMARY KEY" como restrição que já implica não nulidade, ainda que "NOT NULL" não apareça explicitamente.
- Em DDL, a ausência de "NOT NULL" é dado decisivo para concluir que o preenchimento da coluna é opcional.
- Se o DDL sustentar uma combinação sem alternativa correspondente, registre o conflito técnico em vez de forçar uma conclusão incompatível com as restrições declaradas.
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
Gabarito está letra A mas está incorreto.
"II. O campo CodEditora na tabela Editora pode receber o valor NULL ao ser inserida ou alterada uma tupla." está incorreto.
Colunas PRIMARY KEY não podem receber NULL.
Para referência: https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj13590.html
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo