TP de SQL. Premiers pas. Nom : Contrôle qualité : Observations : BTS IRIS MySQL TP 01. Analyse Codage Validation

Documents pareils
Olivier Mondet

I. MySQL : Serveur et SGBD

Bases de données relationnelles

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

CREATION WEB DYNAMIQUE

Les BASES de DONNEES dans WampServer

Langage SQL : créer et interroger une base

Stockage du fichier dans une table mysql:

Manuel de référence réduit de mysql (version 4.1.1) + "The MySQL C API" par Paul Dubois Licence Professionnelle Réseaux et Télécommunications Option

Installation d'un serveur FTP géré par une base de données MySQL

SQL Historique

TP3 : Creation de tables 1 seance

Le langage SQL (première partie) c Olivier Caron

PHP 5. La base de données MySql. A. Belaïd 1

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Création et Gestion des tables

Devoir Data WareHouse

Pratique et administration des systèmes

SYSTEME de GESTION de BASE de DONNEES. Sommaire

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Mysql avec EasyPhp. 1 er mars 2006

Guide d installation de MySQL

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Architecture de la plateforme SBC

Bases de Données relationnelles et leurs systèmes de Gestion

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org

1/ Présentation de SQL Server :

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

Modélisation et Gestion des bases de données avec mysql workbench

Compétences Business Objects

Installation et Mise en œuvre de MySQL

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Le Langage SQL version Oracle

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Introduction au Système de Gestion de Base de Données et aux Base de Données

Auto-évaluation Oracle: cours de base

Gestion des utilisateurs et de leurs droits

Introduction à JDBC. Accès aux bases de données en Java

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Présentation Windows Azure Hadoop Big Data - BI

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

Installation de Vmware serveur Windows

Synchronisation Mysql (Replication)

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

MySQL - Réplication. Fichiers de relais et de statut de la réplication. Mise en place de la réplication

Pour les débutants. langage de définition des données

Historisation des données

Mysql. Les requêtes préparées Prepared statements

Sauvegarde des bases SQL Express

Le Langage De Description De Données(LDD)

TP Contraintes - Triggers

Data Tier Application avec SQL Server 2008 R2

Encryptions, compression et partitionnement des données

Gestion de base de données

Bible MySQL! La première version de MySQL est apparue en Cette première version est créée pour un usage personnel à partir de msql.

FileMaker 13. Guide ODBC et JDBC

2011 Hakim Benameurlaine 1

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

Information utiles. webpage : Google+ : digiusto/

1. Base de données SQLite

PHP 4 PARTIE : BASE DE DONNEES

Utilisation d Hyperplanning 2011

SCHMITT Année 2012/2014 Cédric BTS SIO. TP Serveur Backup

420-PK6-SL Banques de données Avancées UTILISATEURS

Les bases de données

STATISTICA Version 12 : Instructions d'installation

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

La base de données dans ArtemiS SUITE

Les déclencheurs. Version 1.0. Grégory CASANOVA

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Cours: Administration d'une Base de Données

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Introduction à MySQL. Vous pouvez trouver ce document sur

Connexions à un projet CVS via Eclipse en accès local et distant. 15 Mai 2007

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

contact@nqicorp.com - Web :

Systèmes de Gestion de Bases de Données

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Raja Bases de données distribuées A Lire - Tutoriel

Transcription:

Nom : TP de SQL Premiers pas Contrôle qualité : 3 Conception et Analyse Schéma de la base Normalisation (si vue en cours) Non-normalisation (si vue en cours) Analyse Codage Validation 4 - Vérifications de base Lancer le serveur Lancer le client Vérification numéro version 5 - Création de la base Création de la base Création des tables Insertion des données INSERT Insertion des données LOAD Observations : Creative Commons - LAXENAIRE Olivier page 1 sur 8

1 - Où allons-nous? TP de SQL Premiers pas 1.1 - Cahier des charges : Nous voulons réaliser une base de données et mettre en oeuvre les différents types de commandes (création, vérification, sélection). 1.2 - Cahier des charges Nous désirons créer une base de données pour la gestion d'un parc d'automobiles destinées à la location. Les locations peuvent se faire à la semaine ou au jour. Les clients sont référencés par leur nom et leur prénom. Les véhicules sont de type "berline", "sportive", "utilitaire" ou "monospace". Il sera également nécessaire de garder un historique des prêts pour l'envoi des factures à la fin du mois. 2 - Marche à suivre Nous devons Concevoir notre modèle avant de le mettre en oeuvre, Nous assurer de l'installation correcte de la base de données, Créer la base de données, Créer les tables de la base de données, Insérer des données (voir les annexes fournies), Demander des informations à la base. 3 - Naissance de la base Question 3.1 : Créer le modèle de cette base de données Modélisation classique Créer les tables Créer les champs Créer les relations Modélisation UML (si vue en cours) Créer les classes (entités) Créer les attributs (champs) Créer les relations Question 3.2 : Vérifier que les trois formes normales sont bien vérifiées. Question 3.3 : Une des tables peut ne pas vérifier les trois formes normales. Laquelle et pourquoi? Creative Commons - LAXENAIRE Olivier page 2 sur 8

4 - MySQL, ça marche ou pas? Console Etapes Linux Windows Environnement de commande Terminal fenêtre DOS Toutes les tâches ps -ax ctrl + alt + del Serveur MySQL lancé? ps -aux grep mysqld / Lancer le serveur (si nécessaire) mysqld start mysql.exe Lancer un client MySQL (*) CLIENT MYSQL A l'invite du client MySQL, vérifier la version du serveur (**) A l'invite du client MySQL, vérifier l'utilisateur actuel (**) mysql -u root [-p 'MotDePasse'] remarque : [-p 'MotDePasse'] est optionnel! SELECT VERSION(); SELECT USER(); (*) Si une réponse est donnée, le système est fonctionnel, sinon, il faut déclarer au moins un utilisateur (voir le document annexé). (**) Attention à la casse. Question 4.1 : Donner l'emplacement de la commande lançant le serveur (avec Linux, voir la commande 'ps' ). Question 4.2 : Donner l'emplacement de la commande lançant le client,(avec Linux, voir la commande 'ps' ), Question 4.3 : Donner la version de MySQL installée. 5 - Créons! Un fois le client MySQL lancé, nous allons pouvoir créer notre base et ses tables, puis y insérer nos données. 1 - Création de la base Question 5.1 : En mode 'console', créer la base de données avec l'instruction "CREATE". Donner la syntaxe exacte employée. Question 5.2 : En mode 'console', donner la commande permettant de vérifier le nom des bases présentes dans le système. Creative Commons - LAXENAIRE Olivier page 3 sur 8

2 - Création des tables Question 5.3 : En mode 'console', créer les tables grâce à l'instruction "CREATE". Donner la syntaxe exacte employée pour une des tables. Question 5.4 : En mode 'console', donner la commande permettant de vérifier les tables présentes dans le système. 3 - Insertion des données Il existe au moins deux méthodes différentes d'insertion de données. La première consiste à utiliser de manière répétitive la commande "INSERT". Cela devient vite fastidieux pour de nombreux enregistrements. La seconde consiste à employer la commande "LOAD DATA" qui utilise un fichier texte contenant les données à insérer. Question 5.4 : Première méthode : en mode 'console', remplir une des tables avec un série d'instructions "INSERT". Donner la syntaxe exacte employée. Question 5.4 : Seconde méthode : créer un fichier texte, avec des champs séparés par des ';' et des lignes terminées par '\n' (pour Linux) ou '\r\n' (pour windows) pour remplir la table. Donner le fichier texte ainsi créé. En mode 'console', utiliser ensuite la syntaxe 'LOAD DATA' pour insérer les données dans une des autres tables. Donner la syntaxe exacte de l'instruction 'LOAD DATA' Creative Commons - LAXENAIRE Olivier page 4 sur 8

ANNEXE Les véhicules id_vehicule Type de véhicule Immatriculation 1 berline 001 BJN 25 2 sportive 002 BJN 25 3 utilitaire 003 BJN 25 4 monospace 004 BJN 25 5 monospace 005 BJN 25 Les clients Nom Dujardin MouDuGenou EncorEuTilFalluQueJeLeSus La poignée Henry Aglaé Alex Ed Prénom Les locations Nom Véhicule Location Dujardin 001 BJN 25 3 jours MouDuGenou 002 BJN 25 1 semaine EncorEuTilFalluQueJeLeSus 003 BJN 25 1 jour Ed La poignée 004 BJN 25 4 jours Dujardin 005 BJN 25 3 jours MouDuGenou 001 BJN 25 2 semaines EncorEuTilFalluQueJeLeSus 002 BJN 25 1 jours Ed La poignée 003 BJN 25 9 jours Dujardin 004 BJN 25 1 jour Creative Commons - LAXENAIRE Olivier page 5 sur 8

ANNEXE 2 Commandes de MySQL Client/Serveur MySQL Mode "MS-DOS" 1 - Pour démarrer le serveur de mysql: mysqld 2 - Pour démarrer un client mysql: mysql -u root Mode "Linux" 1a - Tester le serveur : ps aux grep mysqld 1b- Lancer le serveur (si nécessaire) mysqld start Remarque : /L'option -u correspond à l'utilisateur rrot. 3 - Nous sommes ici en mode moniteur. Nous pouvons tester différentes commandes: SELECT now(); SELECT user(); SELECT version(); Créer et sélectionner une base 1 - Connaître les noms des différentes bases utilisées: SHOW DATABASES; 2 - Créer une base: CREATE database nomdelabase; 3 - Utiliser cette base: USE nomdelabase; 4 - Voir les tables d'une base de données : SHOW TABLES; Les tables: création/destruction 1 - Creation d'une table 'nomdelatable' : CREATE TABLE nomdelatable ( clefprimaire int NOT NULL AUTO_INCREMENT, clefexterne int REFERENCES tableexterne(clefext), nomcolonne1 CHAR(50), nomcolonne2 INT, PRIMARY KEY(clefPrimaire) ); 2 - Pour voir si la table à bien été créée : SHOW TABLES; 3 - Pour voir les champs de la table «nomdetable» : DESCRIBE nomdetable; 4 - Pour supprimer une table: DROP TABLE nomdelatable; Creative Commons - LAXENAIRE Olivier page 6 sur 8

Insertion, suppression de données 1 - Insérer des données dans une table: INSERT INTO nomdetable (champ1, champ2, champ3) VALUES (val1, val2, "texte1"); ou INSERT INTO nomdetable ( champ1, champ2, champ3) VALUES (val1, val2, "texte1"), (val3, val4, "texte2") ; 2 - Insérer des données commençant par 'Z' d'une table vers une autre table: 2.1 - Créer une table 'nomdetablebis' INSERT INTO nomdetablebis SELECT champ1, champ2, champ3 FROM nomdelatable WHERE champ1 LIKE "Z%" 3 - Suppression d'une valeur dans une table: DELETE FROM nomdelatable WHERE champ1="toto"; // METHODE POUR UNE GRANDE QUANTITE DE DONNEES - Lorsque vous démarrez d'une table vierge, une façon simple de la remplir est de créer un fichier «texte» contenant une ligne pour chaque ensemble de données, puis de le charger dans la table avec une instruction simple. Vous pouvez créer un fichier «donnees.txt» contenant un enregistrement par ligne, chaque donnée de l'enregistrement étant séparée par une tabulation. Les données doivent être dans le même ordre que celui indiqué par l'ordre CREATE TABLE. Pour les valeurs manquantes (ou inconnues), vous pouvez utilisez la valeur NULL, que nous représentons par \N dans le fichier texte. // Exemple d'une table contenant les champs : NOM PROPRIETAIRE ESPECE SEXE NAISSANCE MORT Joe Dupont oiseau \N 2003-12-01 \N // CHARGER LE FICHIER AVEC LES DONNEES Pour charger le fichier texte dans la table, il suffit d'utiliser la commande : mysql> LOAD DATA LOCAL INFILE "./fichier.txt" INTO TABLE matable; // SYNTAXE ALTERNATIVE de 'LOAD DATA' Il est également possible de spécifier des séparateurs entre chaque champs et des terminateurs pour les lignes, comme indiqué dans l'exemple suivant : mysql> LOAD DATA INFILE './data.txt' INTO TABLE nomdetable -> FIELDS TERMINATED BY ',' ENCLOSED BY '"' -> LINES TERMINATED BY '\n'; Creative Commons - LAXENAIRE Olivier page 7 sur 8

Instruction 'LOAD DATA' LOAD DATA [LOW_PRIORITY CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY '\t'] [[OPTIONALLY] ENCLOSED BY ''] [ESCAPED BY '\\' ] ] [LINES [STARTING BY ''] [TERMINATED BY '\n'] ] [IGNORE number LINES] [(col_name,...)] Extractions d'attributs dans une table (projections) 1 - Afficher tous les champs d'une table: SELECT * FROM nomdelatable; 2 - Afficher certains champs d'une table: SELECT champ1, champ2 FROM nomdelatable; Chercher des attributs dans une table (selections) 1 2 24 champ1 champ2 champ3 champ4 champ5 10 20 240 100 200 2400 "un" "deux" "vingt-quatre" 100 200 240 SELECT * FROM nomdelatable where champ4 ="un"; Résultats d'exécution: champ1 champ2 champ3 champ4 champ5 1 10 100 "un" 100 SELECT champ4 FROM nomdelatable WHERE champ5 >199; Résultats d'exécution: champ4 "deux" "vingt-quatre" Creative Commons - LAXENAIRE Olivier page 8 sur 8