Exercice php base de données

Fermé
philippegui2 - 6 août 2015 à 20:06
 philippegui2 - 7 août 2015 à 04:34
BONJOUR j'ai UN EXERCICE QUE JE NE COMPRENDS PAS DU TOUT POUVEZ-VOUS m'aider s'il vous plait?

Dans le cadre d'une automatisation de gestion de bases de données, on désire avoir un générateur de requêtes sql.

Ce générateur, fonctionnant sur la base de la traduction d'expressions en l'algèbre relationnelle vers les le SQL, doit permettre :

1 - de prendre en input deux fichiers texte contenant :

Le fichier de la liste des relations sous le format :
NomRelation( nomAttribut [Contraintes], nomAttribut[Contraintes],...)

[Contraintes] = CP/CE/CP_CE/<Vide>

CP<Fait partie de la clef primaire>

/ CE <Est une clef Etrangere>

/ CP_CE < est une clef etrangere et primaire>

/<Vide> pas de contrainte

Le fichier de la liste des expressions algébriques à traduire en SQL sous le format :
REQ_NumReq = <Expression> ;
<Expression> : expression combinant des opérateurs unaires / binaires relationnels utilisant uniquement les fonctions suivantes :
sigma(Relation, [ExpressionCond1])
renvoie les tuples de relation qui respectent ExpressionCond1



pi(Relation,[ListeAttributs])
renvoie les tuples de <Relation> uniquement avec les valeurs de <ListeAttributs>



alfa(Relation,[Attribut :NouveauNomAttribut, Attribut :NouveauNomAttribut,...] )
Renvoie les tuples de Relation avec un renommage des Attributs vers NouveauNomAttribut



prod(Relation1, Relation2)
Renvoie une nouvelle relation incluant les tuples juxtaposés de Relation1 et Relation2



union ( Relation1, Relation2)
Renvoie une nouvelle relation incluant les tuples juxtaposés de Relation1 et Relation2



N_join(Relation1,Relation2)
Renvoie une nouvelle relation incluant les tuples en jointure naturelle de Relation1 et Relation2



2- de générer en sortie un fichier SQL (fichier texte avec extension .sql) incluant pour chaque expression algébrique :

Le nom de la Requête en commentaire ( -- REQ_NumReq) suivi d'une ligne de tirets en commentaires ( -- --------------------- )


Soit une expression SQL équivalente à l'expression REQ_NumReq
Exemple : SELECT NomAttribut As NouveauNomAttribut from Relation ;


Soit un Commentaire donnant l'erreur existant sur REQ_NumReq et qui empêche la traduction en SQL
Exemple :
-- Erreur 1 : L'attribut NomAttribut n'existe pas dans Relation

-- Erreur 2 : Pas d'attribut en commun entre Relation1 et Relation2 pour l'utilisation de N_join



Afin de faciliter son exécution le programme doit fonctionner sous la forme d'une seule page réalisée en php incluant 2 zones de sélection de fichier et un bouton générer qui permet d'afficher dans un div le contenu du fichier résultant avec coloration syntaxique.

Un lien en dessous de la zone de contenu permet d'accéder au fichier SQL en téléchargement.

1 réponse

jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
6 août 2015 à 21:01
0
c'est assez bizarre je me demande comment coder un truc pareil, je ne crois même pas avoir bien compris le truc
0