Il s'agit d'une question de base de conception de base de données. Je veux une table (ou plusieurs tables) définissant les relations entre les clients. Je le veux afin que PrimaryCustomer puisse être lié à plusieurs SecondaryCustomers, et peut avoir plusieurs SecondaryCustomers avec la même relation.Conception de base de données - définition d'une relation de base plusieurs-à-un
PrimaryCustomerID RelationshipID SecondaryCustomerID
1) Si la clé primaire est {PrimaryCustomerID}
alors je ne peux avoir un client lié d'aucune sorte.
2) Si la clé primaire est {PrimaryCustomerID, RelationshipID}
, je ne peux avoir qu'un seul client lié pour chaque type de relation.
3) Si la clé primaire est {PrimaryCustomerID, RelationshipID, SecondaryCustomerID}
, alors je peux avoir tout ce que je veux, mais avoir toutes les colonnes comme clé primaire semble complètement faux.
Quelle est la bonne façon de configurer les choses?
> Il n'y a rien de mal en principe avec des clés composées ou des tables tout-clés. OK merci. – ColdAndTired