11

Estoy leyendo acerca de la herencia de tabla de clase (CTI) y encuentro que la prefiero en general. La pregunta que tengo es, ¿hay algún caso de uso específico para la herencia de tabla única (STI) donde lo usaría sobre CTI?¿Herencia de tabla única o herencia de tabla de clase?

leí http://rhnh.net/2010/07/02/3-reasons-why-you-should-not-use-single-table-inheritance y por lo que yo sé, es sólido. El caso de uso para STI es una diferencia en el comportamiento pero no en los datos.

Respuesta

7

me gustaría apuntar a un gran artículo que he encontrado que explica con claridad por qué y cuándo utilizar CTI. LINK

+0

gracias por este – apneadiving

+1

Además, otro vínculo que el suyo era me llevan a http://peterhamilton.github.com/citier/ que tiene un montón de blogs enlaces sobre esto. Gracias. – SpaceGhost

+0

@SpaceGhost No hay un sitio de Páginas GitHub aquí. –

0

uso de ITS para las diferencias de comportamiento como usted ha dicho. Un ejemplo que utilizaría sería:

Tiene compras, y tiene compras parciales, la única diferencia con los datos es que cuando finaliza una compra parcial, se relaciona con una compra recién creada.

lo tanto, el comportamiento es diferente, también, hay casos en los que me gustaría PartialPurchase y comprar a aparecer en la misma consulta. Para un agente comercial, quieren ver todas sus compras y compras parciales al mismo tiempo, por lo que tiene sentido que estos datos estén en la misma tabla. De lo contrario, todos los atributos son los mismos para cada modelo.

En ese caso usaría STI sobre CTI.

Aunque si los datos empezaran a diferir mucho, probablemente crearía otra tabla que se relacione con la tabla STI, y en el caso de muchos campos diferentes, probablemente pensaría en CTI.

Cuestiones relacionadas