Quels avantages et inconvénients connaissez-vous des relations polymorphiques Ruby on Rails?Avantages et inconvénients des relations polymorphiques Ruby on Rails
Répondre
Avantages:
- Vous pouvez lier rien à quoi que ce soit assez facilement
- relations Adaptables aider à recevoir des circonstances imprévues
- Très facile à mettre en œuvre des relations
- grands pour les systèmes ad hoc
Inconvénients:
- clés étrangères ne pratique
- indices comprennent une autre dimension de la complexité
- Les relations entre les tables difficiles à identifier lors de l'utilisation des IST
- Base de données des outils de schématisation ne peuvent pas interpréter
- Pas toujours pratique pour rejoindre les modèles
- fortement Découragé pour les systèmes où l'intégrité des données doit être vérifiée
Je suis un grand fan de l'utilisation de relations de ce type pour les enregistrements qui sont attachés à un grand nombre de choses comme requis, par exemple, un commentaire ou un enregistrement d'annotation qui peut s'appliquer à une grande variété d'enregistrements.
Il n'est pas très bien adapté aux situations où la relation s'exerce fréquemment dans un JOIN. C'est-à-dire que l'association polymorphique ne devrait pas être au milieu d'une relation entre des enregistrements, mais plutôt comme quelque chose sur le périmètre.
Pouvez-vous expliquer pourquoi il n'est pas bien adapté pour être au milieu d'une relation entre les enregistrements? Les clés étrangères ne sont pas pratiques, mais l'intégrité est gérée sur la couche Rails plutôt que sur DB, n'est-ce pas? – Turadg
L'utilisation d'une association polymorphique au milieu signifie que vous avez un minimum de trois composants dans vos conditions de jointure, quatre si les deux sont polymorphes. Cela peut avoir un effet néfaste sur les performances car la taille de l'index peut augmenter considérablement avec le nombre d'éléments dans la clé concernée. Les index plus volumineux deviennent beaucoup plus coûteux à mettre à jour, il est donc avantageux d'indexer uniquement le minimum requis. Comme toujours, prenez le temps de comparer toute structure de base de données proposée avec des * grandes * quantités de données représentatives de votre système à l'échelle. – tadman
Réponse très claire, merci. – Turadg
- 1. Ruby on Rails Inconvénients
- 2. Ruby on Rails relations
- 3. Relations Ruby on rails
- 4. Ruby On Rails Relations - Un à plusieurs
- 5. Ruby on Rails vs Django
- 6. Avantages et inconvénients des stratégies d'échappement dans symfony
- 7. Avantages et inconvénients pour l'incorporation des manifestes
- 8. Avantages et inconvénients de DotNetNuke?
- 9. Castle Windsor ou Spring.NET - avantages et inconvénients
- 10. Ruby on Rails et XML
- 11. Ruby On Rails Relations avec le modèle ORM
- 12. LDAP et Ruby on Rails
- 13. Avantages et inconvénients de DFC et DFS?
- 14. Qu'est-ce qu'un bon hébergement Ruby on Rails et PHP?
- 15. Ruby on Rails et CruiseControl.rb
- 16. Accès aux relations MySQL avec Ruby on Rails
- 17. Analyseur XML et ses avantages et inconvénients
- 18. Ruby On Rails ID personnalisé
- 19. Utilisation de WebServiceHostFactory Avantages et inconvénients
- 20. Programmation sous machine virtuelle - avantages et inconvénients
- 21. Avantages et inconvénients de la sécurité azure
- 22. Quels sont les inconvénients d'AJAX on Rails?
- 23. Avantages et inconvénients pour CAAnimationGroup vs CAKeyframeAnimation
- 24. Avantages et inconvénients: Hibernate vs EJB 3
- 25. Utilisation des migrations dans Ruby on Rails
- 26. Avantages/inconvénients des environnements de script intégrés?
- 27. Avantages et inconvénients avec cache automatisé/manuel
- 28. Machinist vs FactoryGirl - avantages et inconvénients
- 29. Avantages et inconvénients d'utiliser les auditeurs d'interface
- 30. Avantages et inconvénients du fichier .htc
Ne le mettra pas comme une réponse, parce que je ne l'ai pas lu, mais cela semble être un assez grand article sur ce sujet: http://robots.thoughtbot.com/post/159809241/whats-the -deal-with-rails-polymorphic-associations –