¿Qué ventajas y desventajas conoces de las relaciones polimórficas de Ruby on Rails?Ventajas y desventajas de las relaciones polimórficas de Ruby on Rails
Respuesta
Ventajas:
- Puede vincular cualquier cosa a cualquier cosa con bastante facilidad
- relaciones adaptables ayudan a acomodar circunstancias imprevistas
- muy fácil de implementar relaciones
- Excelente para sistemas ad-hoc
Desventajas:
- Las claves externas no prácticos
- índices incluyen otra dimensión de complejidad
- relaciones entre tablas difíciles de identificar cuando se utiliza ITS herramientas de diagramación
- de bases de datos no pueden interpretar
- no siempre es práctico para unirse a los modelos
- Fuertemente desaconsejado para sistemas donde la integridad de datos debe ser verificada
Soy un gran admirador de utilizar relaciones de este tipo para registros que se adjuntan a una gran cantidad de elementos según sea necesario, por ejemplo, un comentario o registro de anotación que puede aplicarse a una amplia variedad de registros.
No es muy adecuado para situaciones donde la relación se ejerce en una JOIN con frecuencia. Es decir, la asociación polimórfica no debería estar en el medio de una relación entre registros, sino como algo en el perímetro.
¿Puedes explicar por qué no es adecuado para estar en medio de una relación entre registros? Las claves externas no son prácticas, pero la integridad se maneja en la capa de Rails en lugar de DB, ¿verdad? – Turadg
Usar una asociación polimórfica en el medio significa que tiene un mínimo de tres componentes para sus condiciones de unión, cuatro si ambas relaciones son polimórficas. Esto puede tener un efecto muy perjudicial en el rendimiento ya que el tamaño del índice puede crecer considerablemente con la cantidad de elementos en la clave involucrada. Los índices más grandes se vuelven mucho más caros de actualizar, por lo que es conveniente indexar solo el mínimo requerido. Como siempre, tómese el tiempo para comparar cualquier estructura de base de datos propuesta con cantidades * grandes * de datos representativos de su sistema a escala. – tadman
Respuesta muy clara, gracias. – Turadg
- 1. Ruby on Rails vs Django
- 2. Ventajas y desventajas de DotNetNuke?
- 3. Ventajas y desventajas de NHibernate
- 4. Ventajas y desventajas de BPMN?
- 5. Denominación de relaciones polimórficas bien
- 6. Relaciones polimórficas y contador de caché
- 7. WCF: ventajas y desventajas
- 8. Android NDK ventajas y desventajas
- 9. Ruby on rails y Node.js
- 10. Ventajas y desventajas de usar java rmi
- 11. Ventajas y desventajas de usar Enterprise Library
- 12. Ventajas y desventajas de usar Storyboarding?
- 13. ¿Cuáles son las ventajas y desventajas de usar esquemas XML?
- 14. ¿Cuáles son las ventajas y desventajas de usar boost :: iterator_facade?
- 15. ¿Cuáles son las ventajas y desventajas de usar el GAC?
- 16. ¿Cuáles son las ventajas y desventajas de usar OpenID?
- 17. ¿Cuáles son las ventajas y desventajas del Patrón de propiedades?
- 18. Combinación de Ruby on Rails y Backbone
- 19. Ruby on rails y problema de Heroku
- 20. Ventajas y desventajas de los métodos encadenables?
- 21. Docsplit Ruby on Rails
- 22. Ventajas/desventajas de punteros automáticos
- 23. Ruby vs. Ruby on Rails
- 24. Ruby on Rails will_paginate
- 25. Ventajas y desventajas de tener una clave primaria compuesta ...
- 26. ¿Cuáles son las ventajas/desventajas de usar Add-on SDK para desarrollar mi extensión de Firefox?
- 27. Usos de Ruby on Rails
- 28. Ruby on Rails y prevención XSS
- 29. Ruby on Rails enviar
- 30. CCI vs. Mono.Cecil: ventajas y desventajas
No lo voy a poner como una respuesta, porque no lo he leído, pero este parece ser un artículo bastante grande sobre este tema: http://robots.thoughtbot.com/post/159809241/whats-the -deal-with-rails-polymorphic-associations –