Modérateur PHPfrance |
2575 Messages
05 janv. 2009, 17:23
La table "category_product_family" n'a pas de clé primaire car c'est une association entre "category" et "product_family" c'est pourquoi il y a deux index avec doublons (Key) qui vont jouer les rôles de clés étrangères. Et puisque cette table n'a pas de clé primaire, elle se contente d'un index unique (UNIQUE KEY ou UNIQUE INDEX) nommée 'Ligne_unique' qui est composée des deux champs 'category_id' et 'family_id' car on ne doit pas associer plus d'une fois une famille à une catégorie.
Alors, le fait que le champ 'category_id' soit déclaré tout seul comme index avec doublons (Key), c'est parce qu'il va jouer le rôle d'une clé étrangère liant la table 'category' à la table 'category_product_family'
Et cela n'empêche pas d'inclure ce même champ 'category_id' dans l'index unique associé avec le champ 'family_id'. Ce n'est pas gênant car il n'est pas seul dans l'index unique.
Conclusion:
Le champ 'category_id' a le droit de participer dans un index unique composée de plusieurs champs, même s'il est déjà déclaré tout seul comme index avec doublon (Key ou INDEX).
--------
//////----
//---
//----
//////
-------
//---
//----
//---
//----
//---
//
------
//////----
//////-----
//////
-----
||--------
||--
||---
||
Prendre le recul n'est pas une perte de temps.
ps:
Affrontez moi dans l'arène