Bom estou pensando em fazer um diagrama para criar o meu banco de dados
e pensei em alguns coisas porém estou com algumas dúvidas
usuario id usuario / registro (chave primaria) / numero do computador
requisição id req - id usuario - id computador / data de etrada / status
computador
id computador / numero do computador
Boletim de ocorrencia
id boletim / id req / serviços realizados / hora e data de saida / data - hora de entrada (vai está em relatorio, o que fazer com isso?)
Relatorio Peças
id relatorio_peças / id_peças / id_computador /
peças
id peças
1-fonte
2-hd
3-memoria
serviços realizados
id serv realizado
1-trocar fonte
2-trocar hd
bom uma das minhas dúvidas é
vou ter um campo para receber a data de entrada em relatorios
e vou ter um campo para receber a data de saida em boletim de ocorrencia
eu precisaria colocar um campo de data de entrada em boletim de ocorrencia tb? (só fazendo a relação com a tabela de requisições eu já consigo pegar esse dado? se sim como eu faria isso?)
outra dúvida é em relação a tabela computador
ele vai ter uma relação com o usuario através do “numero do computador” e também vai está na tabela de requisições
caso eu queria pegar a quantidade de vezes que um determinado numero do computado (ou id do computado tenha na tabela requisições) como eu faria isso e colocaria em um campo?
e isso que eu fiz está errado ou estou seguindo uma logica correta?
Não acho que essa relação de usuário e computador está correta. Veja bem:
Essa relação deveria ser pelo ID, e não pelo número do computador
Um usuário pode trocar de computador? Se sim, acho que para os relatórios, seria bom vc manter o histórico de computador e usuário. Com isso, vc teria que mudar esse relacionamento.
É por que cada computador tem um etiqueta com um numero, e ele é vinculado ao funcionario.
Não pode ser trocado.
Mesmo assim você acha que continua errada?
Fora isso está dentro dos padrões?
Acho que é difícil ter garantia de que um usuário nunca mais poderá trocar de computador, mas se a regra é essa, está OK. Não é questão de errado, é pensar num modelo que flexibilize possíveis mudanças futuras e que te dê histórico das coisas.
pensando nesse caso o que você me aconselharia caso sejá possível o usuário mudar de computador (que teria outro numero de computador )?
pq cada computador terá tipo um CPF que será esse numero.
e sobre isso
vou ter um campo para receber a data de entrada em relatorios
e vou ter um campo para receber a data de saida em boletim de ocorrencia
eu precisaria colocar um campo de data de entrada em boletim de ocorrencia tb? (só fazendo a relação com a tabela de requisições eu já consigo pegar esse dado? se sim como eu faria isso?)
você poderia me dar uma luz?
Uma Requisição irá gerar um Boletim de Ocorrência? Se sim, vc consegue obter a data da requisição através do boletim sem problemas. Basta fazer um join nessas tabelas.
sim
no caso como eu apenas preciso por o id de requisição em boletim
se fosse N: M
eu precisaria colocar o id de req em boletim e o id de boletim em requisição não é isso?
Depende. Só com o ID da requisição no boletim deveria resolver (se entendi bem o são essas entidades). Mas se vc quiser colocar o ID do boletim na requisição, tb não vejo problemas. O que vai influenciar msm é como o sistema se comporta na hora de manter essas duas entidades (fluxo da funcionalidade de manter a requisição)
vlw mano
só mais uma questão
eu estava pensando em por 2 campos
como estou programando em java desktop em um campo active como boolean
sendo 1 = online e 0 off line para fazer a verificação no programa e não deixar mais de uma pessoa logado no mesmo usuario
e também um campo privilegios
onde teria
0 / 1 / 2
0 = usuario normal / 1 = administrador / 2 = estágiario
você acha interessante criar tabelas e fazer o relacionamento ou por na tabela usuario mesmo?
Como PK de uma tabela, evite utilizar chaves naturais (matrícula, registro, cpf, rg, etc.), prefira as chaves burras (números auto incrementados). Isso vai facilitar o manuseio dos seus dados e qualquer evolução também.
tipo na hora de cadastrar o usuario terá que informar o número do computador que pertence a ele
e no relatorio seria preciso dessa informação
mas como já é fornecida em usuario não precisa não é?
estou com uma dúvida em relação as perguntas que são feitas
um Usuario tem quantos computadores?
Um computador por está associado a quantos usuarios?
///
creio q vou acabar me perdendo se utilizar o numero do computador como chave primaria,
mas fico com dúvida como vou associar o numero do computador a um computador que pertence a um usuario
kk isso buga a mente.
Entendi com essas 3 tabes ficaria mais fácil modificar caso o usuario mude de computador…
Agora eu não entendi essa tabela situação seria para qual motivo?
e sobre o relatorio
ele é para retornar um relatorio
com o motivo do computador está indo para sala de manutenção, a data e mostrar o status se está em processo ou finalizado
com esse relatorio eu irei fazer uma tabela boletim de ocorrencia ( onde irei botar todo o diagnostico do que foi feito no computador, serviços, peças utilizadas)