Projet de Base de DonnéesGroupe Moteur
encadré par Mr MAINGUENAUD
KikiTeam – ASI3 – 19 / 06 / 2002
Soizic GeslinMinh Le Hoai
Samy FouilleuxMaxime Chambreuil
KikiTeam – ASI3 – 19 / 06 / 2002 - 2
DéroulementObjectifs du projet / de notre groupeLa grammaireLe protocole de communicationLes Types Abstraits de DonnéesLe travail du moteurProblèmes rencontrésConclusion
KikiTeam – ASI3 – 19 / 06 / 2002 - 4
Objectifs du projet
Concevoir un Système de Gestion de Base de DonnéesDécouvrir les problèmes liés à la conception d’un SGBDDécouvrir les problèmes liés à une application multi-processus
KikiTeam – ASI3 – 19 / 06 / 2002 - 5
Objectifs du groupe Moteur
Concevoir le moteur de résolution de requêtesDéfinir une grammaire avec les groupes SQL et InterfaceDéfinir un protocole de communication Générer un plan d’exécution
KikiTeam – ASI3 – 19 / 06 / 2002 - 7
La grammaire
Mise au point avec SQL et Interface
Utilisée par la majorité des groupes
Au cours de son exécution, elle crée et remplit l’arbre, permettant de traiter la requête
KikiTeam – ASI3 – 19 / 06 / 2002 - 9
Le protocole de communication
C’est la mise en forme du contenu du message ( chaîne de caractère )La chaîne de caractère respecte la grammaire établieMis au point et approuvé par l’ensemble des groupes
KikiTeam – ASI3 – 19 / 06 / 2002 - 11
Les Types Abstraits de Données
TAD Opération : il permet de stocker toutes les informations relatives à une opération élémentaire, traitée par le groupe Unaire ou Binaire.TAD Requete : Arbre symbolisant la requête, ou chaque nœud est une « Operation », qui a plusieurs fils.
KikiTeam – ASI3 – 19 / 06 / 2002 - 13
Le travail du moteur : l’algorithmeCommuniquer avec les autres processusDécouper la requête par la grammaireRéécrire les opérateurs dérivésExécuter les opérations
Parcourir l’arbreFaire executer les opérations élémentaires• Créer les relations résultats• Envoyer la requete aux opérateurs
Communiquer avec les autres processus
KikiTeam – ASI3 – 19 / 06 / 2002 - 14
Le travail du moteur : découper la requete par la grammaire, réécrire l’arbre
On construit un arbre de type requêteIl faut remplacer certains nœuds…
Règles de réécriture Poser une requête à nous même
KikiTeam – ASI3 – 19 / 06 / 2002 - 15
Le travail du moteur : faire pédaler les opérateurs
Créer la relation résultatOn a besoin de son schéma• Solution 1 : lire le fichier MetaBase• Solution 2 : requete sur MetaBase, et extraction des tuples… ->
on a besoin de nouvelles fonctions
Créer le fichierMettre à jour la métabase• Écrire dans le fichier MetaBase
Import()
Envoyer la requete
KikiTeam – ASI3 – 19 / 06 / 2002 - 17
Problèmes rencontrés
La gestion des versions pour les différents documentsLa collecte des informations lorsqu’un groupe sort d’un TTLa communication inter et intra-groupeLa conduite des réunions
KikiTeam – ASI3 – 19 / 06 / 2002 - 18
Problèmes rencontrés
La création de nouvelles relations : Obtenir le schéma avec une requête sur la métabase
La réécriture de l’arbre d’exécution : récursivité
KikiTeam – ASI3 – 19 / 06 / 2002 - 20
Conclusion
La grammaire et les types abstraits de données Operation et Requete peuvent être développésL’algorithme général du moteur peut-être développéLà ou ça coince :
Réécriture de l’arbreCréér la relation résultat