Exercice php base de données
Fermé
philippegui2
-
philippegui2 -
philippegui2 -
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.
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.
A voir également:
- Exercice php base de données
- Fuite données maif - Guide
- Base de registre - Guide
- Supprimer les données de navigation - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Easy php - Télécharger - Divers Web & Internet
1 réponse
Bonjour,
Et que ne comprends tu pas ?
Sachant que .... https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
Et que ne comprends tu pas ?
Sachant que .... https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
philippegui2
c'est assez bizarre je me demande comment coder un truc pareil, je ne crois même pas avoir bien compris le truc