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;