begin process at 2010 02 10 07:34:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

MySQL

 > 

Divers

 > 

MySQL information_schema


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

MySQL information_schema

mercredi 7 janvier 2009 à 22:55:59 | MySQL information_schema

Teclis01

Bonsoir,

M'interessant pas mal à MySQL pour l'instant, j'aimerais comprendre un peu mieux certains mécanismes ^_^
J'ai donc commencé a triturer la Db information_schema qui contient la structure "logique" des autres Db et j'arrive sur un os! Mon manque de connaissance de MySQL et des autres base de données ne me permet pas de comprendre comment a été pensé/architecturé MySQL d'ou mon appel à l'aide.
Pour la petite explication, je fais un Mapper OR et pour le faire le plus autonome possible, j'ai besoin de savoir ^_^

Pour le faire, je suis parti de information_shema et de la table COLUMNS.
Elle me permet deja de savoir ce que je dois mettre dans chaque champs via les champs information_shema.COLUMNS. TABLE_NAME,COLUMN_NAME,ORDINAL_POSITION,IS_NULLABLE,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH,NUMERIC_PRECISION

Ensuite si le champs information_shema.COLUMNS.COLUMN_KEY est égal a PRI => PK si MUL=>FK, si UNI =>UNIQUE
Je peux savoir si une PK a un comportement grace à information_shema.COLUMNS.EXTRA auto_increment est la seule valeur possible a première vue.

Ensuite,

Soucieux de vouloir améliorer le Mapper, je me suis mit en tête de pouvoir générer la CASCADE.
Première difficulté, je ne trouve pas ou il stocke cette information. Qqun pourrait m'aiguiller sur cette info ?
Par contre j'ai trouvé ou il stocke la reference de la FK dans :
information_shema.KEY_COLUMN_USAGE FK qui me donne via ses champs la table et clef référençant une clef d'une autre table et clef référencé. Qqun peut me valider cette trouvaille ?

En gros voilà les choses qui pour moi et pour l instant ont un sens.
Donc, y'a t'il qqch que je rate d'important ?

Merci

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro

mercredi 7 janvier 2009 à 23:58:21 | Re : MySQL information_schema

Teclis01

D'autres questions me viennent...

je voulais également savoir si cette Db information_schema est commune à toute les bases de données ou si le schéma dépend de cette dernière. Y'a t'il des base de données fonctionnant avec ce même information_schema (celui MySQL)? Dans le cas contraire ou puis je me documenter sur les équivalences?

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro

jeudi 8 janvier 2009 à 11:51:59 | Re : MySQL information_schema

Teclis01

Réponse acceptée !
Ok après pas mal de recherche :

D'après http://neacm.fe.up.pt/docs/mysql/information-schema.html#referential-constraints-table
Il faut MySQL 5.1.10. Après installation de celle je retrouve bien la dite table avec les informations que je cherchais ! on delete, on update, ...Donc nickel!
Ensuite,
Chaque structure pour générer le model est différent ci dessous suite à mes recherches ...
Je ne promet rien de ces requêtes pas même celle que j'ai faite moi >_<

MySQL

SELECT
TABLE_NAME,
COLUMN_NAME,
ORDINAL_POSITION,
IS_NULLABLE,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
NUMERIC_PRECISION,
COLUMN_KEY,
EXTRA
FROM
COLUMNS
WHERE
TABLE_SCHEMA=:database
AND TABLE_NAME=:table
ORDER BY ORDINAL_POSITION ASC

PostGreSQL

SELECT COLUMN_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
NUMERIC_PRECISION,
NUMERIC_SCALE,
IS_NULLABLE,
SUBSTR(COALESCE(COLUMN_DEFAULT, '' ), 1, 8 ) = 'nextval(' AS IS_AUTOINCREMENT,
COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'xxxxxxxx'
ORDER BY ORDINAL_POSITION
Les schemas semblent avoir des équivalences et certaines valeurs n'ont pas d'équivalence directe donc attention !

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro



Cette discussion est classée dans : table, mysql, information, columns, shema


Répondre à ce message

Sujets en rapport avec ce message

probleme de connection odbc sur mysql [ par nuke_it ] Salut! bon j'ai deja posté un message sur csharp.fr et on ma conseillé de venir ici alors c ce ke je fais....:p Voila mon probleme j'effectue une con comment faire une replication de table entre 2 serveurs mysql? [ par fredericmaill ] j'ai 2 serveurs mysql et j'amerais faire une replication d'une table presente dans le serveurs A vers le serveru b, pour en temps reel les meme inform pb avec requete mysql [ par gregfly26 ] bonjourje suis etudiant en bts info indus et mon projet bts comporte une section sql !J'ai une base de données 'surface' qui contient 2 tables : 'fabr [mysql] Vider une table en fonction d'une date [ par sniktwo ] Bonjour tous le monde, je voudrais vider chaque table de ma base (a part client et serveur) en fonction d'une date récupéré dans un XML. Alors j'ai fa Help !!!! caracteres speciaux MySQL InnoDB utf8 [ par globule ] Bonjour, J'importe des données d'une table Access 2002 vers une table MySQL en VB6 avec ADO Je rencontre des problemes. MySQL n'arrive pas à impor Recherche de données dans une table [ par LePROduHTML ] Bonjour tout le monde,J'ai trois tables MySQL table_a, table_b et table_c et une donnée sous la forme d'une variable $donnee. Je souhaite réaliser une [sql] Vider une table en fonction d'une date [ par sniktwo ] Bonjour, je travaille sur mysql et je veux parcourir chaque table (a part client et serveur) afin de supprimer les enregistrements supérieur a 15 jour MySQL copier une table vers une autre table [ par julien__ ] Je ne trouve aucun code source ni aide à ce sujet...Je cherche à copier une sélection d'une table MySQL dans une autre table qui n'est pas vide avec d insere dans une table [ par christian33 ] BonjourJ'ai comme requete dans mon script$q2 = "SELECT * FROM table WHERE fid=$id AND fdate=now()";   $e2 = mysql_query($q2) ; if (mysql_num_rows($e2) Logociel creation shema des tables mysql [ par younes371 ] Bonjour,je me demabde s'il y a un logiciel qui crée automatiquement le shema des tables d'une base de données MySQL.Merci pour vos aides.j'ai telechar


Nos sponsors


Sondage...

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,437 sec (4)

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