Eu percebo, quando se fala em estruturas, obviamente se você diz "post tem muitos comentários" existem muitos registros sobre comentários relativos a cada post .
O que não entendo é em que contexto esses tipos de termos são usados. Estou pensando principalmente apenas em DBAL ou falando sobre design. Em todo caso, quando uma coisa " tem muitas " de outra, como e onde ela aparece?
A única maneira de pensar para responder a essa pergunta é com outro exemplo de hasMany que pode ou não responder à sua pergunta.
err, exceto que eu deveria ter chamado a tabela de "comentário", mas acho que o ponto permanece.
Não sei se isso realmente ajuda você a entender mais do que o que você já tinha.
Portanto, também compartilharei uma consulta que pode demonstrar como isso funciona:
que esperamos retornar muitas linhas, porque um post geralmente tem muitos comentários (em teoria, é claro que nem todos os posts terão comentários)
Atualizar:
Então, aqui está o problema das relações: elas são FÁCEIS de modelar via diagrama (veja a primeira ferramenta que usei para responder a esta pergunta), mas são DIFÍCEIS de diagramar via texto. Portanto, em vez de tentar definir se queremos dizer 1:M ou 0:N, apenas escrevemos em "próximo ao inglês" e dizemos o que pretendemos. Veja algumas alternativas:
Como você vê, eles podem ficar bastante complicados. Isso seria ... mais uma vez! ... indicam a necessidade de refatorar sua lógica de negócios em pedaços menores e mais simples.
Eles também podem ser chamados de "tipos de associação" e podem ser indicados por palavras como "WrittenBy" (muitos para um) ou "IsOwnedBy" (um para um? - o contexto é a chave)
Antes de me afastar do conceito "hasMany" pela última vez (bem, esta é uma atualização, mais provavelmente será escrito), quero mencionar que, embora seja útil para "descrições simples em inglês", também é usado em instalações com estilo ActiveRecord. Veja, por exemplo, Ruby. http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html O restante desta postagem (até agora) foi retirado dessa página:
Isso permite que o ActiveRecord ORM crie o modelo de dados e mantenha os relacionamentos conforme especificado pela lógica de negócios dentro do programa. Mas eu não escrevo Ruby ou Rails, então é o máximo que posso dizer, só sei que existe lá.