OVH Cloud OVH Cloud

Relation vers deux entites

1 réponse
Avatar
Zouplaz
Bonjour, imaginons la situation suivante :

- une entité fournisseur : fourn_id, etc.
- une entité client : cli_id, etc.

- une entité edoc (document electronique) : edoc_id, edoc_title

Je dois associer pouvoir associer plusieurs edoc soit à un fournisseur,
soit à un client.

Pour l'instant je ne vois pas d'autre solution que d'avoir deux entités :

- edoc_fourn : edocfourn_id, edocfourn_title, fourn_id
- edoc_client : edoccli_id, edoccli_title, cli_id


Bien, ça semble logique - le problème c'est que j'ai la même entité deux
fois - Comment faire si j'ai des edoc pour des (imaginons) employes,
prospects, etc.

Alors je me dis que je pourrais :

- avoir une seule entité
- avoir deux propriétés "owner_id" et "edoc_type"

owner_id aurait pour valeur soit un fourn_id, soit un cli_id, etc.
edoc_type aurait pour valeur soit 1 pour un edoc associé à un fournisseur,
soit 2 si c'est un client, et ainsi de suite



Mais je sais pas pourquoi je trouve cette solution un peu bancale - l'idée
d'avoir une relation conditionnelle me semble bizarre... D'ailleurs, sur
mon MCD je ne pourrais pas la faire figurer (autrement que par une relation
informative)


Qu'en pensez-vous ?


Merci

1 réponse

Avatar
Zouplaz
Fred Brouard - SQLpro wrote in
news:42e74e93$0$301$:

bonjour,

il faut donc une super entité utilisateur, dont les héritiers sont
fournisseur et client.

Voir mon papier sur l'héritage dans la modélisation des données :
http://sqlpro.developpez.com/cours/modelisation/heritage/




Merci beaucoup !
Pourtant j'aurais pu y penser tout seul mais c'est exactement ça...