Xml et base de données
Résolu
beachshells
Messages postés
17
Statut
Membre
-
fadia -
fadia -
Bonjour,
ok voici 4 requête que je cherche à réaliser
-Rechercher les mécaniciens ayant travaillé sur la réparation 123
-Rechercher le nombre total d'heures de travail de chaque réparation
-Rechercher les marques des véhicules sur lesquels a travaillé Terieur Alain
-Rechercher le mécanicien ayant effectué le plus d'heures de travail du 10/07/2007 au 12/07/2007, bornes comprises
le MLD de la BD est :
vehicule (immatriculation, marque, type, #nom).
proprietaire (nom, prenom).
reparation (numo, date_entree, date_sortie, #immatriculation).
mecanicien (numeca, nom, prenom).
rep_mec (numo, nemeca, nbh).
ok voici 4 requête que je cherche à réaliser
-Rechercher les mécaniciens ayant travaillé sur la réparation 123
-Rechercher le nombre total d'heures de travail de chaque réparation
-Rechercher les marques des véhicules sur lesquels a travaillé Terieur Alain
-Rechercher le mécanicien ayant effectué le plus d'heures de travail du 10/07/2007 au 12/07/2007, bornes comprises
le MLD de la BD est :
vehicule (immatriculation, marque, type, #nom).
proprietaire (nom, prenom).
reparation (numo, date_entree, date_sortie, #immatriculation).
mecanicien (numeca, nom, prenom).
rep_mec (numo, nemeca, nbh).
4 réponses
-
1) Rechercher mécaniciens ayant travaillés sur la réparation 123:
SELECT m.* FROM mecanicien m, rep_mec rm WHERE m.numeca = rm.numeca AND rm.numo = '123'
2) Rechercher nombre total d'heures de travail pour chaque réparation:
SELECT DISTINCT count(nbh) FROM rep_mec (pas sur)
3) Rechercher marques des voitures sur lesquelles à travailler Terieur Alain:
SELECT DINSTINCT v.marque FROM vehicule v, reparation r, rep_mec rm, mecanicien m
WHERE m.numeca = rm.numeca AND m.nom = 'Terieur' AND m.prenom = 'Alain'
AND rp.numo = r.numo AND r.immatriculation = v.immatriculation
4) Rechercher le mecanicien ayant effectué le plus d'heures de travail du xx au xx:
SELECT m.nom, m.prenom, COUNT(r.date_sortie - r.date_entree) AS temp FROM reparation r, mecanicien m, rep_mec rm
WHERE m.numeca = rm.numeca AND rm.numo = r.numo
ORDER BY temp
C'est juste pour te donner des idées.
-
-
Désolé j'ai pas bien expliquer le problème.
c'est de Produire des fichiers XSL permettant d'afficher sous forme d'un tableau les résultats de ces requêtes.pour l'instant j'ai resolu les 3 premiers requetes il me reste que la 4ème.
voici un exemple de fichiers xsl de la requete1:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="ISO-8859-1"/>
<xsl:template match="/">
<html>
<head/>
<body>
<center>
<b>Les MECANICIENS ayant travaillé sur la réparation 123</b>
</center><br/>
<table border="2" cellspacing="0" width="50%" align="center">
<tr align="center">
<td>REPARATION</td>
<td>123</td>
</tr>
<tr align="center">
<td >MECANICIENS</td>
<xsl:for-each select="garage/rep_mec[@numo=123]">
<xsl:variable name="nm" select="@numeca"/>
<xsl:for-each select="../mecanicien[@numeca=$nm]">
<tr>
<td>
<xsl:value-of select="@nom"/>
<xsl:value-of select=" @prenom"/>
</td>
</tr>
</xsl:for-each>
</xsl:for-each>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet> -
salut,svp,sur baese des donneés ; etablir la liste des colonnes
"Immatriculation de véhicules"