Considere os seguintes comandos: CREATE TABLE Livro(  CodL...

Próximas questões
Com base no mesmo assunto
Q2172667 Banco de Dados
 Considere os seguintes comandos:
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) ) CREATE TABLE Autor(    CodAutor NUMBER(5) PRIMARY KEY,    nome VARCHAR2(50) NOT NULL, )
Agora analise as três assertivas a seguir para criação de tabela que relaciona a tabela livro com a tabela autor, de forma que um livro pode ter diversos autores e um autor pode escrever diversos livros:
Imagem associada para resolução da questão

Sobre as assertivas acima, analise as seguintes afirmações:
I. A assertiva III é mais simples e cria corretamente a tabela que relaciona Livros com Autores.
II. A assertiva II define constraints de tabela para as chaves estrangeiras que, nesse caso, são correspondentes às constraints de coluna, pois são definidas sobre um campo simples.
III. A assertiva I não precisaria definir uma constraint de tabela para a chave primária, pois é possível definir uma chave primária composta diretamente nos campos.

Quais afirmações estão corretas?
Alternativas

Comentários

Veja os comentários dos nossos alunos

sobre I. A assertiva III é mais simples e cria corretamente a tabela que relaciona Livros com Autores. Está errada.

Não é possível ter duas colunas como chaves primárias em uma mesma tabela.

Uma correção possível seria:

CREATE TABLE LIVROAUTOR (

  CODLIVRO NUMBER(6) NOT NULL,

  CODAUTOR NUMBER(5) NOT NULL,

  PRIMARY KEY (CODLIVRO, CODAUTOR),

  FOREIGN KEY (CODLIVRO) REFERENCES LIVRO (CODLIVRO),

  FOREIGN KEY (CODAUTOR) REFERENCES AUTOR (CODAUTOR)

);

Sobre "III. A assertiva I não precisaria definir uma constraint de tabela para a chave primária, pois é possível definir uma chave primária composta diretamente nos campos."... eu não achei o erro! Ajuda por favor.

Clique para visualizar este comentário

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