Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

DÚVIDA: MAO NA MASSA TABELA TURMA Disciplinas

OLÁ,

no desafio pratico na sessao mao na massa, tem a observação Os dois campos juntos formam a chave primaria da tabela, nas tabelas turma_alunos e Turma_disciplina.

Fiquei em duvida se o código correto é:

 CREATE TABLE Turma_Disciplinas (
   ID_TURMA INT,
   ID_DISCIPLINAS INT,
   PRIMARY KEY (ID_TURMA, ID_DISCIPLINAS),
   FOREIGN KEY (ID_TURMA) REFERENCES Turmas(ID_TURMA),
     FOREIGN KEY (ID_DISCIPLINAS) REFERENCES Disciplinas(id_disciplina)
     );

ou

 CREATE TABLE Turma_Disciplinas (
   ID_TURMA INT,
   ID_DISCIPLINAS INT,
   FOREIGN KEY (ID_TURMA) REFERENCES Turmas(ID_TURMA),
     FOREIGN KEY (ID_DISCIPLINAS) REFERENCES Disciplinas(id_disciplina)
     );
 o que quer dizer Os dois campos juntos formam a chave primaria da tabela?
 
 att
 
 gustavo
1 resposta
solução!

Oii Gustavo, tudo bem?

Quando a observação menciona que "Os dois campos juntos formam a chave primária da tabela", isso significa que a combinação dos valores de ID_TURMA e ID_DISCIPLINAS deve ser única para cada registro na tabela. Ou seja, não pode haver duas linhas na tabela com o mesmo ID_TURMA e ID_DISCIPLINAS ao mesmo tempo. Isso é útil para garantir que cada turma seja associada a uma disciplina de maneira única.

Dessa forma, a primeira opção que você listou é a correta:

CREATE TABLE Turma_Disciplinas (
  ID_TURMA INT,
  ID_DISCIPLINAS INT,
  PRIMARY KEY (ID_TURMA, ID_DISCIPLINAS),
  FOREIGN KEY (ID_TURMA) REFERENCES Turmas(ID_TURMA),
  FOREIGN KEY (ID_DISCIPLINAS) REFERENCES Disciplinas(id_disciplina)
);

Aqui, PRIMARY KEY (ID_TURMA, ID_DISCIPLINAS) define que a combinação dos campos ID_TURMA e ID_DISCIPLINAS é a chave primária da tabela, garantindo a unicidade mencionada. E, cada um desses campos é definido como uma chave estrangeira que referencia a respectiva tabela (Turmas e Disciplinas), garantindo a integridade referencial.

Um abraço e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software