Enunciados de questões e informações de concursos
João está encarregado de projetar um banco de dados PostgreSQL para gerenciar informações sobre casos jurídicos e advogados, considerando as seguintes especificações:
\bullet a tabela "Caso" armazena informações sobre os casos, incluindo um identificador único “IDCaso” como chave primária;
\bullet a tabela "Advogado" armazena informações sobre os advogados, incluindo um identificador único “IDAdvogado” como chave primária;
\bullet cada caso pode ter vários advogados envolvidos;
\bullet um advogado pode estar envolvido em vários casos.
Nesse contexto, João precisa modelar um relacionamento “muitos-para-muitos” entre "Caso" e "Advogado". Para isso, ele deverá criar uma tabela de associação, denominada "Participacao", utilizando o script SQL:
IDParticipacao INT PRIMARY KEY,
IDCaso INT,
IDAdvogado INT,
FOREIGN KEY (IDCaso) REFERENCES Caso (IDCaso),
FOREIGN KEY (IDAdvogado) REFERENCES Advogado
(IDAdvogado));
IDCaso INT,
IDAdvogado INT,
PRIMARY KEY (IDCaso) REFERENCES Caso (IDCaso),
PRIMARY KEY (IDAdvogado) REFERENCES Advogado
(IDAdvogado),
FOREIGN KEY (IDCaso, IDAdvogado));
IDParticipacao INT PRIMARY KEY,
FOREIGN KEY (IDCaso) REFERENCES Caso (IDCaso),
FOREIGN KEY (IDAdvogado) REFERENCES Advogado
(IDAdvogado),
UNIQUE (IDCaso, IDAdvogado));
IDCaso INT PRIMARY KEY,
IDAdvogado INT PRIMARY KEY,
FOREIGN KEY (IDCaso) REFERENCES Caso (IDCaso),
FOREIGN KEY (IDAdvogado) REFERENCES Advogado
(IDAdvogado));