Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Intégrité référentielle entre les tables [ Base de données / Autre ] (tleboukaka)

mercredi 2 janvier 2008 à 18:12:49 | Intégrité référentielle entre les tables

tleboukaka

slt à tous

Pour tous ceux qui ont déjà developpé une application de bdd Delphi sous le moteur BDE/Paradox, voici le problème auquel je suis exposé :

J'utilise Delphi 7 et ai crée mes 2 tables sous Paradox, mais je ne sais pas comment faire fonctionner l'INTEGRITE REFERENTIELLE entre deux tables dont voici les champs :
tblClient (table mere) =  cliNum, cliNom, etc
tblCommandes (table fille) = comNum, cliNum#, comMontant

NB : les champs en Gras sont des clés primaires
le champ suivi du symbole # est la clé étrangere (clé secondaire)

Alors, qui pourrait avoir la gentillesse de me décrire (pas à pas / en détail) le processus pour créer l'intégrité référentielle entre les 2 tables ?

s'il vous plait, aidez moi !

Merci


Thibeault Lionel Eric

jeudi 3 janvier 2008 à 11:44:54 | Re : Intégrité référentielle entre les tables

cantador

Membre Club

Pour créer une intégrité référentiel il faudrait savoir déjà ce que tu cherches à faire entre ces deux tables.
Car une intégrité çà veut dire qlqchose...
et puis c'est plus simple si tu t'arrangeais pour avoir un champ désigné de la même manière dans les deuc tables.

Si tu mettais le champ cliNum (zé zoli comme nom..) dans la table tbl commandes et que tu faisais une requête en reliant les deux champs ?

humm ?

cantador


jeudi 3 janvier 2008 à 11:46:49 | Re : Intégrité référentielle entre les tables

cantador

Membre Club

Pour les noms je te conseille :

TClient avec clé primaire CODECLIENT

TCommande avec clé primaire CODECOMMANDE

cantador


jeudi 3 janvier 2008 à 15:46:34 | Re : Intégrité référentielle entre les tables

tleboukaka

slt

Avant de commencer je dirai merci pour vos tentatives de réponses...

Celui auprès de qui j'ai appris à nommer les tables et les champs de tables n'est pas la moindre des personnes : un professionnel en la matière. c'est Mr FREDERIC BROUARD.
TClient (dans l'écriture SQL / IDE Delphi)  et tblClient (en MDE/Paradox)
TCommande (dans l'écriture SQL / IDE Delphi) et tblCommande (en MDE/Paradox)

avec les nom des champs, Frederic Brouard met Cli_Num ou Cli_Code tandis que moi je prefere mettre CliNum ou CliCode (plus court et plus propre à mon avis), etc

Vous pouvez vs en convaincre en visitant ce lien ci-dessous
http://sql.developpez.com/bddexemple/
http://sql.developpez.com/

mon intégrité référentielle c'est pour que les enregistrements de la table mere ne soient pas supprimés quand un enregistrement correspondant est présent dans la table Fille
ensuite que les mise à jour soit automatique de la table mere vers la table fille.

Voilà !

@+

Thibeault Lionel Eric

jeudi 3 janvier 2008 à 16:09:59 | Re : Intégrité référentielle entre les tables

cantador

Membre Club
Il n'y existe aucune norme en matière de désignation des tables..
Juste un peu de bon sens et de règles mnémotechniques..c'est tout.

"mon intégrité référentielle c'est pour que les enregistrements de la table mere ne soient pas supprimés quand un enregistrement correspondant est présent dans la table Fille
ensuite que les mise à jour soit automatique de la table mere vers la table fille."

Ceci montre que tu confonds contraintes et intégrité..

cantador

jeudi 3 janvier 2008 à 16:25:08 | Re : Intégrité référentielle entre les tables

tleboukaka


comme il en est ainsi...
comment puis je faire pour que les enregistrements de la tblClasse (ClaNum, ClaNom) ne soient pas supprimés tant qu'il existe un  ou plusieurs Etudiants dans la tblEtudiant (EtuNum, EtuNom, ClaNum, ...)  qui sont (inscrits) dans cette même classe.
Par ailleur les mise à jours effectuées dans la tblClasse soient répercutées automatiquement dans la tblEtudiant ! Sachant que le champs qui lie les 2 table est ClaNum ou CodeClasse si vous voulez

j'attend le sécours !!!

Merci

Thibeault Lionel Eric

jeudi 3 janvier 2008 à 16:56:24 | Re : Intégrité référentielle entre les tables

cantador

Membre Club
Ecoutes tleboukaka, t'es bien gentil, mais quand on pose une question sur le forum, c'est que l'on cherche à assimiler qlqchose que l'on veut apprendre ou que l'on a pas bien saisi ?
n'est-ce pas ? 

Mais toi tu fais les demandes et les réponses et lorsqu'on t'aide un peu tu reposes ensuite la même question sur le forum..

Tu sais, les problèmes de relations entre les tables, c'est très touffu.. et ici, ce n'est pas facile de tout dire en quelques lignes bref..
c'est difficile de faire un cours..

Sois patient et fais confiance aux ceux qui sont sur ce forum..
et si quelqu'un se trompe dans une analyse, il se rectifie aussitôt.(admin compris)
il faut aussi bosser un peu soi-même..lire les tutoriaux etc etc..

cantador

vendredi 4 janvier 2008 à 11:39:33 | Re : Intégrité référentielle entre les tables

tleboukaka


ok !

Message bien reçu !
je continue à bosser

Thibeault Lionel Eric

vendredi 4 janvier 2008 à 12:33:17 | Re : Intégrité référentielle entre les tables

cantador

Membre Club

bon je vais qd même te répondre :
les Maj et les Suppressions en cascade -->> contraintes
à régler dans ton gestionnaire de base de données
(évites le SQL sinon tu vas galérer..)

pour empêcher les suppression du père si le fils est n'est pas vide
->>>> par programmation

voilà le décor est planté.

bon courage

cantador


vendredi 4 janvier 2008 à 13:06:58 | Re : Intégrité référentielle entre les tables

cantador

Membre Club
Je rectifie pour les noms des tables :
En fait, le plus simple est de nommer directement la table par son nom
ex : table client         -->> CLIENT avec pour clé CODECLIENT      
      table commande->>> COMMANDE             CODECOMMANDE
ce qui clarifie grandement les constructions des SQL.

Pour les composants (d'où ma confusion) on prend pour habitude de le nommer
avec la première lettre de son nom sans le "T" :
ex : TQuery->>>>> QClient
                                QCommande etc..

      TLabel  ->>>>> LClient
      TPanel->>>>>> PCommande
                                 etc 

Bien sûr, il y a des exceptions comme les TTables par ex
car le T pourrait prêter à confusion avec une classe de composant...
Dans ce cas, moi par exemple je double le "T" ex:   TTClient
(mais comme je ne me sers plus des TTables)

Mais chacun est libre en ce domaine..

cantador


1 2

Cette discussion est classé dans : delphi, tables, paradox, intégrité, référentielle


Répondre à ce message

Sujets en rapport avec ce message

Paradox et Delphi 7 [ par oddev ] Bonjour,Voici une question que je me pose depuis un certain temps, j'ai une application réseau qui me pose un problème, de temps en temps, avec les ta Faire un DELETE sur du Dbase [ par grosdave653 ] Slt !Je suis en train de faire un prog dans lequel je dois supprimer des enregistrements dans des tables Dbase IV a partir de Delphi.J'utilise donc la debutante en paradox et delphi [ par hajeur_abd ] <TD id=HB_Focus_Element vAlign=top width="100%" background="" height=250 Créer une BDD Paradox [ par croquignole ] Bonjour, Nouvel utilisateur Delphi 2005 (perso), je tente veinement de créer une BDD Paradox, sans succès. Il y a quelques années de ceci j'ai eu l'oc pb de vitesse entre paradox et sql [ par exyacc ] salut, voila mon pb... j'ai un prog qui utilise des tables paradox, pour une table de 100000 lignes, il mettait 7 secondes a tout faire (parcours et c relier deux tables paradox [ par mina_mi ] bonjour, je débute en delphi,je voudrais savoir comment relier deux table paradox,mon projet est assez simple: il donne le choix entre: la liste des  Tri sur Tables [ par apz ] Salut,Comment effectuer un tri sur les tables DBase et les Tables Paradox ?Ou se situe la difference ?(nous savons que les tables DBase ne sont pas in Tables Paradox [ par lirva ] Bonjour,Je voudrais connaitre la structure d'une table Paradox (nom, type et format des champs) par programmation.(je ne trouve pas les tables système pb delphi et paradox? [ par kadim69 ] salut tout le monde, je suis entrain de dvpé une application de gestion sous delphi 6 entreprise avec une base paradox local via bde. le pb qd je lanc champ paradox avec 1 tiret [ par zerkowski ] Bonjour,Je suis avec un version de delphi 2. Je veux compter des enregistrement avec un tquery sur une table paradox en faisant :select count(*) as re


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,718 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.