Insertion

Résolu
cs_le_totophe Messages postés 51 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 26 mai 2007 - 6 févr. 2007 à 14:53
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 7 févr. 2007 à 23:48
Bonjour à tous,

je voudrais gérer des contacts au sein d'une base de données qui comporte (schématiquement) une table avec un champ contact_id auto-incrémenté.
Il y a 2 types de contacts: les sociétés et les personnes, chaque type a sa table contenant pour les sociétés un champ org_id et pour les personnes un champ person_id.

Comment insérer un contact dans ces conditions, suis-je obligé d'insérer un contact puis de récupérer la valeur de contact_id (le champ auto-incrémenté) que je garde et que je passe en paramètre lors d'INSERT dans la table soit des personnes soit des sociétés,
ou est-il possible de faire une jointure en insertion
ou y a-t'il une autre solution ???

Je suis débutant en SQL donc peut-être la réponse vous paraitra-t'elle évidente mais pas à moi.
D'avance merci à tous !

1 réponse

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
7 févr. 2007 à 23:48
Salut,

C'est un problème connu de mapping O/R
Il y a deux solutions
Soit Sur trois tables comme tu l'a apparament fait
avec une clé etrangere sur la table contact

Soit en 1 table contact ou tout les champs sont dans la meme table
avec une colonne type.

La premiere solution est pour moi la plus propre et evolutive
La deuxieme la plus rapide, mais plmus volumineuse au niveau base et complexe
pour les traitements je pense.

Dans ce pdf tu auras des infos supplémentaires
http://www.polytech.unice.fr/~salvan/Log02/LOG2_Mapping_Objecs_To_RDB.pdf

Voila
3
Rejoignez-nous