Projeto Banco de Dados Oficina Refinado
- #MySQL
Quem puder revisar esse projeto eu agradeço. Fiquei com um pouco de dúvidas em relação ao relacionamento.
Agradeço
Access unlimited bootcamps and 650+ courses forever
Quem puder revisar esse projeto eu agradeço. Fiquei com um pouco de dúvidas em relação ao relacionamento.
Agradeço
Sim.
https://github.com/maxximogr/Projeto-Banco-de-Dados.git
Colocou no github?
Muito obrigado!
Irei refatorar.
Olá, vou deixar algumas considerações baseadas no meu mainset
Precisa refatorar algumas coisas:
♦ O relacionamento CLIENTE, VEICULO gera uma nova tabela N:N pois um cliente pode ter 1 ou mais veiculos.
♦ Da mesma maneira SERVICO e ORCAMENTO, onde um orçamento gera mais de um serviço, é necessário uma tabela N:N para representar este movimento.
♦ Em FUNCIONARIO você colocou uma fk referenciando a EQUIPE e em EQUIPE você referenciou FUNCIONARIO, ao meu ver as duas abordagens dariam certo, porém uma ou a outra. Porém pede que um funcionário participe somente de uma equipe, assim crie equipe e referencie em funcionário por meio de uma fk.
♦ Na tabela ESTOQUE você criou uma relação 1:1 com TABELA_SERVICO, caso você pretenda adicionar os itens você precisa criar um N:N com com estoque gerando uma tabela ITEM_SERVICO por exemplo, que irá receber o "id_item" e a "quantidade" e "id_tabela_servico", isso implica em refatorar a estrutura estoque e criar uma tabela que armazene os itens previamente.
♦ A relação ESTOQUE e FUNCIONARIOS não existe o porque dela, neste contexto.
♦ Se não me engano, após a avaliação é destinado a uma equipe que irá fazer o concerto do veiculo, então sua tabela ANALISE_VEICULO não deveria existir *** Confere este ponto do contexto pra ter certeza, talvez eu esteja errado ***
♦ FUNCIONARIO tem um campo "departamento_de_compras" e não faz sentido existir...
♦ A tabela EXECUCAO_OS ficou perfeita o relacionamento, seria interessante você adicionar um PRIMARY KEY(id) nela, para você conseguir fazer pesquisas dela posteriormente utilizando INNER JOIN.
♦ o atributo "data_conclusao" na tabela ORDEM_SERVICO está como NOT NULL, ou seja, quando você adicionar um dado nesta tabela, você vai precisar adicionar uma data de conclusão, só que não sabemos a data de conclusão no momento da inserção dos dados, desta maneira não pode utilizar NOT NULL neste contexto.
Bom passando o olho basicamente estes pontos que posso salientar que querem mudanças, acho que vai te dar um norte legal, aplique estes conceitos para todas entidades, eu preciso refatorar o meu projeto tbm, quando você for criar o banco de dado, vai notar algumas coisas "faltando" e é normal, cabe você refatorar seu esquema, este processo é normal.
Espero ter ajudado ;)