Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/05/2011, 10h15   #1
Invité régulier
 
Inscription : novembre 2006
Messages : 63
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 63
Points : 9
Points : 9
Par défaut outil pour contrôle integrité base de données

Bonjour à tous,

J'ai mis cette question il y a quelques jours dans le forum MySQL mais je n'ai pas eu de réponse à ma question.

Je vais essayer de reformuler ma question, car elle peut s'appliquer à n'importe quel SGBDR: de manière générale, est-il possible d'effectuer un contrôle d'intégrité d'un base de données avec un outil externe?

J'ai une base MySQL qui a été créée sur MyISAM donc sans contrôle d'intégrité (même si les contraintes d'intégrité sont bien définies lors de la création des tables, mais pas prises en compte par MyISAM). Je risque d'avoir des données corrompues: avant de migrer vers INNODB, je cherche un outil logiciel permettant d'effectuer un contrôle d'intégrité des données de cette base.

Est-cela possible? Y-a-t-il un logiciel permettant de faire ça?

Merci!
fgalves est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 11h06   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 442
Points : 10 442
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Je n'en connais pas, mais à mon avis c'est faisable à la main.
Il doit bien y avoir dans MySQL des vues systèmes qui enregistrent ces contraintes.
Il suffit de générer une requête type :
Code :
1
2
3
4
5
SELECT count(*)
  FROM table1 t1
 WHERE NOT EXISTS (SELECT NULL
                     FROM table2 t2
                    WHERE t2.pk = t1.fk)
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 14h54   #3
Membre Expert
 
Inscription : mars 2005
Messages : 1 565
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2005
Messages : 1 565
Points : 2 178
Points : 2 178
Ou plus simple, utilisez MySQL lui même. Créez votre base de données en InnoDB avec les contraintes nécessaires, puis injectez les lignes de votre base MyISAM dans la nouvelle. Le contrôle d'intégrité sera effectué et vous aurez des erreurs pour chaque ligne. Il faut par contre injecter les données dans l'ordre, des données les moins dépendantes aux plus dépendantes.
vmolines est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h31.


 
 
 
 
Partenaires

Hébergement Web