Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Mão na massa] companhia de seguros

Olá pessoal! Segue a minha solução para o exercício proposto.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

CREATE TABLE cs.Cliente
(
  id       INT     NOT NULL AUTO_INCREMENT,
  nome     VARCHAR NOT NULL,
  endereco VARCHAR NOT NULL,
  PRIMARY KEY (id)
);
CREATE TABLE cs.Agente
(
    id INT NOT NULL AUTO_INCREMENT,
    nome VARCHAR NOT NULL,
    escritorioID INT NOT NULL,
    PRIMARY KEY (id),
    FOREIGN KEY (escritorioID) REFERENCES cs.Escritorio(id)
);
CREATE TABLE cs.Politica
(
  id   INT  NOT NULL AUTO_INCREMENT,
  tipo char NOT NULL,
  PRIMARY KEY (id)
);
CREATE TABLE cs.Escritorio
(
  id         INT     NOT NULL AUTO_INCREMENT,
  nome       VARCHAR NOT NULL,
  localidade VARCHAR NOT NULL,
  PRIMARY KEY (id)
);
CREATE TABLE cs.Contratado
(
    id INT NOT NULL AUTO_INCREMENT,
    clienteID INT NOT NULL,
    agenteID INT NOT NULL,
    politicaID INT NOT NULL,
    PRIMARY KEY (id),
    FOREIGN KEY (clienteID) REFERENCES cs.Cliente(id),
    FOREIGN KEY (agenteID) REFERENCES cs.Agente(id),
    FOREIGN KEY (politicaID) REFERENCES cs.Politica(id)
);

Adicionei uma nova tabela para escritórios, desta forma cada tabela trata dados únicos referente ao seu título. Concluo, ao aplicar a 3ª forma normal, obtemos um banco de dados mais organizado, eficiente e fácil de manter. Essa normalização permite evitar problemas como anomalias de inserção, atualização e deleção, além de melhorar o desempenho das consultas.

2 respostas

Oie, Vitor! Como vai?

Excelente, parabéns! O seu código está bem estruturado e normalizado, você fez uma conclusão ótima!

É inspirador ver a sua dedicação, continue assim. E caso tenha alguma dúvida ou sugestão, conte conosco por aqui!

Bons estudos e até mais!

solução!

Ei Nathalia, obrigado pelo feedback! Espero poder contribuir para o crescimento da comunidade e dos alunos.