La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Travaux Pratiques en SQL Eric Vyncke Dernière mise à jour: 27 février 2004.

Présentations similaires


Présentation au sujet: "Travaux Pratiques en SQL Eric Vyncke Dernière mise à jour: 27 février 2004."— Transcription de la présentation:

1 Travaux Pratiques en SQL Eric Vyncke Dernière mise à jour: 27 février 2004

2 E. Vyncke, 2004/02/272 Table des Matières MySQL Utilisation de MySQL sur Linux Utilisation dHyperTerminal pour Linux Plus dinfo sur le serveur omega.hec.be Utilisation de MySQL Front sur Windows Description de la BD SUMMIT Liste dexercices optionnels

3 E. Vyncke, 2004/02/273 Outils SGBD SQL Disponibles Les travaux pratiques se déroulent soit: –sur MySQL sur le serveur HEC disponible à partir de nimporte quel PC connecté à Internet (soit à lécole soit chez vous) –Sur MySQL installé sur votre PC Windows/Linux –Sous Windows, intégration avec serveur Web et PHP

4 MySQL sur Linux

5 E. Vyncke, 2004/02/275 Démarrage de MySQL sur Linux /1 MySQL est un programme tournant sur un serveur Linux partagé et accessible depuis lInternet Sélectionner Démarrer -> Exécuter telnet omega.hec.beEntrer telnet omega.hec.be Utiliser votre nom dutilisateur et le mot de passe (identiques à ceux de Windows) pour: Login: utilisateur Login: utilisateur (suivi de ) Password: mot de passe Password: mot de passe (napparait pas à lécran, suivi de )

6 E. Vyncke, 2004/02/276 Démarrage de MySQL sur Linux /2 Le prompt standard de Linux/Unix apparait et vous pouvez exécuter des commandes Linux: ls -al –afficher le contenu du répertoire: ls -al pwd –afficher le répertoire courant: pwd cd nomderépertoire –changer de répertoire: cd nomderépertoire more nomdefichier –afficher le contenu dun fichier: more nomdefichier exit –terminer: exit mail -s Fichier adresse < nomdefichier –envoyer un fichier à une adresse mail -s Fichier adresse < nomdefichier

7 E. Vyncke, 2004/02/277 Démarrage de MySQL sur Linux /3 Démarrez MySQL sans journal mysql -p –u utilisateur base mysql –p –u test test Démarrez MySQL avec un journal: mysql.log mysql –p –u summit –-tee=mysql1.log summit mysql –p –u summit –-tee=mysql1.log summit Il est conseillé de numéroter les divers journaux, par exemple mysql5.log pour le 5ème cours Enter password:Et entrez le mot de passe de la base de donnée au prompt: Enter password: (attention aucun '*' n'est affiché) Nom de la base de données Nom de l'utilisateur

8 E. Vyncke, 2004/02/278 Les diverses bases MySQL sur Omega BaseObjectifNom dutilisateur Mot de passe test Accès en écriture, excercices CREATE, INSERT, UPDATE, … test summit Accès en lecture, excercices sur SELECT summitSummit world Accès en lecture, autres exercices sur SELECT routardguidedu

9 E. Vyncke, 2004/02/279 Exemple de démarrage

10 E. Vyncke, 2004/02/2710 Trucs pour MySQL La touche flèche vers le haut permet de rappeler la commande précédente (à chaque nouvelle pression la commande précédente est affichée) Les flèches vers la droite et la gauche permettent de se déplacer dans la commande Ne pas oublier de terminer la commande par ; et ENTREE Toutes les commandes entrées sont journalisées dans le fichier caché.mysql_history

11 E. Vyncke, 2004/02/2711 Terminer MySQL exitRetourner au prompt de Linux: exit exitTerminer le programme Telnet: exit

12 Utilisation dHyperTerminal

13 E. Vyncke, 2004/02/2713 Utilisation dHyperterminal /1 Sur Windows 2000 (notamment aux HEC), un programme de remplacement à Telnet existe: Hyperterminal Pour le démarrer: –Démarrer/Programmes/Accessoires/Communication s/Hyperterminal –Sinon, cliquer sur licône Omega du bureau

14 E. Vyncke, 2004/02/2714 Hyperterminal /2 Entrer un nom pour cette nouvelle configuration, par exemple Omega Choisir une icône (nimporte laquelle)

15 E. Vyncke, 2004/02/2715 Hyperterminal /3 Sélectionner TCP/IP comme moyen de connexion Ladresse hôte doit être omega.hec.be La porte 23

16 E. Vyncke, 2004/02/2716 Hyperterminal /4 Et voila

17 E. Vyncke, 2004/02/2717 Hyperterminal /5 Sauver la configuration sur votre bureau –Fichier/Enregistrer sous… –Sauver le fichier omega.ht sur le bureau A faire uniquement la première fois

18 E. Vyncke, 2004/02/2718 Utilisation du Bloc Note et MySQL Il est conseillé de démarrer le bloc-note –Démarrer/Programmes/Accessoire/Bloc note –Ou Démarrer/Exécuter puis notepad Puis de préparer les requêtes SQL dans le bloc- note, de les copier et les coller –Hyperterminal: Edition/Coller –Telnet: cliquer dans le fenêtre avec le bouton droit A la fin du cours, il est possible de sauver le contenu du bloc-note sur Z: ou Mes Documents

19 Information sur omega.hec.be

20 E. Vyncke, 2004/02/2720 Qq notes supplémentaires Depuis les PC HEC, les fichiers de votre répertoire Linux par défaut (votre home) sont disponibles sur Z: Pour impression Pour transfert En dehors de Z:, vous pouvez faire la même chose de nimporte où sur Internet (cybercafé, domicile, …)

21 E. Vyncke, 2004/02/2721 Quelques notes sur omega Omega (ou omega.hec.be) est un serveur Linux avec plusieurs services: –mySQL: pour le cours et les besoins de l'école –En IPv6 (génération suivante de TCP/IP) –Avec LDAP (répertoire): –Avec serveur web (y compris pour les pages des étudiants) –Serveur de fichiers: \\omega\homes

22 E. Vyncke, 2004/02/2722 Omega et le courier électronique Tout les étudiants ont une adresse du genre ts.hec.be ts.hec.be Sans publicité et gratuite Interface web comme hotmail s.hec.be

23 Utilisation de MySQL Front Interface graphique SQL sur Windows

24 E. Vyncke, 2004/02/2724 MySQL Front –Logiciel Windows –Version 2.0 gratuite (voir les documents du cours SI06 sur campus.hec.be) –Version 3.0 payante: Mode client-serveur –Interface graphique sur votre PC –Vrai serveur de base de données: MySQL sur omega.hec.be –Communication par réseau TCP/IP (y compris de chez vous)

25 E. Vyncke, 2004/02/2725 MySQL Front 1ère Connexion /1

26 E. Vyncke, 2004/02/2726 MySQL Front 1ère Connexion /2

27 E. Vyncke, 2004/02/2727 MySQL Front 1ère Connexion /3 Nom de la base de données Nom dutilisateur Mot de passe. Ici summit

28 E. Vyncke, 2004/02/2728 MySQL Front: lécran… Structure de la base de données Historique des Requêtes SQL

29 E. Vyncke, 2004/02/2729 MySQL Front: contenu dune table 1)Cliquer sur le nom dune table 2)Cliquer sur le taquet data

30 E. Vyncke, 2004/02/2730 MySQL Front: Requête SQL 1)Cliquer sur le taquet SQL Query 2)Entrer une instruction SQL 3)Cliquer sur le triangle pour executer TOUTES les instructions SQL du panneau

31 E. Vyncke, 2004/02/2731 MySQLFront: Quelques Astuces MYSQLFront v2.0 est gratuit mais a quelques bugs… –Notamment: permission denied, il faut alors cliquer dans le panneau gauche sur une autre table, puis recliquer sur la taquet SQL Query F5 permet de rafraîchir le contenu de la table ou de la base F9 permet dexécuter TOUTES les requêtes du panneau dentrée SQL

32 La base de données Summit

33 E. Vyncke, 2004/02/2733 Base de données: SUMMIT La base de données summit est disponible pour les travaux pratiques Summit aide à gérer un ensemble de magasins d'articles de sport (société américaine) A des fins de sécurité, il est impossible d'ajouter, de modifier ou d'effacer des données Pour se connecter à cette base: mysql –p –u summit –-tee=mysql1.log summit (le mot de passe est summit)

34 Schéma de la base de données Id name REGION Id name phone address city state country zip_code credit_rating sales_rep_id region_id comments CUSTOMER Id customer_id date_ordered date_shipped sales_rep_id total payment_type order_filled ORD Ord_id item_id product_id price quantity quantity_shipped ITEM Id name region_id DEPT Id last_name first_name user_id start_date comments manager_id title dept_id salary commission_pct EMP Id name short_desc suggested_whlsl_price whlsl_units PRODUCT Product_id warehouse_id amount_in_stock reorder_point max_in_stock out_of_stock_explanation restock_date INVENTORY Id region_id address city state country zip_code manager_id WAREHOUSE title TITLE

35 E. Vyncke, 2004/02/2735 CUSTOMER CREATE TABLE customer (id NUMERIC(7,0) NOT NULL, name VARCHAR(50) NOT NULL, phone VARCHAR(25), address VARCHAR(255), city VARCHAR(30), state VARCHAR(20), country VARCHAR(30), zip_code VARCHAR(75), credit_rating VARCHAR(9), sales_rep_id NUMERIC(7,0), region_id NUMERIC(7,0), comments VARCHAR(255))

36 E. Vyncke, 2004/02/2736 DEPT CREATE TABLE dept (id NUMERIC(7,0)NOT NULL, name VARCHAR(25)NOT NULL, region_id NUMERIC(7,0))

37 E. Vyncke, 2004/02/2737 EMP CREATE TABLE emp (id NUMERIC(7,0)NOT NULL, last_name VARCHAR(25)NOT NULL, first_name VARCHAR(25), userid VARCHAR(8), start_date DATE, comments VARCHAR(255), manager_id NUMERIC(7,0), title VARCHAR(25), dept_id NUMERIC(7,0), salary NUMERIC(11, 2), commission_pct NUMERIC(4, 2))

38 E. Vyncke, 2004/02/2738 INVENTORY CREATE TABLE inventory (product_id NUMERIC(7,0) NOT NULL, warehouse_id NUMERIC(7,0) NOT NULL, amount_in_stock NUMERIC(9,0), reorder_point NUMERIC(9,0), max_in_stock NUMERIC(9,0), out_of_stock_explanation VARCHAR(255), restock_date DATE)

39 E. Vyncke, 2004/02/2739 ITEM CREATE TABLE item (ord_id NUMERIC(7,0) NOT NULL, item_id NUMERIC(7,0) NOT NULL, product_id NUMERIC(7,0) NOT NULL, price NUMERIC(11, 2), quantity NUMERIC(9,0), quantity_shipped NUMERIC(9,0))

40 E. Vyncke, 2004/02/2740 ORD CREATE TABLE ord (id NUMERIC(7,0) NOT NULL, customer_id NUMERIC(7,0) NOT NULL, date_ordered DATE, date_shipped DATE, sales_rep_id NUMERIC(7,0), total NUMERIC(11, 2), payment_type VARCHAR(6), order_filled VARCHAR(1))

41 E. Vyncke, 2004/02/2741 PRODUCT CREATE TABLE product (id NUMERIC(7,0) NOT NULL, name VARCHAR(50) NOT NULL, short_desc VARCHAR(255), longtext_id NUMERIC(7,0), image_id NUMERIC(7,0), suggested_whlsl_price NUMBER(11, 2), whlsl_units VARCHAR(25))

42 E. Vyncke, 2004/02/2742 REGION CREATE TABLE region (id NUMERIC(7,0) NOT NULL, name VARCHAR(50))

43 E. Vyncke, 2004/02/2743 TITLE CREATE TABLE title (title VARCHAR(25))

44 E. Vyncke, 2004/02/2744 WAREHOUSE CREATE TABLE warehouse (id NUMERIC(7,0) NOT NULL, region_id NUMERIC(7,0) NOT NULL, address LONG, city VARCHAR(30), state VARCHAR(20), country VARCHAR(30), zip_code VARCHAR(75), phone VARCHAR(25), manager_id NUMERIC(7,0))

45 Exercices Optionnels sur Summit

46 E. Vyncke, 2004/02/2746 Exercices sur un tableau /1 Afficher les noms des clients habitant aux USA Afficher les noms des clients contenant la lettre k Afficher le total des bons de commande (quantité * prix) en USD (en supposant que la base contient les prix en USD) Afficher le total des bons de commande (quantité * prix) en EUR Combien de clients existent dans la base de données ?

47 E. Vyncke, 2004/02/2747 Exercices sur un tableau /2 Afficher pour chaque bon de commande: son numéro ainsi que le nombre de lignes (de la table ITEM) qui le composent Afficher le nombre de produits dont le nom (champ name) contient boot Afficher le nombre demployés par n° de département Afficher, pour chaque pays, le nom du pays ainsi que le nombre de clients de ce pays.

48 E. Vyncke, 2004/02/2748 Exercices sur plusieurs tableaux /1 Afficher pour chaque employé: son nom, son prénom, le nom de son département et le nom de la région Afficher pour chaque nom de région, le nombre d'employés travaillant dans cette région Afficher pour chaque employé, son nom ainsi que le nom de son supérieur (utilisez deux abréviations différentes pour le même tableau)

49 E. Vyncke, 2004/02/2749 Exercices sur plusieurs tableaux /2 Afficher le nom de tous les clients ayant commandé des produits contenant le mot Ski Quels sont les noms des produits qui sont entreposés en Europe ? Afficher pour chaque gestionnaire dentrepôts le nombre de produits (la somme de amount_in_stock) dans ses entrepôts Afficher pour chaque entrepôt, son pays, le nom de son gestionnaire ainsi que le nombre de produits en rupture de stock (reorder_point >= amount_in_stock)

50 E. Vyncke, 2004/02/2750 Exercices sur plusieurs tableaux /3 Afficher pour chaque client: son nom, tous ses numéros de bons de commande ainsi que le montant HTVA et TVAC (21%) de ceux-ci Quels sont les noms de clients habitant dans la même ville (et pays!) quun entrepôt ? (dans ce cas, il faut utiliser une relation qui nest pas indiquée par des flèches rouges) Afficher pour chaque employé, son nom, son salaire annuel ainsi que la commission due sur tous les bons de commandes quil a reçu.


Télécharger ppt "Travaux Pratiques en SQL Eric Vyncke Dernière mise à jour: 27 février 2004."

Présentations similaires


Annonces Google