Mini-SGBD Implémentation des opérateurs algébriques Yohann HUBERT Christophe PANNEAU Licence informatique Année Maître de stage : M. KHAYATA
Sommaire 1- Opérateurs algébriques 2-Grammaire 3-Structure de données 4-Saisie des requêtes 5-Résultat des requêtes 6- Application 7- Conclusion
Sommaire 1- Opérateurs algébriques 2-Grammaire 3-Structure de données 4-Saisie des requêtes 5-Résultat des requêtes 6- Application 7- Conclusion
Opérateurs algébriques Opérateurs unaires : Opérateurs binaires : Restriction:o- Projection:TT Union:U Difference:- Cartesien:x Jointure:|><|
Sommaire 1- Opérateurs algébriques 2-Grammaire 3-Structure de données 4-Saisie des requêtes 5-Résultat des requêtes 6- Application 7- Conclusion
Grammaire d’une requête :: ( ) :: PROJECTION | RESTRICTION :: UNION|INTERSECTION |DIFFERENCE |CARTESIEN|JOINTURE ::
Grammaire de la condition de JOINTURE :: ` ` :: :: ::EGALITE | INEGALITE|INFERIORITE | SUPERIORITE | INFERIORITE_EGALE | SUPERIORITE_EGALE ::
Grammaire d’une requête :: ( ) :: PROJECTION | RESTRICTION :: UNION|INTERSECTION |DIFFERENCE |CARTESIEN|JOINTURE ::
Grammaire de la condition de PROJECTION :: ` ` ::, ::
Grammaire d’une requête :: ( ) :: PROJECTION | RESTRICTION :: UNION|INTERSECTION |DIFFERENCE |CARTESIEN|JOINTURE ::
Grammaire de la condition de RESTRICTION :: ` ` :: [ ] :: ::ET | OU
Grammaire d’une requête :: ( ) :: PROJECTION | RESTRICTION :: UNION|INTERSECTION |DIFFERENCE |CARTESIEN|JOINTURE ::
Sommaire 1- Opérateurs algébriques 2-Grammaire 3-Structure de données 4-Saisie des requêtes 5-Résultat des requêtes 6- Application 7- Conclusion
Structure de données TableSvte Table initiale NomTable Attributs
… TableSvte Table initiale NomTable Attributs Structure de données
… TableSvte Table initiale NomTable Attributs Ensemble d’attributs Structure de données
Ensemble d’attributs Valeurs TailleMaxNomAttribut AttributSvt
Ensemble d’attributs Valeurs TailleMaxNomAttribut AttributSvt …
Ensemble d’attributs Valeurs TailleMaxNomAttribut AttributSvt … Ensemble de valeurs
Ensemble de valeurs AttributSvt Champ ValeurSvte
Ensemble de valeurs AttributSvt Champ ValeurSvte …
Ensemble de valeurs AttributSvt Champ ValeurSvte … … … …
Sommaire 1- Opérateurs algébriques 2-Grammaire 3-Structure de données 4-Saisie des requêtes 5-Résultat des requêtes 6- Application 7- Conclusion
Saisie des requêtes La requête est donnée en ligne de commande Les requêtes se trouvent dans un fichier Récupération des requêtes :
Saisie des données dans la structure Les bases de données se trouvent dans des fichiers de même nom, et sont entrées dans la structure que si la requête en a besoin La 1ère ligne d'un fichier correspond à la liste des attributs de la table. Les autres lignes correspondent aux données de la table.
Sommaire 1- Opérateurs algébriques 2-Grammaire 3-Structure de données 4-Saisie des requêtes 5-Résultat des requêtes 6- Application 7- Conclusion
Grammaire de la requête Résultat des requêtes
Arbre de la requête Grammaire de la requête Résultat des requêtes
Structure de l’arbre de la requête: Etiquette Fils1Fils2 Arbre
Arbre de la requête Grammaire de la requête Résultat des requêtes
Arbre de la requête Parcours postfixé Résultat de la requête Grammaire de la requête Résultat des requêtes
Arbre de la requête Parcours postfixé Résultat de la requête Grammaire de la requête Affichage de la table de la requête Résultat des requêtes
Sommaire 1- Opérateurs algébriques 2-Grammaire 3-Structure de données 4-Saisie des requêtes 5-Résultat des requêtes 6- Application 7- Conclusion
Noms des fournisseurs de la ville de Paris qui livrent au moins un produit : Application
Noms des fournisseurs de la ville de Paris qui livrent au moins un produit : (TT`nom`((o-`ville=Paris`(FOURNISSEUR))|><|(LIVRAISON))) Application
Noms des fournisseurs de la ville de Paris qui livrent au moins un produit : (TT`nom`((o-`ville=Paris`(FOURNISSEUR))|><|(LIVRAISON))) Application |><| TT`nom` o-`ville=Paris` FOURNISSEUR LIVRAISON
Noms des fournisseurs de la ville de Paris qui livrent au moins un produit : (TT`nom`((o-`ville=Paris`(FOURNISSEUR))|><|(LIVRAISON))) Application
Sommaire 1- Opérateurs algébriques 2-Grammaire 3-Structure de données 4-Saisie des requêtes 5-Résultat des requêtes 6- Application 7- Conclusion
Conclusion Efficacité des accès aux données. Non-redondance des données. Vérification de la cohérence des données. Manipulation des données par des non-informaticiens. Objectifs : Extension possible : Fonction d’agrégat COUNT, SUM, AVG, MAX, MIN Problèmes rencontrés : Gestion des erreurs de grammaire Allocation mémoire des chaînes de caractères Optimisation