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
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 ;)