Travaux pratiques en sql
This presentation is the property of its rightful owner.
Sponsored Links
1 / 50

Travaux Pratiques en SQL PowerPoint PPT Presentation


  • 60 Views
  • Uploaded on
  • Presentation posted in: General

Travaux Pratiques en SQL. Eric Vyncke [email protected] http://www.hec.be/~evyncke/cours Dernière mise à jour: 27 février 2004. Table des Matières. MySQL Utilisation de MySQL sur Linux Utilisation d’HyperTerminal pour Linux Plus d’info sur le serveur omega.hec.be

Download Presentation

Travaux Pratiques en SQL

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Travaux pratiques en sql

Travaux Pratiques en SQL

Eric Vyncke

[email protected]

http://www.hec.be/~evyncke/cours

Dernière mise à jour: 27 février 2004


Table des mati res

Table des Matières

  • MySQL

  • Utilisation de MySQL sur Linux

  • Utilisation d’HyperTerminal pour Linux

  • Plus d’info sur le serveur omega.hec.be

  • Utilisation de MySQL Front sur Windows

  • Description de la BD SUMMIT

  • Liste d’exercices optionnels


Outils sgbd sql disponibles

Outils SGBD SQL Disponibles

  • Les travaux pratiques se déroulent soit:

    • sur MySQL sur le serveur HEC disponible à partir de n’importe quel PC connecté à Internet (soit à l’école soit chez vous)

    • Sur MySQL installé sur votre PC Windows/Linuxhttp://www.mysql.com/downloads/

    • Sous Windows, intégration avec serveur Web et PHPhttp://www.easyphp.org/index.php3?lang=fr


Mysql sur linux

MySQL sur Linux


D marrage de mysql sur linux 1

Démarrage de MySQL sur Linux /1

  • MySQL est un programme tournant sur un serveur Linux partagé et accessible depuis l’Internet

  • Sélectionner Démarrer -> Exécuter

  • Entrer telnet omega.hec.be

  • Utiliser votre nom d’utilisateur email et le mot de passe email (identiques à ceux de Windows) pour:

    Login: utilisateur(suivi de <Enter>)

    Password: mot de passe(n’apparait pas à l’écran, suivi de <Enter>)


D marrage de mysql sur linux 2

Démarrage de MySQL sur Linux /2

  • Le prompt standard de Linux/Unix apparait et vous pouvez exécuter des commandes Linux:

    • afficher le contenu du répertoire: ls -al

    • afficher le répertoire courant: pwd

    • changer de répertoire: cd nomderépertoire

    • afficher le contenu d’un fichier: more nomdefichier

    • terminer: exit

    • envoyer un fichier à une adresse e-mail mail -s “Fichier” adresseemail < nomdefichier


D marrage de mysql sur linux 3

Démarrage de MySQL sur Linux /3

Nom de la base de données

  • 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.logsummitIl est conseillé de numéroter les divers journaux, par exemple mysql5.log pour le 5ème cours

  • Et entrez le mot de passe de la base de donnée au prompt:Enter password: (attention aucun '*' n'est affiché)

Nom de l'utilisateur


Les diverses bases mysql sur omega

Les diverses bases MySQL sur Omega


Exemple de d marrage

Exemple de démarrage


Trucs pour mysql

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


Terminer mysql

Terminer MySQL

  • Retourner au prompt de Linux: exit

  • Terminer le programme Telnet: exit


Utilisation d hyperterminal

Utilisation d’HyperTerminal


Utilisation d hyperterminal 1

Utilisation d’Hyperterminal /1

  • Sur Windows 2000 (notamment aux HEC), un programme de remplacement à Telnet existe: Hyperterminal

  • Pour le démarrer:

    • Démarrer/Programmes/Accessoires/Communications/Hyperterminal

    • Sinon, cliquer sur l’icône Omega du bureau


Hyperterminal 2

Hyperterminal /2

  • Entrer un nom pour cette nouvelle configuration, par exemple ‘Omega’

  • Choisir une icône (n’importe laquelle)


Hyperterminal 3

Hyperterminal /3

  • Sélectionner TCP/IP comme moyen de connexion

  • L’adresse hôte doit être omega.hec.be

  • La porte 23


Hyperterminal 4

Hyperterminal /4

  • Et voila


Hyperterminal 5

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


Utilisation du bloc note et mysql

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


Information sur omega hec be

Information sur omega.hec.be


Qq notes suppl mentaires

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 n’importe où sur Internet (cybercafé, domicile, …)


  • Quelques notes sur omega

    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): http://directory.hec.be

      • Avec serveur web (y compris pour les pages des étudiants) http://www.students.hec.be

      • Serveur de fichiers: \\omega\homes


    Omega et le courier lectronique

    Omega et le courier électronique

    • Tout les étudiants ont une adresse email du genre [email protected]

    • Sans publicité et gratuite

    • Interface web comme hotmailhttp://webmail.students.hec.be


    Utilisation de mysql front

    Utilisation de MySQL Front

    Interface graphique SQL sur Windows


    Mysql front

    MySQL Front

    • MySQLFront

      • Logiciel Windows

      • Version 2.0 gratuite (voir les documents du cours SI06 sur campus.hec.be)

      • Version 3.0 payante: http://www.mysqlfront.de/

    • 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)


    Mysql front 1 re connexion 1

    MySQL Front 1ère Connexion /1


    Mysql front 1 re connexion 2

    MySQL Front 1ère Connexion /2


    Mysql front 1 re connexion 3

    MySQL Front 1ère Connexion /3

    Nom d’utilisateur

    Mot de passe. Ici summit

    Nom de la base de données


    Mysql front l cran

    MySQL Front: l’écran…

    Structure de la base de données

    Historique des

    Requêtes SQL


    Mysql front contenu d une table

    MySQL Front: contenu d’une table

    • Cliquer sur le nom d’une table

    • Cliquer sur le taquet data


    Mysql front requ te sql

    MySQL Front: Requête SQL

    • Cliquer sur le taquet SQL Query

    • Entrer une instruction SQL

    • Cliquer sur le triangle pour executer TOUTES les instructions SQL du panneau


    Mysqlfront quelques astuces

    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 d’exécuter TOUTES les requêtes du panneau d’entrée SQL


    La base de donn es summit

    La base de données Summit


    Base de donn es summit

    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)


    Sch ma de la base de donn es

    REGION

    TITLE

    DEPT

    ORD

    CUSTOMER

    EMP

    Id

    name

    Id

    name

    region_id

    title

    Id

    customer_id

    date_ordered

    date_shipped

    sales_rep_id

    total

    payment_type

    order_filled

    Id

    last_name

    first_name

    user_id

    start_date

    comments

    manager_id

    title

    dept_id

    salary

    commission_pct

    Id

    name

    phone

    address

    city

    state

    country

    zip_code

    credit_rating

    sales_rep_id

    region_id

    comments

    ITEM

    Ord_id

    item_id

    product_id

    price

    quantity

    quantity_shipped

    PRODUCT

    Id

    name

    short_desc

    suggested_whlsl_price

    whlsl_units

    WAREHOUSE

    INVENTORY

    Id

    region_id

    address

    city

    state

    country

    zip_code

    manager_id

    Product_id

    warehouse_id

    amount_in_stock

    reorder_point

    max_in_stock

    out_of_stock_explanation

    restock_date

    Schéma de la base de données


    Customer

    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))


    Travaux pratiques en sql

    DEPT

    • CREATE TABLE dept

    • (id NUMERIC(7,0)NOT NULL,

    • name VARCHAR(25)NOT NULL,

    • region_id NUMERIC(7,0))


    Travaux pratiques en sql

    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))


    Inventory

    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)


    Travaux pratiques en sql

    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))


    Travaux pratiques en sql

    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))


    Product

    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))


    Region

    REGION

    • CREATE TABLE region

    • (id NUMERIC(7,0) NOT NULL,

    • name VARCHAR(50))


    Title

    TITLE

    • CREATE TABLE title

    • (title VARCHAR(25))


    Warehouse

    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))


    Exercices optionnels sur summit

    Exercices Optionnels sur Summit


    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 ?

    Exercices sur un tableau /1


    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 d’employés par n° de département

    Afficher, pour chaque pays, le nom du pays ainsi que le nombre de clients de ce pays.

    Exercices sur un tableau /2


    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)

    Exercices sur plusieurs tableaux /1


    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 d’entrepô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)

    Exercices sur plusieurs tableaux /2


    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!) qu’un entrepôt ? (dans ce cas, il faut utiliser une relation qui n’est 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 qu’il a reçu.

    Exercices sur plusieurs tableaux /3


  • Login