Pregunta

Me da cuenta, cuando se habla de estructuras, obviamente, si usted dice "comentarios posteriores hasMany" hay muchos registros sobre comentarios en relación con cada uno después .

Lo que no entiendo es por qué contexto este tipo de términos se utilizan en. Estoy pensando principalmente sólo en DBAL o hablar de diseño. En cualquier caso, cuando una cosa " hasMany " de otro cómo y dónde aparece?

¿Fue útil?

Solución

En cualquier caso, cuando una cosa hasMany de otra forma / ¿de dónde viene que se muestre en la aplicación y la base de datos lógica?

La única manera que puedo pensar para responder a esta pregunta es con otro ejemplo de hasMany que pueden o no responder a su pregunta.

un ejemplo de un hasMany usando mensajes y comentarios

err, excepto que debería haber llamado la mesa "comentario" pero creo que el punto se encuentra.

No sé que este realmente le ayuda a entender más de lo que ya tenía.

Así que también a compartir una consulta que podría demostrar cómo funciona este:

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 esperamos volver muchas filas, debido a un puesto generalmente tiene muchos comentarios (en teoría, por supuesto, no todas las entradas tendrán comentarios)


Actualización:

Así que aquí está la cosa sobre las relaciones: Son fáciles de modelo a través de diagrama (ver la primera herramienta que saca para responder a esta pregunta), pero que son difíciles de diagrama a través de texto. Así que en lugar de tratar de definir si nos referimos a 1: 0 M o N, que acaba de escribir en "cerca de Inglés" y decir lo que nos proponemos. He aquí algunas alternativas:

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

Como se puede ver que pueden llegar a ser muy complicado. Esto haría una vez más ...! ... indicar la necesidad de refactorizar su lógica de negocio en trozos más pequeños y más simples.

Estos pueden también ser llamados "tipos de asociación" y pueden ser indicados por verbage como "WrittenBy" (a muchos a uno) o "IsOwnedBy" (uno a uno -? Contexto es la clave)

Antes de alejarse de la concepción "hasMany" por última vez (bueno este es una actualización, más probable será escrita) Quiero mencionar que si bien es útil para "meras descripciones en inglés ", que también se usa en instalaciones de estilo ActiveRecord. Tomemos, por ejemplo, Ruby. http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods. html El resto de este post (hasta ahora) se toma de esa página:

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

Esto permite que el ActiveRecord ORM para crear el modelo de datos y para mantener las relaciones según lo especificado por la lógica de negocio dentro del programa. Pero no escribo Rubí o rieles de manera que por lo que yo puedo decir, sólo saben que existe allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top