[Résolu] Identifier une table à partir de la valeur de sa clé primaire

Identifier une table à partir de la valeur de sa clé primaire [Résolu] - SQL/NoSQL - Programmation

Marsh Posté le 11-05-2005 à 12:05:20    

'lut
 
Je suis sous SQLServer. Je dois faire le schéma des relations entre plusieurs tables. J'ai une table qui contient une clé étrangère qui est la clé primaire d'une autre table. J'aimerais savoir quelle est cette table. Est-ce que c'est possible, et si oui comment ?


Message édité par Bleuarff le 11-05-2005 à 14:06:40

---------------
©2008 Bleuarff Corp.
Reply

Marsh Posté le 11-05-2005 à 12:05:20   

Reply

Marsh Posté le 11-05-2005 à 12:16:55    

Si tu dois faire le schéma des relations entre plusieurs tables, tu dois forcément connaitre tes tables. Je ne vois pas ton soucis. tu ne peux pas voir toutes tes tables ?

Reply

Marsh Posté le 11-05-2005 à 12:31:29    

Salut,
 
A priori KibitO a raison. A moins que tu fasses du "Reverse Engeneering" (pas sûr de l'aurtaugraffe :))...
 
Auquel cas, il me semble que si tu vas dans l'Enterprise Manager, tu peux voir les dependencies des tables les unes par rapport aux autres... (pour autant qu'il y ait des contraintes... Si les contraintes ne sont pas définies au niveau de la DB à mon avis Enterprise Manager ne les retrouve pas).
 
Sinon, ton autre solution c'est d'utiliser un soft de design de DB qui lui sera peut-être capable de retrouver ça même si les contraintes n'existent pas.
 
A voir...

Reply

Marsh Posté le 11-05-2005 à 13:54:56    

Les tables je les ai toutes, le souci c'est que yen a 600 et des brouettes, et je les connais pas toutes...Mais j'ai presque trouvé la solution avec cette requête :
 
select sysobjects.name from syscolumns, sysobjects where syscolumns.id = sysobjects.id and syscolumns.name = 'no_cpteg' and syscolumns.colid ='1'
 
Encore quelques bidouilles et j'y serais...


---------------
©2008 Bleuarff Corp.
Reply

Marsh Posté le 11-05-2005 à 14:02:03    

Quel est ton but exactement ? Faire des liens ?

Reply

Marsh Posté le 11-05-2005 à 14:05:56    

Le but, c'est que j'ai une table qui contient des clés étrangères. Je voulais trouver vers quelles tables ces clés pointaient. Je viens de trouver. Primo, la requête de mon dernier poste me donne les tables qui contiennent le champ (meme nom que le champ clé étrangère dans la 1ere table). Deuzio, je fais cette requête:
 
select * from ct_entites_plan_general where no_cpteg = 'CPEG_14A0Z5AL7'
Je recherche dans les tables retournées par la 1ère requête si ya un enregistrement qui a pour clé primaire ce que j'ai comme clé étrangère dans la 1ere table. C'est clair ? En tout cas j'ai réussi à trouver ce que je voulais :).


---------------
©2008 Bleuarff Corp.
Reply

Marsh Posté le 11-05-2005 à 14:31:39    

G rien compris :D Mais content que tu ai trouvé ta solution.. je ne t'aurai pas été d'une grande aide finalement..

Reply

Marsh Posté le 11-05-2005 à 15:58:38    

Mouarf,
 
t'es allé touillé dans les tables systèmes de SQL Server... C'est donc que les contraintes doivent exister je pense...
 
Et que tu t'es compliqué la vie avec tes requêtes... Enterprise Manager t'aurais donné ces infos beaucoup plus vite et simplement je pense!
 
Mais content que tu aies trouvé ton bonheur

Reply

Marsh Posté le 12-05-2005 à 19:48:16    

gfa a écrit :

Mouarf,
 
t'es allé touillé dans les tables systèmes de SQL Server... C'est donc que les contraintes doivent exister je pense...
 
Et que tu t'es compliqué la vie avec tes requêtes... Enterprise Manager t'aurais donné ces infos beaucoup plus vite et simplement je pense!
 
Mais content que tu aies trouvé ton bonheur


D'un autre côté, afficher le diagramme d'une base contenant 600 tables dans entreprise manager (ou n'importe quel soft de modélisation de bdd, je sais pas si c'est très heureux... en tout cas, ça justifie une pause café de quelques heures :D)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed