begin process at 2010 02 10 13:16:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Base de données

 > 

Autre

 > 

Intégrité référentielle entre les tables


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Intégrité référentielle entre les tables

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ée 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 [à supprimer] reparation des tables paradox endommagés [ par houria05 ] Salut tous le monde, voilà mon problème: j'ai télécharger des composants "Tutility  component of delphi for rapair paradox table" il marche bien quand Tables paradox [ par Simone31 ] Bonjour,J'ai mis des Tables en Paradox 7 pour une appli de Gestion et j'ai lui conçu un système de Sauvegarde & Restauration qui se base sur le simple Tables Paradox et Unicode [ par ludo2223 ] Bonjour à tous,Voici mon problème :   Je travaille sur une application codée sous une version ancienne de Delphi, nous l'avons fait migrer sur une ver problème table paradox delphi [ par chesa ] Bonjour, J'ai un problème, je ne sais si vous avez remarqué vous aussi lors de l'utilisation des tables sous delphi. le problème c'est quand je supp application delphi avec une table paradox [ par kam76 ] Salut tt le monde; bon j'ai une application delphi qui gere une table paradox, mon probleme consiste que cette application marche parfaitement sur une TABLES PARADOX EN UNICODE [ par BELDJEBEL ] Bonjour,comment mettre en oeuvre de l'Unicode (tntedit, tntdbgrid) dans une table Paradox (Delphi7),le type "widestring" n'existant pas lors de la cré ado paradox [ par exyacc ] salut, voila ma question peut on ouvrir des tables paradox avec ADO ? en fait j'ai un prog qui marche avec composant BDE et tables paradox mais peu a Lire une base Paradox [ par Patrice99 ] Bonjour, j'aimerai lire une base de données Paradox .db sous Windows, faut-il installer Delphi pour cela ? J'ai essayé l'import via MSOffice, mais à c tables paradox maitre details [ par impossibleok ] bjr; comment peut on appliquer une modif faite sur l'index de la table maitre automatiquement sur l'ensemble des index correspondant de la table detai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales