Question

Je me rends compte, quand on parle de structures, évidemment, si vous dites "commentaires après hasMany" il y a beaucoup de dossiers sur commentaires se rapportant à chaque après .

Ce que je ne comprends pas quel contexte ce genre de termes sont utilisés. Je pense surtout que dans DBAL ou parler de la conception. Dans tous les cas, quand une chose « hasMany » d'une autre façon et où est-il afficher?

Était-ce utile?

La solution

  

Dans tous les cas, quand on hasMany chose d'une autre façon / où il ne se présente dans la logique de l'application et la base de données?

La seule façon que je peux penser à répondre à cette question est un autre exemple de hasMany qui peuvent ou peuvent ne pas répondre à votre question.

un exemple de hasMany en utilisant les messages et commentaires

err, sauf que je aurais dû appeler la table « commentaire » mais je pense que le point se trouve.

Je ne sais pas ce que vraiment vous aide à comprendre plus que ce que vous avez déjà eu.

Je vais aussi partager une requête qui pourrait démontrer comment fonctionne:

declare @var char(5)
set @var = 'query'

select
   c.id
  ,c.text
  ,c.author
from comment c
inner join post p
   on p.id = c.parentid

que nous attendons à retourner plusieurs lignes, car un poste a généralement beaucoup de commentaires (en théorie, bien sûr pas tous les messages auront des commentaires)


Mise à jour:

Alors, voici la chose au sujet des relations: ils sont faciles à modèle par diagramme (voir le premier outil que je tirai à répondre à cette question), mais ils sont difficiles à diagramme via le texte. Ainsi, au lieu d'essayer de déterminer si nous entendons 1: M ou 0: N, nous venons de l'écrire dans « près de l'anglais » et dire ce que nous avons l'intention. Voici quelques alternatives:

one to one           hasOne               post hasOne author (not true for CW ;])
one to many          hasMany              The one in question
many to one          belongsTo            parent child, comments belongTo post
many to many         hasAndBelongsToMany  This describes a complex relationship
many to many to many hasManyAndBelongsToMany

Comme vous le voyez, ils peuvent être assez compliqué. Ce serait ... une fois de plus! ... indiquer un besoin de refactoriser votre logique métier en morceaux plus simples et plus petits.

Ceux-ci peuvent également être appelés « types d'association » et peut être indiquée par verbage comme « WrittenBy » (un nombre à un) ou « IsOwnedBy » (un à un - contexte est la clé)

Avant que je marche loin du concept « hasMany » pour la dernière fois (bien ce une mise à jour, plus sera probablement écrit) Je tiens à mentionner que pendant qu'il est utile pour les « descriptions anglais simples », il est également utilisé dans les installations de ActiveRecord. Prenez, par exemple, Ruby. http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods. html Le reste de ce poste (jusqu'à présent) est tirée de cette page:

class Project < ActiveRecord::Base
  belongs_to              :portfolio
  has_one                 :project_manager
  has_many                :milestones
  has_and_belongs_to_many :categories
end

Cela permet au ActiveRecord ORM pour créer le modèle de données et de maintenir les relations comme spécifié par la logique métier au sein du programme. Mais je ne sais pas écrire Ruby ou Rails pour que ce pour autant que je peux vous dire, je juste qu'il existe là.

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top