Olá, sou novo no design de banco de dados, mas estou tentando garantir que as coisas sejam feitas corretamente na primeira vez, para não adquirir maus hábitos. Minha pergunta é que tenho um conjunto de pessoas para as quais desejo registrar necessidades mapeadas por importância. As necessidades devem ser retiradas de um conjunto para evitar duplicações. Cada pessoa pegará um subconjunto delas e classificará sua importância. ou seja, necessidades =[chá, biscoitos, instalações sanitárias, acesso à internet] Pessoas = [Phil, Bryan]
Phil precisa de chá e biscoitos, chá com uma importância de 10 biscoitos com uma importância de 3.
Bryan precisa de acesso à internet e biscoitos com importância de 4 e 7, respectivamente.
Como você sugeriria organizar as tabelas para implementar isso. Obrigado
O que você precisa é de um design como este:
Mantenha sua lista de pessoas em uma tabela. Em seguida, mantenha outra tabela com a lista de coisas que várias pessoas podem precisar. Normalizar pessoas e coisas necessárias é importante para poder escrever consultas simples e confiáveis sobre seus dados da perspectiva de uma pessoa individual ou de uma coisa específica necessária.
Use uma terceira tabela para acompanhar quem precisa de quê e o quanto eles precisam.
Quando você projeta um banco de dados, a primeira parte é desenhar o diagrama ER depois de desenhá-lo, você pode decidir qual é a chave primária, chave estrangeira etc. Ao desenhar um diagrama ER, você pode encontrar facilmente o que todas as coisas estão repetindo e pode usar a normalização para isso . Certos softwares também estão disponíveis para projetar o diagrama ER como mysql workbench etc, espero que isso ajude