Ce script de fusion que nous avons réalisé unit deux bases

publicité
Dossier Technique – Interoperabilite
I.
Contexte
Dans le cadre de la fusion de 2 universités, on souhaite réunir les bases de données de ces universités
en une seule.
Pour ce faire, nous réalisé un script qui automatise cette tâche.
II.
Script de fusion
A. Présentation
Ce script de fusion que nous avons réalisé unit deux bases de données MySql en une seule. Le
langage de programmation utilisé est le php. Voici le schéma de fonctionnement de la fusion :
B. Ressources / planification
Voici les ressources humaines utilisées, ainsi que la planification des tâches :
Philippe ZDZIOBECK
Adler MOUKOUBOULOU
Sofiane KAMEL
Etape n°1
-
Constution du groupe
Identification du problème/étapes/contraintes
Choix du langage
Philippe
Adler
Sofiane
Etape n°2
-
Création des scripts (2 bases de données)
Création de l’interface en PHP
Philippe
Adler
Etape n°3
-
Avancement du script de fusion des bases
Philippe
Etape n°4
-
Dernières retouches du script
Finition du projet
Philippe
C. Base de Données utilisée
Une première contrainte s’est posée : nous n’avons eu accès qu’à une seule Base de données sur
notre espace étudiant.
Nous avons donc utilisé cette BDD unique (zdp97902) ; et pour simuler plusieurs bases, nous avons
préfixé les tables.
Les tables de la base fictive 1 sont donc préfixées de M1_, alors que les tables de la seconde bases
sont préfixées de M2_.
Voici, ci-dessous, le schéma des 2 bases de données
D. Problèmes à résoudre
Voici ci-dessous les différents problèmes que le script traite, dans l’ordre d’essai.
Problème rencontré
Solution
Même nom de table
Fusion de ces 2 tables
SINON
Noms de table synonymes
SINON
Noms de tables légèrement
différents
Recherche dans une table de
synonymes et fusion si résultat
correspondant
Fonction PHP strspn qui permet
de comparer les caractères
communs
Exemple
M1_Etudiant
M2_Etudiant
M1_Professeur
M2_Enseignant
M1_SalleClasse
M2_SalleCours
Intégration des tables : voici les différents cas de recherche de champs communs
Problème rencontré
SINON
Solution
Même nom de champ
Fusion de ces 2 champs
Noms de champs différents
Mais contenu commun
Matching avec l’équivalent
dans l’autre table
Exemple
M1_Etudiant.nom
M2_Etudiant.nom
M1_SalleClasse.libellé
M2_SalleCours.nom
Note : La gestion des doublons se fera automatiquement par la création d’une clé primaire sur tous
les champs. Ainsi, on ne pourra pas avoir 2 fois le même contenu de ligne.
E. Fonctionnement de l’interface
Le script est entièrement stocké sur une page php (l’évolution des états s’effectue via l’évolution
d’une variable).
Ce script est composé de 2 parties :
-
Une partie administration, qui permet :
 D’insérer un fichier de base de données .sql
 De nettoyer la base de données
 D’exporter la base dans un fichier .sql
-
Une partie fusion, qui parmet de gérer la fusion des 2 bases.
Voici ci-dessous le scénario type de la réunion de 2 bases en une :
Téléchargement