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
Alternativa correta: A - Todas estão corretas.
A questão apresentada aborda o tema de criação de tabelas e relacionamentos em um banco de dados Oracle, utilizando a linguagem SQL. Para resolver essa questão, é necessário compreender os conceitos de chave primária, chave estrangeira, e as regras de integridade que governam o preenchimento de colunas em tabelas.
Começando pela assertiva I, a cláusula REFERENCES está, de fato, criando uma relação entre a tabela Livro e a tabela Editora. Ela especifica que o campo CodEditora na tabela Livro é uma chave estrangeira que corresponde à chave primária CodEditora na tabela Editora. Isso cria um vínculo entre as duas tabelas, garantindo que para cada livro inserido, deve existir uma editora correspondente.
Em relação à assertiva II, o campo CodEditora na tabela Editora é declarado como chave primária, o que implica que ele não pode receber o valor NULL. Isso faz parte das regras de integridade de chaves primárias, onde cada valor deve ser único e não nulo para identificar de forma inequívoca cada tupla na tabela.
Quanto à assertiva III, o campo ISBN na tabela Livro não possui a cláusula NOT NULL, indicando que seu preenchimento é opcional. Campos sem a restrição NOT NULL podem aceitar valores nulos, ou seja, podem não ser preenchidos.
Consequentemente, as três assertivas estão corretas, o que faz com que a alternativa A seja a correta. É importante compreender esses conceitos, pois eles são fundamentais para o trabalho com bancos de dados relacionais como o Oracle e frequentemente aparecem em concursos públicos na área de TI.
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