Disons que je conçois une base de données pour un scénario où il existe une relation un à zéro ou un (1-0..1). Par exemple:
- Il existe un ensemble d' utilisateurs , et certains utilisateurs peuvent également être des clients .
J'ai donc créé les deux tableaux correspondants, userset customers, mais…
… Quelle est la meilleure façon de représenter et de mettre en œuvre cette situation dans une plate-forme SQL donnée? J'ai envisagé deux solutions possibles:
Dans le
userstableau, ajoutez lacustomercolonne qui peut être une référence FOREIGN KEYcustomersou uneNULLmarque.Dans le
customerstableau, incluez uneusercolonne (définie avec uneUNIQUEcontrainte) qui pointe vers leuserstableau.
J'ai déjà posé une question similaire dans certains forums, mais la réponse était essentiellement «tout ce dont vous avez besoin», «tout ce que vous pensez commode». Je n'aime pas ce genre de réponse. Je veux plutôt un morceau sérieux de théorie DB, une réponse bien fondée. Où puis-je lire sur les relations 1-0..1?