DATA MINING

Transcription

DATA MINING
Patricia Hugentobler
Mallika Gillieron
Fabienne Hyde
Mars 2007
DATA MINING
TP 2– Exercice SQL
Le but de ce TP est d’écrire et d'exécuter des requêtes SQL par le programme Access.
THÉORIE
Définitions
Base de données : une base de données est un regroupement de tables, de requêtes, de
formulaires, et de rapports et de programmation qui constitue un système complet. Ex.:
gestion de la facturation, gestion de l'inventaire, immatriculation des véhicules, carnet de
numéro de téléphone, réservations etc.
Access : gestionnaire de base de données de Microsoft Office. Mieux adapté qu’Excel pour
gérer de très longs tableaux.
SQL : le langage SQL est un langage d’interrogation de bases de données. Il permet de
manipuler facilement les bases de données relationnelles.
Table : une table est un regroupement d'enregistrements sur un thème commun.
Par exemple: employés, inventaire, client, fournisseurs, véhicules, contacts etc.
Champ : le champ désigne une caractéristique d'une table (plusieurs champs par table). Par
exemple: couleur, taille, modèle, date, nom, prénom, téléphone, adresses, description,
commentaires etc.
Clé primaire : le champ qui identifie sans ambiguïté un enregistrement parmi tous les autres
est appelé « clé primaire ».
Requête : c’est une recherche d'information qui répond à certains critères déterminés par
l'utilisateur.
Formulaire : c’est une présentation de l'information à l'écran d'une manière pratique pour
l'utilisateur.
Sources : http://encyclopedie.linternaute.com/definition/704/5/access.shtml
http://www.tout-savoir.net/lexique.php?rub=definition&code=7069
http://www.cathyastuce.com/access/cle.htm
http://www.lecompagnon.info/access/#faccessdef
Mars 2007
Patricia Hugentobler
Mallika Gillieron
Fabienne Hyde
MARCHE À SUIVRE
Création d’une base de données
• Access/fichier/Nouvelle base de donnée/Créer/Base de données vide/Enregistrer le
fichier/Créer
Création d’une table
• Cliquer sur « Table »
• Sélectionner « Créer une table en mode Création
• Saisir le nom du champ
• Saisir le type de données (par ex. si c’est du texte, il faut le préciser, idem pour les chiffres)
• Recommencer pour tous les champs
• Déterminer la clé primaire
• Fermer la table
• Enregistrer la table et la nommer par rapport aux sujets des champs
• Recommencer cette opération pour toutes les tables de la base de données
Création d’une requête
• Cliquer sur « Requêtes »
• Sélectionner « Créer une requête en mode Création »
• Fermer la fenêtre qui s’ouvre automatiquement car nous allons créer des requêtes sur SQL
Mars 2007
Patricia Hugentobler
Mallika Gillieron
Fabienne Hyde
• Cliquer sur SQL
• Sélectionner « Mode SQL »
• Saisir la requête
• Enregistrer la requête et la nommer en fonction des critères choisis
Exercices – Création de requêtes
1. Afficher le numéro de chaque matériel et la date à laquelle ce matériel a subit une
réparation.
SELECT DISTINCT re.IdMateriel, DateRepar
FROM Reparer AS re;
2. Calculer le temps moyen d'une réparation.
SELECT AVG (duree) AS Temps_moyen
FROM Reparer;
3. Afficher toutes les réparations du matériel numéro "0065.03.005".
SELECT IdRepar
FROM Reparer
WHERE IdMateriel = "0065.03.005";
4. Afficher toutes les réparations avec le nom et le prénom des techniciens qui ont
intervenu.
SELECT re.IdRepar, te.Nom, te.Prenom
FROM Reparer as re, Technicien AS te;
5. Calculer le temps total de réparation pour chaque matériel.
SELECT ma.IdMateriel, sum(Duree) AS Temps_total
FROM Materiel AS ma, Reparer AS re
WHERE ma.IdMateriel = re.IdMateriel
GROUP BY ma.IdMateriel;
6. Afficher la liste des techniciens avec le nombre total de réparations que chacun a
effectuées, trié par leur nom.
SELECT te.Nom, count(IdRepar)
FROM Technicien as te, Reparer as re
WHERE te.IdTechnicien = re.Technicien
GROUP BY te.Nom
ORDER BY te.Nom DESC;
Mars 2007
Patricia Hugentobler
Mallika Gillieron
Fabienne Hyde
7. Calculer le nombre de PC par site.
SELECT si.Nom, count(IdMateriel) as Nombre_de_PC
FROM Site as si, Materiel as ma
WHERE si.IdSite = ma.IdSite AND
ma.Type="PC"
GROUP BY si.Nom;
8. Afficher la durée de la réparation la plus longue.
SELECT Max(Duree) as Reparation_la_plus_longue
FROM Reparer;
9. Afficher les types de matériel avec pour chaque type la durée moyenne de réparation
SELECT Type, AVG(Duree) as Duree_moyenne
FROM Materiel as ma, Reparer as re
WHERE ma.IdMateriel = re.IdMateriel;
10. Afficher le nom des techniciens, avec la durée moyenne des réparations qu’ils ont
effectuées.
SELECT te.nom, AVG(Duree) as Duree_moyenne
FROM Technicien as te, Reparer as re
WHERE te.IdTechnicien = re.IdTechnicien
GROUP BY te.nom;
11. Afficher le nom de tous les techniciens et le nom de tous les sites avec le nombre de
réparation qu’ils ont effectuée dans chacun des sites.
SELECT te.Nom, si.Nom, count(re.IdRepar) as Nombre_de_reparation
FROM Technicien as te, Site as si, Reparer as re, Materiel as ma
WHERE te.IdTechnicien = re.IdTechnicien AND
re.IdMateriel = ma.IdMateriel AND
ma.IdSite = si.IdSite
GROUP BY te.Nom, si.Nom
ORDER BY te.Nom;