Schéma d'une base de données

cs_othland Messages postés 298 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 9 février 2010 - 5 août 2007 à 08:00
jelume Messages postés 120 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 15 novembre 2007 - 7 août 2007 à 09:25
salut tout le monde!
je veux bien savoir s'il existe une requete SQL qui me renvoit comme résultat les bases de données existantes dans un serveur et puis les tables et leurs champs dans une base de données bien précises!!
je sais que c'es vraiment drôle, mais là ou je commence à bosser, le concepteur d'une certaine base de données (qui a changé de département) ne veut pas me donner toutes les ficelles de cette base!
merci pour votre aide!

6 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 34
5 août 2007 à 16:14
il existe en effet sur certain SGBD des commandes pour recuperer ce genre d'infos, mais il faut etre "root" pour y avoir accés ou connaitre les accés de toutes les bases.

mais bien sur, si le concepteur ne veux pas te les donner c'est qu'il y a une raison precise. si cela t'empeche de travailler, previens ton chef de service.
0
cs_othland Messages postés 298 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 9 février 2010 1
5 août 2007 à 22:11
effectivement, il n'y a aucune raison pour qu'il cache qq chose!
et le chef de service veut que je prenne le contrôle des moindres détails!
le problème c'est que mon prédécésseur est TROP FENIANT et il est trop pris par son nouveau poste!!
0
jelume Messages postés 120 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 15 novembre 2007 1
6 août 2007 à 12:52
Bjr,

Si tu arrives à te connecter à ta base avec des compos ado de delphi, tu peux utiliser les procédures:

procedure GetTableNames(List: TStrings; SystemTables: Boolean = False);
Description
Appelez GetTableNames pour obtenir une liste des tables de la base de données associée.
List est l'objet liste de chaînes déjà existant dans lequel les noms des tables sont introduits.
Définissez SystemTables pour indiquer que la liste des noms de tables devra inclure les tables système de la base de données.
ADOConnection1.GetTableNames(ListBox2.Items, False);
Remarque :    Le contenu de la liste de chaînes destination est entièrement remplacé par les données produites par GetTableNames.

puis pour chaque table:

procedure GetFieldNames(const TableName: String; List: TStrings);
Description
Appelez GetFieldNames pour obtenir une liste des champs d'une table. Les noms de champ sont placés dans un objet liste de chaînes déjà existant spécifié par le paramètre List. Spécifiez la table dont vous voulez récupérer les noms de champ dans le paramètre TableName.
ADOConnection1.GetFieldNames('Employee', ListBox1.Items);

Enfin, selon le SGBD utilisé, il y a des tas d'outils qui permettent de retrouver et visualiser la structure complète.

Mais sans précision sur le SGBD que tu utilises, difficile de t'en dire plus
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
6 août 2007 à 13:03
Salut,

Sur les SQL Server, on intérroge une base de données master, présente sur tous les seveur SQL server.
Il y a des tables avec la liste des bases de données, les colonnes et leur types...

Mais je sais pas si le même principe est appliqué à ton sgbd ou s'il existe des requètes plus standard.

Consulter la doc de ton sgbd te donneras certainement des infos.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_othland Messages postés 298 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 9 février 2010 1
6 août 2007 à 23:14
merci pour vos réponses!
effectivement, je travaille sous SQL Server 2000
je vais essayer de travailler avec GetTableNames(List: TStrings; SystemTables: Boolean = False) et avec GetFieldNames(const TableName: String; List: TStrings); et je vous renderai la réponse!
merci encore une fois!!
0
jelume Messages postés 120 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 15 novembre 2007 1
7 août 2007 à 09:25
Sur SQL Server, tu peux installer et utiliser

http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796

C'est l'équivalent d'Enterprise manager et c'est gratuit.
0
Rejoignez-nous