Bonjour à tous,
J'essaye d'apporter le plus grand soin possible à l'architecture de ma base de données (je sais que je ne le regretterai pas quand je ferai évoluer mon architecture, et que c'est la clé pour quelque chose de robuste). Toutefois je me pose une petite question.
J'utilise l'ORM Doctrine 2, pour lequel je spécifie mes relations via des annotations, et qui me génère le code SQL correspond. Dans une de mes tables, je dispose de deux relations ManyToOne, et Doctrine me génère deux index ces deux clés étrangères. Or, ce couple (fk_1, fk_2) est garantit comme unique dans mon schéma, et j'ai donc ajouté une annotation au niveau de l'ORM pour qu'il génère une contrainte unique au niveau de ces deux clés étrangères.
Je dispose donc de quatre clés :
- la clé primaire.
- une contrainte unique composée de fk_1 et fk_2
- un index sur fk_1
- un index sur fk_2
Ma question est justement de savoir si ajouter la contrainte unique est utile sachant que je dispose déjà de ces index sur les deux clés étrangères (sachant qu'il est impossible de supprimer ces index au niveau de l'ORM, pour ne garder que la contrainte d'unicité).
Merci![]()
Partager