ihsan19
Messages postés5Date d'inscriptionmardi 9 septembre 2008StatutMembreDernière intervention21 novembre 2015
-
26 sept. 2008 à 14:01
Someone -
13 août 2013 à 16:42
Bonjour
J'ai un probleme d'integrite referentielle entre 2 tables
La premiere table comporte les tarifs des clients ( table_prix_code)
elle se compose : code_serv,code_tarif, prix_serv
vous l'avez compris la clé primaire est sur 2 champs
La seconde table est la table_client : code_client , nom_client, ............, code_tarif)
Le soucis c'est je ne peu pas indexe sans doublons le champs code_tarif dans les 2 tables
Mon probleme c'est que je ne peu pas avoir d'integrité referentielle.
j'ai besoin de cette integrité pour faire une facture.
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 20101 26 sept. 2008 à 23:45
Bonsoir,
Je ne suis pas sûr de comprendre ce que tu veux faire.
Deux clés primaires dans une même table, cela n'est pas possible.
Il te faut, je crois, analyser ta situation.
Si je comprends ce que tu veux faire, il me semble qu'il te faudrait au moins 4 tables (mais je peux me tromper, je ne suis pas très connaisseur en organisation de bdd). Ici, id... indique le champ qui est clé primaire quand il est en première position, et clé secondaire quand il est à une autre position :
Table 1 :
idServ, prixServ, etc.
Table 2 :
idClient, Nom_Client, etc.
Table 3 (qui lie un n° de facture à un client, et qui sera en quelque sorte ta table maîtresse)
idFacture, idClient, etc.
Table 4 (qui donne le détail de la facture, avec les 'serv')
idDetail, idFacture, idServ, etc.
en créant les relations adéquates, c'est-à-dire T3 vers T2 et T4 vers T1 et T3.
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 27 sept. 2008 à 22:04
Salut
Tu peux exécuter des ordres SQL en direct sur ta base
exemple
dans la fenetre de requete
alter table table_prix_code add constraint nom_unic_01 unique (code_serv,code_tarif)
Je ne sais pas trop si j'ai compris ta demande (elle est pas tres claire)
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 20101 29 sept. 2008 à 23:27
Bonsoir,
Il y a trois choses que je ne comprends dans ton explication :
1/ quel est le rapport entre ta table article et ta table prix_code ? Parce que si ce que tu soulignes, ce sont les clés primaires, je ne vois pas comment tu comptes relier la première table à l'autre. Sinon, tu ne donnes pas tes clés ?
2/ si à chaque client correspond non seulement un code_tarif, mais encore un code_tarif pour chaque article (par exemple, le client 1 peut avoir le code_tarif 1 pour l'article 2 et le code_tarif 2 pour l'article 3, etc.), tu ne peux pas contruire ta table_client comme tu le fais, puisque tu attribues à un client un code_tarif unique...
3/ tu dis qu'il n'y a pas de rapport de pourcentage pour les réductions... mais si tu as un prix et un code_tarif, il faut bien qu'il y ait un rapport de l'un à l'autre, non ?
Une dernière chose : tu parlais de facture dans ton premier message. Mais n'as-tu pas une table pour stocker les données de ces factures ? Dans ce que tu montres, il n'y en a pas en tout cas.
il y un clé primaire double mais il veut avoir l'intégrité référentielle, il demande simplement un code pour pouvoir mettre à jour en cascade et supprimer aussi en cascade, si je ne me trompe pas.