INSIA - ING 1 Bases de données Piscine MySQL Cours et TP n 09

Dimension: px
Commencer à balayer dès la page:

Download "INSIA - ING 1 Bases de données Piscine MySQL Cours et TP n 09"

Transcription

1 INSIA - ING 1 Bases de données Piscine MySQL Cours et TP n 09 Notions spécifiques LA BIBLE : MySQL 5.0 Reference Manual Site officiel MySql : Bertrand LIAUDET SOMMAIRE SOMMAIRE 1 MYSQL NOTIONS SPECIFIQUES 3 Commandes systèmes MySQL 3 Les fonctions de la calculette 3 La commande SHOW 3 Présentation des résultats : limit et \G 3 Rand() et limit 3 Types et transtypage 3 Les types numériques 3 Les types date 4 Type chaîne 4 Type chaine : enum et set 4 Cast et convert 4 Les fonctions 5 Fonctions mathématiques 5 Fonctions de chaînes 5 Fonctions de date 5 Agrégations avancées 7 Group by et only Full Group By 7 Fonctions d agrégation 7 Count (distinct attribut) 7 INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 1/20 - Bertrand LIAUDET

2 Group concat 8 With Rollup 8 Les opérateteurs de test : CASE-WHEN, IF, IFNULL 9 CASE - WHEN 9 IF 10 IF NULL 10 Questions de caractères 11 Jeu de caractère : character set 11 Collation: character set 12 5 niveaux de définition : Serveur, Client, Base, Table, Colonne 13 Conversion : CONVERT 13 Usages 14 Regexp : expression régulière 15 Sauvegarde 16 shell > mysql dump 16 Exporter les données : SELECT INTO OUTFILE 17 Importer les données : LOAD DATA INFILE 18 Exercices 19 Première édition : novembre 2009 INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 2/20 - Bertrand LIAUDET

3 MYSQL NOTIONS SPECIFIQUES Commandes systèmes MySQL Les fonctions de la calculette Select database(); Select user() ; Select version() ; Select found_rows( ), row_count( ) La commande SHOW help show Show databases, Show tables, Show create table, Show grants, Show variables Show table status from nombd ; // synthèse sur les tables de la BD Select table_schema, table_name, table_row from tables where table_schema= mabd ; Présentation des résultats : limit et \G Limit 5 ; // les 5 premiers Limit 5, 10 // 10 tuples à partir du 5+1ème \G // affichage en mode page. Rand() et limit Select rand( ) ; Order by rand( ) limit 1 : 1 au hasard; Order by rand( ) limit 5 : 5 au hasard; Types et transtypage Les types numériques INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 3/20 - Bertrand LIAUDET

4 BOOL, BOOLEAN, BIT INT (M), INTEGER (M), TINYINT (M), SMALLINT (M), MEDIUMINT (M), BIGINT (M) FLOAT(precision), FLOAT (M,D), DOUBLE (M,D), DOUBLE PRECISION (M,D), REAL (M,D) DECIMAL (M,D), DEC (M,D) avec M : taille de l affichage, D: nombre de décimal, M>=D, si M=D alors 1 < n < 1. Les types date DATE, DATETIME, TIME TIMESTAMP : pour gérer automatiquement la date de création ou de mise à jour. YEAR(2 4) Type chaîne CHAR(M), NCHAR(M), CHARACTER : taille statique, 255 max. VARCHAR(M), NATIONAL VARCHAR(M) : taille dynamique, 255 max. BLOB, TEXT, TINYBLOB, TINYTEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEXT : taille dynamique, jusqu à 4GO. Type chaine : enum et set ENUM('value1','value2',...) : une valeur parmi une liste SET('value1','value2',...) : zéro, une ou plusieurs valeurs parmi une liste Cast et convert cast Select cast( 19.4 as signed ); // 19 Select cast( 4/3 as decimal(2,1) ); // 1.3 Convert Select convert ( 4/3, decimal(3,2) ); // 1.33 Select convert ( 4/3, decimal(2,2) ); // 0.99!!! ATTENTION!!! Select convert ( 4/3, decimal(1,2) ); // ERREUR!!! INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 4/20 - Bertrand LIAUDET

5 Les fonctions Fonctions mathématiques abs (nb), ceil (nb) : arrondi vers le haut ; floor (nb) : arrondi vers le bas ; round (nb ) arrondi au plus proche ; power (nb, puissance) : élévation à la puissance ; sqrt (nb) : racine ; truncate (nb, nbdécimales) : arrondi en vers le bas en précisant le nombre de décimales conservées ; pi( ) : renvoie PI. Fonctions de chaînes Les constantes chaînes de caractères sont entre guillemets, apostrophes ou accents grave (altgr+7, espace). Like, length(attribut) ; substring(attribut from déb for lgr) : sous-chaîne commençant en déb de longueur lgr ; substring(att from 11) : la sous-chaîne à partir du 11 ème caractère ; strcmp(texte1, texte2) : renvoie 0 si les deux textes sont identiques, -1 si le premier est premier en ordre alphabétique, 1 sinon ; trim(texte) : élimine les espaces au début et à la fin ; upper(texte) ; lower(texte) ; replace(texte, ancien, nouveau) ; locate(mot, texte) : position d un mot dans un texte ; locate(mot, texte, début) : position d un mot dans un texte à partir de début ; concat(text1, text2, etc.) ; concat_ws(séparateur, text1, text2, etc.) : concaténation avec un séparateur ; binary : opérateur unaire qui rend un texte sensible à la casse : paris = binary PARIS est faux. Fonctions de date to_days(date), from_days(entier) : conversion d une date en jours. from_days démarre à 366 : 1 janvier de l année 1. To_days démarre au 1 janvier 0. date_diff(date1, date2) : nb jours entre 2 dates ; date_add(date, interval nb type) : ajout d un nombre de mois, jours, heures, etc.(type : year, month, day, week, hour, minute, second, microsecond, etc.) ; + interval nb type : augmente ou diminue directement une date, ou date et heure. Ne marche pas pour les heures seules ; exemple : select now + interval -1 month ; extract (type from date ) : extraction d une année, mois, jour, heure, etc. (type : year, month, etc. + year_month, hour_minute, etc.) year(date) ; month(date) ; day(date) ; hour(date) ; minute(date) ; second(date) ; curdate() : date ; curtime() : heure ; now() : date et heure ; current_date : date ; current_time : heure ; current_timestamp : date et heure ; utc_date : date ; utc_time : heure ; utc_timestamp : date et heure ; date et heure de greenwich («universel») INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 5/20 - Bertrand LIAUDET

6 Gestion des formats d affichage : date_format( ) Exemple date_format( now( ), '%W %d %M %H heures %i minutes %s sec.') Friday 27 February 16 heures 12 minutes 23 sec. Formats %k : heure sur 1 chiffre si possible ; %w : jour de 0 à 6, 0 pour dimanche ; %a : jour abrégé ; %e : numéro du jour du mois sur 1 chiffre si possible ; %m : mois sur deux chiffres ; %c : mois sur 1 chiffre si possible ; %Y : année sur 4 chiffres ; %y : année sur 2 chiffres. Quelques conversions Date vers secondes et réciproquement Nombre de secondes depuis le 1 er janvier 1970 : unix_timestamp (date) Inverse : from_unixtime( nb secondes ) Remarque : unix_timestamp ( ) unix_timestamp (now() ) Heure vers seconde et réciproquement Nombre de seconde depuis minuit : time_to_sec ( heure ) Inverse : sec_to_time ( nb secondes ) Conversion d une date en nombre et réciproquement Curdate( ) + 0 = ; Date( ) = 20 février 2009 Conversion d une heure en nombre et réciproquement Curtime( ) + 0 = ; Time(161055) = 16 heures 10 minutes et 55 secondes Date de création et date de modification Create table test ( datecrea timestamp default now( ), ) L attribut sera affecté automatiquement à «now» à la création d un tuple. Create table test ( datemodif timestamp default now( ) on update current_timestamp default now( ), ) L attribut sera affecté automatiquement à «now» à la création d un tuple puis remis à now à chaque update. INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 6/20 - Bertrand LIAUDET

7 Agrégations avancées Group by et only Full Group By Permissivité du group by MySQL : on peut projeter d autres attributs que ceux du group by. Les attributs du group by forment la clé primaire. Les nouveaux attributs projetés doivent être déterminés fonctionnellement par cette clé primaire pour que l opération soit significative. Fonctions d agrégation variance( ), var_samp( ), std( ), std_samp( ) (écart-type) select t1.no_commande, t2.tot, t1.fous from ( select dc.no_commande, group_concat(p.no_fournisseur) fous from details_commandes dc, produits p where dc.ref_produit=p.ref_produit group by dc.no_commande ) t1, select no_commande, ceil(prix_unitaire*quantite*(1-remise))as tot from details_commandes group by tot having tot > order by tot ) t2 where t1.no_commande=t2.no_commande; Count (distinct attribut) Count (distinct attribut) dans un group by Exemple Combien d employés et de départements par fonction Select job, count(ne) nbemp, count(distinct nd) nbdept from emp group by job; job nbemp nbdept Ingé 5 3 Com 2 2 Etc. 5 ingénieurs répartis dans 3 départements 2 commerciaux répartis dans 2 départements, etc. INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 7/20 - Bertrand LIAUDET

8 Group concat Pour une valeur du group by, on regroupe toutes les valeurs d un attribut : Select attributgb, group_concat(liste d attributs) from table group by attributgb; On peut trier et choisir son séparateur : group_concat(attribut order by attribut separator et ) Exemple Liste des employés par fonction : Select job, group_concat(ne order by ne) from emp group by job; Ingé 1, 4, 5, 10 Com 2, 7 Boss 3 Secrétaire 6, 8, 9 With Rollup Le with rollup permet de faire les totaux par catégorie après un group by. Select. Group by (au moins deux attributs) WITH ROLLUP ; Exemple Les employés travaillent dans un département et ont une fonction. On veut connaître le nombre d employés par fonction et par département avec le total par fonction. Select job, nd, count(*) nb from emp group by job, nd with rollup; JOB ND NB Ingé dept10 4 Ingé dept20 2 Ingé NULL 6 Com dept10 1 Com NULL 1 INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 8/20 - Bertrand LIAUDET

9 Les opérateteurs de test : CASE-WHEN, IF, IFNULL Les opérateurs de test permettent de produire un nouvel attribut dont on pourra utiliser les valeurs en projection ou en restriction. CASE - WHEN Première syntaxe : case classique La première syntaxe permet de calculer le nouvel attribut à partir d une succession de comparaison d égalité entre une expression unique de départ et différentes valeur : c est un «case» ou un «switch» algorithmique classique. CASE expression WHEN valeur THEN résultat1 [* WHEN THEN ] [ELSE résultat] END Valeur et résultat sont des expressions (constantes littérales, attributs, expressions arithmétiques, etc.) Remarque Le ELSE permet de garantir que tous les tuples seront pris en compte. Si il n y a pas de ELSE et que tous les cas ne sont pas pris en compte dans les alternatives du ELSE, le tuple ne sera pas éliminé (seul le WHERE peut faire ça), mais la valeur de l attribut calculé vaudra NULL. Deuxième syntaxe : else-if La seconde syntaxe permet de calculer le nouvel attribut à partir d une succession de tests distincts les uns des autres. C est un «else if» algorithmique classique. Exemple CASE WHEN expression opérateur valeur THEN résultat [* WHEN THEN ] [ELSE résultat] END On veut classer les employés en 3 catégories de salaire : 1 :bas, 2 :moyen, 3 :fort. Un salaire moyen est compris entre 1200 et Select NE, nom, case when sal <1200 then 1:bas when sal <2500 then 2:moyen else 3:gros end as categorie from emp order by categorie, nom; INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 9/20 - Bertrand LIAUDET

10 IF Exemple Le IF est un cas particulier du CASE qui réduit les valeurs possibles à 2 : IF(expr1,expr2,expr3) : retourne expr2 si expr1 est différent de 0 et de null, expr3 sinon. On reprend l exemple du CASE : Select NE, nom, if(sal <1200, 1:bas,if(sal <2500, 2:moyen, 3:gros )) as categorie from emp order by categorie, nom; IF NULL Le IFNULL est un cas particulier du IF : IFNULL(expr1,expr2) : retourne expr2 si expr1 est null. INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 10/20 - Bertrand LIAUDET

11 Questions de caractères Jeu de caractère : character set Définition d un jeu de caractères Ensemble de caractères (lettres, ponctuation, chiffres, etc.) auxquels sont associés un numéro de code. Exemple : code ASCII. «A»=65, «,» = caractères sont codés de façon standard. Select ASCII ( A ); Select CHAR(65); Codages ISO (origine ASCII) Principe : 1 octet = 8 bit = 256 codages possibles. Les jeux de caractères normalisés ISO 8859 sont codés sur 1 octet. Le ISO est le «latin-1» ou «occidental» ou «western» Le ISO fournit les caractères arabe. Codages Unicode Principe : un jeu de caractères pour toutes les langues : plus que 256 caractères. Les jeux de caractères Unicode utilisent plusieurs octets. UTF-8 utilise des caractères de taille variable, de 1 à 4 octets. Attention, l utf8 gère mal les accents. Police de caractère : character font La police est une notion différente du jeu de caractères. Elle ne concerne que l apparence graphique. Mysql Variables d environnement Show character set; // jeux de caractères disponibles. Select * from information_schema.character_sets; // état du dictionnaire des données Show variables like %char% ; // état des variables d environnement // modification des variables Signification des variables character_set_client : jeu de caractère utilisé en saisie character_set_connection : jeu de caractères utilisé pour la communication client serveur character_set_results : jeu de caractères utilisé pour l affichage des résultats character_set_database : jeu de caractères de la BD en cours d utilisation INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 11/20 - Bertrand LIAUDET

12 My.ini character_set_server : jeu de caractère du serveur Show variable like datadir ; // répertoire du fichier my.ini [mysql] default-character-set=latin1 [mysqld] default-character-set=latin1 Collation: character set Définition d une collation Une collation est liée à un jeu de caractères. Elle donne l ordre de classement des caractères et l équivalence éventuelle entre caractère («e» équivalent à «E», «é», «è») Type de collation en fonction du classement _bin : dans l ordre, majuscules d abord, minuscules ensuite, accentuées après, etc. _cs : «case sensitive» _ci : «case insensitive» Collation par défaut latin1_swedish_ci : collation par défaut de latin1, bien adaptée au français. latin1_german_ci : collation mieux adaptée au français. Autres collations : latin1_bin, latin1_general_cs, latin1_general_ci, utf8_bin, utf8_general_ci, utf8_unicode_ci. Mysql Show collation like «latin1%» ; // collations associées au latin1. Select * from information_schema.collations; // état du dictionnaire des données Show variables like %coll% ; // état des variables d environnement My.ini [mysql] default-collation=latin1_german_1 [mysqld] default-collation=latin1_german1_ci INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 12/20 - Bertrand LIAUDET

13 5 niveaux de définition : Serveur, Client, Base, Table, Colonne Serveur et client my.ini show variable like // niveau serveur // niveau client Base CREATE DATABASE nomdatabase CHARSET latin1 COLLATE latin1_german1_ci; Show create database nomdatabase; Show variable like character_set_database ; Show variables like collation_database ; ALTER DATABASE nomdatabase CHARSET latin1 COLLATE latin1_bin; // attention: l alter database modifie les Le contraire n est pas vrai. Table Colonnes CREATE TABLE nomtable { } CHARSET latin1 COLLATE latin1_bin; // valeurs par défaut ALTER TABLE nomtable CHARSET latin1 COLLATE latin1_bin; // valeurs par défaut CREATE TABLE nomtable {, att1 varchar(50) CHARSET latin1 COLLATE latin1_bin, }; // valeur par défaut de la colonne ALTER TABLE nomtable ADD COLUMN attx varchar(50) CHARSET latin1 COLLATE latin1_bin; // valeur par défaut de la colonne SHOW FULL COLUMNS FROM nomtable ; SELECT DISTINCT CHARSET(attribute) FROM nomtable; Conversion : CONVERT La conversion pose un problème quand un caractère du jeu de départ n a pas d équivalent dans le jeu d arrivée. Une colonne est convertie quand on change son jeu ou sa collation. Pour convertir une table il faut utiliser la fonction CONVERT Conversion niveau colonne ALTER TABLE nomtable MODIFY attx varchar(50) CHARSET latin1 COLLATE latin1_bin; // conversion de la colonne INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 13/20 - Bertrand LIAUDET

14 Conversion niveau table ALTER TABLE nomtable CONVERT TO CHARSET latin1 COLLATE latin1_bin ; // conversion de toutes les colonnes et des valeurs par défaut de la table. Conversion dans les SELECT Forcer la sensibilité à la casse : binary, collate SELECT * from table WHERE BINARY attribut = TOTO ; SELECT * from table WHERE attribute COLLATE latin1_bin= TOTO ; Les toto en minuscules ne rentreront pas dans le resultats. Changer de jeu de caractères SELECT WHERE CONVERT(attribut USING utf8) Changer de jeu de caractères et de collation SELECT WHERE CONVERT(attribut USING utf8) collate utf8_unicode_ci Usages Unicode niveau serveur (jeu de caractères le plus large : exemple : utf8) ISO niveau client (jeu de caractères plus restreint et mieux adapté : exemple : latin1) En latin1, la collation par défaut est : latin1_swedish_ci. Il semblerait que la collation : latin1_german1_ci soit plus adapté au français. En théorie, l utf8 n est sensible ni à la casse, ni aux accents. Pour pouvoir regrouper des mots distingués uniquement par leurs accents, on peut passer l attribut en utf8, soit au niveau du select, soit au niveau de l attribut de la table. En pratique, c est moins convaincant INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 14/20 - Bertrand LIAUDET

15 Regexp : expression régulière «Regexp» est un opérateur du même genre que «Like», mais en plus élaboré. Rappel de l usage du like : Syntaxe du select : WHERE attribut REGEXP expression régulière Syntaxe de l expression régulière Classe de caractères : [1236], [1-4], [^1-4] Nombre de caractères : {5}, {5,6}, {0,1},?, {1,}, +, {0,}, * Début : ^ Fin : $ N importe quel caractère : «.» Caractère «^» : \\^ Caractère «.» : \\. Alternative (ou) : Classes prédéfinies : [ :alpha :], [ :lower :], [ :upper :], [ :alnum :], [ :space :], [ :punct :], Début de mot : [[ :< :]] Fin de mot : [[ :> :]] Exemples ^[BL] [0-9]-?[0-9]{4}$ veut dire : un B ou un L ou un chiffre, suivi d un tiret ou pas, suivi de 4 chiffres. '^[SA][A-Z]*\\.[^0-9]{3}[[:alnum:]]*$ veut dire : un S ou un A, suivi de plusieurs majuscules ou aucune, suivi de un point, suivi de pas de chiffre sur 3 caractères, suivi des chiffres ou des lettres ou rien. Les expressions régulières sont sensibles ou pas à la casse selon la collation utilisée. Elles sont toujours sensibles aux accents. INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 15/20 - Bertrand LIAUDET

16 Sauvegarde shell > mysql dump Mysqldump est une commande qui permet de produire le code SQL permettant de recréer entièrement la BD. Sauvegarde d une ou plusieurs BD Sauvegarder des BD shell> mysqldump [options] --databases DB1 [DB2 DB3...] Sauvegarder toutes les BD shell> mysqldump [options] --all-databases Affichage à l écran ou redirection dans un fichier shell> mysqldump uroot p nombd La commande affiche le code SQL de la BD nombd. shell> mysqldump uroot p nombd > nomfichier La commande écrit le code SQL de la BD nombd dans le fichier nomfichier. Usage courant de MYSQLDUMP pour sauvegarder et recharger une BD Commande usuelle de sauvegarde d une BD : shell> mysqldump --opt nombd > backupfile.sql L option --opt inclut l option --quick et l option --lock-tables, entre autres. Pour recharger le fichier de sauvegarde : shell> mysql nombd < backupfile.sql Usage courant de MYSQLDUMP pour sauvegarder toutes les BDs Commande usuelle de sauvegarde de toutes les BD : shell> mysqldump --opt --all-databases > allbd.sql Pour recharger le fichier de sauvegarde de toutes les BD : shell> mysql < allbdql Usage spécial de MYSQLDUMP : ne sauvegarder que le schéma de la BD -- no-data INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 16/20 - Bertrand LIAUDET

17 Exporter les données : SELECT INTO OUTFILE A partir de mysql Production d un fichier «csv» exploitable sous Excel. Chemin absolu mysql> SELECT * INTO OUTFILE c:/dept.csv fields terminated by, FROM dept; Chemin relatif : DATADIR mysql> SELECT * INTO OUTFILE./dept.csv fields terminated by, FROM dept; Chemin relatif : DATADIR / BDused mysql> SELECT * INTO OUTFILE dept.csv fields terminated by, FROM dept; A partir du SE C: \ > mysql dbname u user p >output.tab On passe en mode batch, l affichage est redirigé dans le fichier output.tab Ou bien C: \ > mysql dbname u user p pager=cat>output.tab Remarque : output.tab est écrasé au début de l opération, mais toutes les commandes de la même session sont executées à la suite Autre usage : C: \ > mysql dbname u user p < fichier.sql > output.tab INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 17/20 - Bertrand LIAUDET

18 Importer les données : LOAD DATA INFILE On peut importer des données en précisant le format de séparation des champs. Par exemple: les fichiers csv produit par Excel utilisent la virgule comme séparateur. Attention : La table correspondant au fichier importé doit avoir le même schéma que celle dans laquelle les tuples sont insérés. Chemin absolu mysql> LOAD DATA INFILE c:/dept.csv INTO TABLE dept fields terminated by, ; Chemin relatif : DATADIR mysql> LOAD DATA INFILE./dept.csv INTO TABLE dept fields terminated by, ; Chemin relatif : DATADIR / BDused mysql> LOAD DATA INFILE dept.csv INTO TABLE dept fields terminated by, ; Chemin relatif : DATADIR / BD au choix mysql> LOAD DATA INFILE./empdept/dept.csv INTO TABLE dept fields terminated by, ; Avec les options REPLACE ou IGNORE, quand une donnée rentre avec une clé primaire existant déjà, elle remplacera l ancienne ou elle sera ignorée. Sinon, l opération s arrête en erreur. LOAD DATA INFILE nomfichier REPLACE INTO TABLE nomtableoutfile INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 18/20 - Bertrand LIAUDET

19 Exercices Utiliser la BD des ventes. 1) Charger la BD 2) Comprendre l organisation des tables. Faire un graphe des tables. 3) Combien y a-t-il de tuples dans chaque tables? 4) Afficher les produits. Il y en a trop! Afficher une vingtaine de produits. Afficher une dizaine de produits en mode «page» (\G). 5) Afficher 10 produits au hasard. Répéter l opération plusieurs fois. 6) Pour chaque commande, afficher le total de la commande. On mettra 2 chiffres après la virgule. 7) Afficher les commandes avec la mise en forme suivante : 12 % selon la remise et «pas de remise» si c est 0. 8) Afficher les détails de commandes avec l information «cher sans remise» si le prix est supérieur à 400 et qu il n y a pas de remise, «pas cher avec remise» si c est inférieur à 100 et qu il y a une remise, rien sinon. 9) Afficher les commandes avec leur numéro, le nom du client, la date et le nombre de produits dans la commande. 10) Afficher les commandes avec leur numéro, le nom du client, la date et la liste des numéros de produits. 11) Afficher les commandes avec leur numéro, le nom du client, le nombre de produits et la liste des numéros de produits. 12) Afficher les commandes avec leur numéro, le nom du client, la liste des numéros de produits et la quantité pour chaque produit. 13) Afficher les commandes avec leur numéro et la liste des noms de produit. Chaque nom de produit devra être précédé de sa quantité suivie de X («fois»). 14) Afficher la liste des fournisseurs pour chaque commande supérieur à avec la date de la commande. On affichera d abord le numéro du fournisseur puis son nom. 15) Compter le nombre produits par fournisseur par catégorie : le fournisseur 1 propose 3 produits de la catégorie 1 et 5 de la catégorie 2. 16) Ajouter le total par fournisseur dans la requête précédente : le fournisseur 1 propose 3 produits de la catégorie 1 et 5 de la catégorie 2, et donc 8 produits en tout. 17) Afficher le nombre de produits par catégorie et par fournisseur et le total par catégorie. 18) Afficher le nombre de lignes de commandes par client et par employé et le total par client. 19) Afficher toutes les quantités avec cartons. 20) Construire l expression régulière correspondant aux quantités avec cartons. Il faut retrouver les résultats de la requêtes précédentes. Pour se faciliter la tâche, on pourra commencer par l expression régulière pour des cartons sans poids. 21) A partir du résultat précédent, construisez l expression régulière de l ensemble des produits. Construisez les expressions régulières des différents code postaux selon les pays en regroupant les pays dont le code postal est de même format. Intégrer les expressions dans un «case when» pour afficher la catégorie de code postal. On pourra commencer par traiter un seul cas, puis deux, puis tous. INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 19/20 - Bertrand LIAUDET

20 INSIA - BASES DE DONNÉES ING 1 Piscine Cours 09 - page 20/20 - Bertrand LIAUDET

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

FileMaker 13. Guide de référence SQL

FileMaker 13. Guide de référence SQL FileMaker 13 Guide de référence SQL 2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont des marques commerciales de

Plus en détail

Le Langage De Description De Données(LDD)

Le Langage De Description De Données(LDD) Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,

Plus en détail

Introduction aux Bases de Données 2004/2005

Introduction aux Bases de Données 2004/2005 Introduction aux Bases de Données 2004/2005 Chapitre 6: Le langage SQL Ecole Nationale Supérieur de Physique de Strasbourg Christian Wolf christian.wolf@ensps.u-strasbg.fr 6.1 Stockage physique Film numfil

Plus en détail

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

Le langage SQL pour Oracle - partie 1 : SQL comme LDD Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger

Plus en détail

Présentation Windows Azure Hadoop Big Data - BI

Présentation Windows Azure Hadoop Big Data - BI Présentation Windows Azure Hadoop Big Data - BI Sommaire 1. Architecture Hadoop dans Windows Azure... 3 2. Requête Hive avec Hadoop dans Windows Azure... 4 3. Cas d études... 5 3.1 Vue : Administrateur...

Plus en détail

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

Bases de Données relationnelles et leurs systèmes de Gestion III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

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

Pour les débutants. langage de définition des données Pour les débutants SQL : langage de définition des données Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont

Plus en détail

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

Bible MySQL! La première version de MySQL est apparue en 1995. Cette première version est créée pour un usage personnel à partir de msql. Bible MySQL! Bref historique de MySQL 1. MySQL MySQL est le Système de Gestion de Base de Données Relationnelle (SGBDR) Open Source le plus répandu dans le monde. Il est développé par MySQL AB, une entreprise

Plus en détail

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

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

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

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR Système de Gestion de Bases de Données Relationnelles MySQL Youssef CHAHIR 1 PLAN Introduction Démarrer MySQL Syntaxe de MySQL Types des attributs Identificateurs Effectuer des requêtes Fonctions de MySQL

Plus en détail

I. MySQL : Serveur et SGBD

I. MySQL : Serveur et SGBD Le Système de Gestion de Base de Données MySQL I. MySQL : Serveur et SGBD Menu I. MySQL : Serveur et SGBG II. Création d'une base de données avec MySQL MySQL est un système de gestion et conception de

Plus en détail

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

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

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

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Création et Gestion des tables

Création et Gestion des tables Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5

Plus en détail

Cours: Administration d'une Base de Données

Cours: Administration d'une Base de Données Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Administration d'une Base de Données Table of Contents Principes...1 Structure d'un Base de Données...1 Architecture...1

Plus en détail

Historisation des données

Historisation des données Historisation des données Partie 1 : mode colonne par Frédéric Brouard, alias SQLpro MVP SQL Server Expert langage SQL, SGBDR, modélisation de données Auteur de : SQLpro http://sqlpro.developpez.com/ "SQL",

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

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

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013 NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

TP Bases de données réparties

TP Bases de données réparties page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure

Plus en détail

Devoir Data WareHouse

Devoir Data WareHouse Université Paris XIII Institut Galilée Master 2-EID BENSI Ahmed CHARIFOU Evelyne Devoir Data WareHouse Optimisation, Transformation et Mise à jour utilisées par un ETL Mr R. NEFOUSSI Année 2007-2008 FICHE

Plus en détail

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable :

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable : BES WEBDEVELOPER - SYSTEME DE GESTION DE BASES DE DONNEES - 5XBDR-1 1 WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable : dans le cadre de mise en situations simples et

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD Plan Bases de Données L3 Info Céline Rouveirol 2010-2011 Bases de Données 1 / 77 Sources des transparents Bases de Données 2 / 77 Bases de SQL - M.P. Dorville/F. Goasdoué, LRI, Université Paris Sud - V.

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

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

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin Objectifs : Apprendre à l apprenant à lancer un serveur local «Apache» Apprendre à l'apprenant à lancer un serveur MySQL

Plus en détail

MySQL / SQL EXEMPLES

MySQL / SQL EXEMPLES MySQL_exemples_janv04_mpT EXEMPLES 1 MySQL / SQL EXEMPLES Typologie du langage Il est possible d'inclure des requêtes SQL dans un programme écrit dans un autre langage (en langage C par exemple), ainsi

Plus en détail

Exercices sur SQL server 2000

Exercices sur SQL server 2000 Exercices sur SQL server 2000 La diagramme de classe : Exercices sur SQL server 2000 Le modèle relationnel correspondant : 1 Créer les tables Clic-droit on Tables et choisir «New Table» Créer la table

Plus en détail

Les dates SAS expliquées à ma fille

Les dates SAS expliquées à ma fille Les dates SAS expliquées à ma fille Eternel sujet de questionnements, les dates SAS ont un fonctionnement qui a tout pour surprendre. Petite série d explications avant qu il vous prenne l envie de passer

Plus en détail

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

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

MYSQLDUMP & ZRM COMMUNITY

MYSQLDUMP & ZRM COMMUNITY Meetup Viadeo & LeMUG / Paris, November 16, 2011 MYSQLDUMP & ZRM COMMUNITY Scheduling and Monitoring Cédric PEINTRE www.mysqlplus.net 2 Sondage ancien mais toujours valide! mysqldump n est pas mort! Sauvegarde

Plus en détail

MS SQL Express 2005 Sauvegarde des données

MS SQL Express 2005 Sauvegarde des données MS SQL Express 2005 Sauvegarde des données Création : 08.04.2011 Modification : 08.04.2011 Situation La base de données gratuite MSSQL Express 2005 ne dispose pas d agent (planificateur de tâche) comme

Plus en détail

Codage d information. Codage d information : -Définition-

Codage d information. Codage d information : -Définition- Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale

Plus en détail

Les BASES de DONNEES dans WampServer

Les BASES de DONNEES dans WampServer Les BASES de DONNEES dans WampServer 1 Définitions Générales Une base de données (BDD) permet d'enregistrer, de stocker, de ranger des données de façon organisée et hiérarchisée. SQL est le langage qui

Plus en détail

Bases de données et sites WEB

Bases de données et sites WEB Bases de données et sites WEB Cours2 : Sécurité et contrôles d accès Anne Doucet 1 Authentification Autorisation Privilèges Rôles Profils Limitations de ressources Plan Audit Contrôle d accès via les vues

Plus en détail

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble. Gaëlle PERRIN SID2 Grenoble Le 10/04/2014 Base de Données (BD) : une grande quantité de données, centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables

Plus en détail

Initiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012

Initiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012 Initiation à SQL Le langage de communication avec une base de données relationnelles Application avec PostgreSQL Nathalie Camelin 2011/2012 Université du Maine Institut Claude Chappe D'après Levy Estève

Plus en détail

Le langage SQL Rappels

Le langage SQL Rappels Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

SQL Historique 1982 1986 1992

SQL Historique 1982 1986 1992 SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse

Plus en détail

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations des SGBDR. Étude de cas : MySQL Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique

Plus en détail

1/ Présentation de SQL Server :

1/ Présentation de SQL Server : Chapitre II I Vue d ensemble de Microsoft SQL Server Chapitre I : Vue d ensemble de Microsoft SQL Server Module: SQL server Semestre 3 Année: 2010/2011 Sommaire 1/ Présentation de SQL Server 2/ Architerture

Plus en détail

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

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Définition (G. Gardarin) Entrepôt : ensemble de données historisées variant

Plus en détail

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

Le langage SQL (première partie) c Olivier Caron Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

1. Base de données SQLite

1. Base de données SQLite Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis

Plus en détail

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

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 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 IRI IUT A / Département GEII 2 TABLE DES MATIÈRES A)

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Ce projet comporte trois parties sur les thèmes suivants : création de base de donnée, requêtes SQL, mise en œuvre

Plus en détail

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 PHP Bertrand Estellon Aix-Marseille Université 26 avril 2012 Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 SQLite et PDO Base de données SQLite et PDO SQLite écrit les données relatives à la base dans

Plus en détail

Sybase Adaptive Server Enterprise 15

Sybase Adaptive Server Enterprise 15 Sybase Adaptive Server Enterprise 15 Prêt pour Sybase Adaptive Server Enterprise 15? Novembre 2006 Documentation technique # 29 Introduction Cette présentation liste les fonctionnalités importantes de

Plus en détail

INTRODUCTION AU DATA MINING

INTRODUCTION AU DATA MINING INTRODUCTION AU DATA MINING 6 séances de 3 heures mai-juin 2006 EPF - 4 ème année - Option Ingénierie d Affaires et de Projets Bertrand LIAUDET TP DE DATA MINING Le TP et le projet consisteront à mettre

Plus en détail

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

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 Loïc Maisonnasse 1 Objectif Ce TD a pour objectif de vous familiariser avec le langage de requêtes SQL. Et de vous apprendre à écrire des requêtes SQL pour

Plus en détail

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs, relations,

Plus en détail

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub pierre-andre.sunier@he-arc.ch http://lgl.isnetne.ch/

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Logiciel de Base. I. Représentation des nombres

Logiciel de Base. I. Représentation des nombres Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr I. Représentation des nombres Codage et représentation de l'information Information externe formats

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

Mysql avec EasyPhp. 1 er mars 2006

Mysql avec EasyPhp. 1 er mars 2006 Mysql avec EasyPhp 1 er mars 2006 Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requètes vers les bases de données relationnelles. Il en reprend la syntaxe

Plus en détail

Résumé S Q L. Auteur: Alexandre PATIN Edition: 22 février 2000 E-mail : alexandre.patin@free.fr URL : http://alexandre.patin.free.

Résumé S Q L. Auteur: Alexandre PATIN Edition: 22 février 2000 E-mail : alexandre.patin@free.fr URL : http://alexandre.patin.free. Résumé S Q L Auteur: Alexandre PATIN Edition: 22 février 2000 E-mail : alexandre.patin@free.fr URL : http://alexandre.patin.free.fr/ Toute reproduction, même partielle, par quelque procédé que ce soit,

Plus en détail

Optimisation de MySQL

Optimisation de MySQL Olivier DASINI Optimisation de MySQL http://dasini.net/blog/ 1 Votre conférencier Olivier DASINI Formateur certifié MySQL Consultant technologies Open Sources olivier@dasini.net 2 Au programme... Introduction

Plus en détail

Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés 2013-2014. Volubis.fr

Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés 2013-2014. Volubis.fr Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés 2013-2014 13 et 14 mai 2014 IBM Client Center Paris, Bois-Colombes Volubis.fr Conseil et formation sur OS/400,

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche (sebastien@nameche.fr)

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche (sebastien@nameche.fr) Support de cours Introduction à SQL et MySQL 2003, Sébastien Namèche (sebastien@nameche.fr) Licence de Libre Diffusion des Documents -- LLDD version 1 (Par Bernard Lang, http://pauillac.inria.fr/~lang/licence/lldd.html)

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

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

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création Construction d un EDD avec SQL 2008 R2 Plan Analyse du DW construit Construction de la base DW dans SQL 2008 Construction des tables de faits et dimensions Injection des données Étapes de l injection des

Plus en détail

Cours 4 : Agrégats et GROUP BY

Cours 4 : Agrégats et GROUP BY Cours 4 : Agrégats et GROUP BY Agrégat Fonction qui effectue un calcul sur l ensemble des valeurs d un attribut pour un groupe de lignes Utilisation dans une clause SELECT ou dans une clause HAVING 3 types

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

Mejdi BLAGHGI & Anis ASSÈS

Mejdi BLAGHGI & Anis ASSÈS Ministère de l Enseignement Supérieur, de la Recherche Scientifique et de la Technologie Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Djerba Support de Cours

Plus en détail

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

Introduction au Système de Gestion de Base de Données et aux Base de Données Introduction au Système de Gestion de Base de Données et aux Base de Données Formation «Gestion des données scientifiques : stockage et consultation en utilisant des bases de données» 24 au 27 /06/08 Dernière

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

MariaDB/MySQL Avancé. Pierre Mavro <pierre@mavro.fr> Creative Commons License

MariaDB/MySQL Avancé. Pierre Mavro <pierre@mavro.fr> Creative Commons License MariaDB/MySQL Avancé Pierre Mavro Creative Commons License Sommaire Sommaire Introduction........................................................ 3 Installation.........................................................

Plus en détail

Ecole Industrielle et Commerciale de la ville de Namur. Structure et application des bases de données. Y. Mine

Ecole Industrielle et Commerciale de la ville de Namur. Structure et application des bases de données. Y. Mine Ecole Industrielle et Commerciale de la ville de Namur Structure et application des bases de données 2è graduat en informatique et systèmes * technologie de l information 2008 2009 Y. Mine Table des matières

Plus en détail

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL Cette création est mise à disposition selon le Contrat Paternité-Pas d'utilisation Commerciale-Partage des Conditions Initiales à l'identique 2.0

Plus en détail

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes. Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

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

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ; RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Auto-évaluation Oracle: cours de base

Auto-évaluation Oracle: cours de base Auto-évaluation Oracle: cours de base Document: F0475Test.fm 14/01/2008 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION ORACLE: COURS DE

Plus en détail

Intégrité sémantique dans les bases de données relationnelles

Intégrité sémantique dans les bases de données relationnelles Intégrité sémantique dans les bases de données relationnelles 1 - Intégrité sémantique Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU Ecole Polytechnique Universitaire de Marseille Fev. 2013

Plus en détail

Cours SQL. Base du langage SQL et des bases de données

Cours SQL. Base du langage SQL et des bases de données Cours SQL Base du langage SQL et des bases de données Auteur Tony Archambeau Site web http://sql.sh Date 24 mai 2014 Licence Mis à disposition selon les termes de la licence Creative Commons Attribution

Plus en détail

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

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007 A t t a q u e s c o n t r e l e s a p p l i s w e b cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007 D e l ' u t i l i t é d e l ' a t t a

Plus en détail

Bases de données élémentaires Maude Manouvrier

Bases de données élémentaires Maude Manouvrier Licence MI2E- 1ère année Outils en Informatique Bases de données élémentaires Maude Manouvrier Définitions générales et positionnement du cours dans la formation Vocabulaire relatif aux bases de données

Plus en détail

Optimisation SQL. Quelques règles de bases

Optimisation SQL. Quelques règles de bases Optimisation SQL Quelques règles de bases Optimisation des ordres SQL Page 2 1. QUELQUES RÈGLES DE BASE POUR DES ORDRES SQL OPTIMISÉS...3 1.1 INTRODUCTION...3 1.2 L OPTIMISEUR ORACLE...3 1.3 OPTIMISEUR

Plus en détail