Langage de 4eme génération Les constructions de MySQL. Au delà de l'algèbre relationnelle ... A.D., S.B. Mars 2014

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

Download "Langage de 4eme génération Les constructions de MySQL. Au delà de l'algèbre relationnelle ... A.D., S.B. Mars 2014"

Transcription

1 Langage de 4eme génération Les constructions de MySQL BD4 AD, SB Licence MASS, Master ISIFAR, Paris-Diderot Mars 2014 BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 1/44 Mars / 44 Utilité d'un langage de programmation Au delà de l'algèbre relationnelle Pourquoi? Automatiser des tâches répétitives En administration de bases de données, on doit fréquemment répéter des tâches importantes : Créer des comptes Créer des bases avec des tables prédéfinies Gérer des privilèges BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 2/44 Mars / 44

2 Utilité d'un langage de programmation Au delà de l'algèbre relationnelle (suite) On ne peut pas tout faire à l'aide de l'algèbre relationnelle Exemple : la relation film_actor permet de définir un graphe dont les sommets sont les acteurs, on met un arc entre deux acteurs s'ils jouent dans un même film Peut-on répondre à la question : Liz Taylor est elle accessible à partir de Richard Burton? Pas avec l'algèbre relationnelle BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 3/44 Mars / 44 Utilité d'un langage de programmation Les routines Les routines de MySQL regroupent les fonctions et les procédures Les routines sont des objets mémorisés sur le serveur Les procédures ne renvoient pas de résultat peuvent modifier certains de leurs arguments invocation à l'aide de CALL CREATE PROCEDURE Les fonctions utilisateurs renvoient une valeur peuvent modifier certains de leurs arguments invocation comme les fonctions systèmes CREATE FUNCTION BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 4/44 Mars / 44

3 Déclaration de routine (fonction/procédure) Fonctions/procedure schema sakila BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 5/44 Mars / 44 Déclaration de routine (fonction/procédure) Définition de procédure CREATE PROCEDURE et CREATE FUNCTION Ịnstruction qui crée les fonctions/procédures mémorisées dans la base CREATE PROCEDURE filminstock ( IN pfilmid INT, IN pstoreid INT, OUT pfilmcount INT ) READS SQL DATA SELECT inventoryid FROM inventory WHERE filmid = pfilmid AND storeid = pstoreid AND inventoryinstock ( inventoryid) ; SELECT FOUNDROWS () INTO pfilmcount ; END BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 6/44 Mars / 44

4 Création de fonction Déclaration de routine (fonction/procédure) CREATE FUNCTION inventory_ in_ stock ( p_inventory_id INT ) RETURNS tinyint (1) READS SQL DATA DECLARE v_rentals INT ; DECLARE v_out INT ; SELECT COUNT (*) INTO v_rentals FROM rental WHERE inventory_id = p_inventory_id ; IF v_rentals = 0 THEN RETURN TRUE ; END IF ; SELECT COUNT ( rental_id ) INTO v_out FROM inventory LEFT JOIN rental USING ( inventory_id ) WHERE inventory inventory_id = p_inventory_id AND rental return_date IS NULL ; IF v_out > 0 THEN RETURN FALSE ; ELSE RETURN TRUE ; END IF ; END BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 7/44 Mars / 44 Déclaration de routine (fonction/procédure) Procédures et fonctions Invocation Résultat Paramètres Commandes Appels PROCÉDURES CALL procedure Peut renvoyer le résultat d une requête et les paramètres out Par valeur IN, par référence OUT,INOUT Tout LMD Peut invoquer procédures et fonctions FONCTIONS Comme une expression dans une expression SQL Renvoie une valeur scalaire via RETURN par valeur Possibilité d accéder aux tables Peut invoquer seulement des fonctions BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 8/44 Mars / 44

5 Fonctions Déclaration de Fonctions (détails) CREATE [ DEFINER = { user CURRENT_USER } ] FUNCTION sp_name ( [ func_parameter [, ] ] ) RETURNS type [ c h a r a c t e r i s t i c ] routine_body BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 9/44 Mars / 44 Déclaration de Fonctions (détails) Fonctions (suite) func_parameter : param_name type c h a r a c t e r i s t i c : COMMENT string LANGUAGE SQL [NOT] DETERMINISTIC { CONTAINS SQL NO SQL READS SQL DATA MODIFIES SQL DATA } SQL SECURITY { DEFINER INVOKER } routine_ body : Valid SQL routine statement BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 10/44 Mars / 44

6 Déclaration de Fonctions (détails) Fonction définie par l'utilisateur Une fonction est associée à une base/un schéma Par défaut la base en usage au moment de la définition Une fonction définie par l'utilisateur peut être utilisée dans la conception d'une réquête comme les fonctions standards fournies par MySQL BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 11/44 Mars / 44 Déclaration de Fonctions (détails) SQL SECURITY Qui peut utiliser une fonction? ẹt avec quels privilèges? INVOKER DEFINER Attention Ṭrous de sécurité potentiel BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 12/44 Mars / 44

7 Définition des procédures (détails) Définition de procédure delimiter // CREATE PROCEDURE simpleproc ( OUT param1 INT ) SELECT COUNT (*) INTO param1 FROM t ; END // Un paramètre formel entier param1 Pour récupérer un résultat qui sera un entier Instructions delimiter Normalement : ; Mais, il faut distinguer la ponctuation dans la déclaration de procédure et la fin de la déclaration de procédure elle-même Après déclaration, on rétablit le delimiter habituel BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 13/44 Mars / 44 Définition des procédures (détails) Exemple (suite) delimiter // CREATE PROCEDURE simpleproc ( OUT param1 INT ) SELECT COUNT (*) INTO param1 FROM t ; END // Appel mysql> CALL simpleproc (@a ) ; Query OK, 0 rows a f f e c t e d ( sec ) mysql> BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 14/44 Mars / 44

8 Syntaxe de CALL L'appel à une fonction ou une procédure CALL sp_name ([ parameter [,]]) CALL sp_name [()] CREATE PROCEDURE p ( OUT ver_param VARCHAR (25), INOUT incr_param INT ) SELECT VERSION () INTO ver_param ; SET incr_param = incr_param + 1 ; END ; mysql> = 10 ; mysql> CALL ) ; ; m3 log BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 15/44 Mars / 44 L'appel à une fonction ou une procédure Exemple (bis) DELIMITER $$ CREATE PROCEDURE classicmodels enumber ( IN param1 VARCHAR( 2 0 ),OUT num INT ) SELECT salesrepemployeenumber FROM customers WHERE customername LIKE CONCAT( param1, % ) INTO num ; END $$ BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 16/44 Mars / 44

9 L'appel à une fonction ou une procédure Requêtes préparées (rappel) mysql> = 1 0 ; mysql> PREPARE s FROM CALL p (?,? ) ; mysql> EXECUTE ; ; m3 log BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 17/44 Mars / 44 Structures de contrôle Aperçu Un langage de programmation comme les autres (presque) Le langage de programmation offert par MySQL propose les outils de construction des langages (impératifs) classiques : séquencement, itérations, branchement appel fonctionnel Mais ce langage de programmation n'est pas fait pour développer des projets de grande ampleur, il lui manque les outils de structuration d'un langage comme JAVA BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 18/44 Mars / 44

10 Structures de contrôle Les structures de contrôle Aperçu END Les blocs Statement Label Les instructions DECLARE Les déclaration de variables Flow Control CURSOR CONDITION BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 19/44 Mars / 44 Structures de contrôle Déclaration des variables Déclaration de variables Variables locales ou pas Les variables «système» et les variables «utilisateurs» peuvent être utilisées dans des routines Les routines peuvent utiliser DECLARE pour définir des variables locales, et prendre des paramètres qui communiquent des valeurs entre appelant et appelé DECLARE var_name [, var_name ] type [DEFAULT value ] BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 20/44 Mars / 44

11 Structures de contrôle Déclaration de variables (suite) Déclaration des variables La portée d'une variable locale est le END où elle est déclarée La variable peut être référencée dans le bloc de déclaration et dans les blocs internes sauf si Affectation ḍirectement avec SET Récupération des résultats dans des variables locales SELECT INTO var_list ou en utilisant un cursor et en utilisant FETCH INTO var_list BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 21/44 Mars / 44 Structures de contrôle Déclaration des variables Portée et durée de vie CREATE PROCEDURE sp1 ( x VARCHAR (5)) DECLARE xname VARCHAR (5) DEFAULT ' bob ' ; DECLARE newname VARCHAR (5) ; DECLARE xid INT ; SELECT xname, id INTO newname, xid FROM table1 WHERE xname = xname ; SELECT newname ; END ; MySQL interprète xname dans le SELECT comme une référence à la variable xname plutôt que comme la colonne xname Quand la procédure sp1() est invoquée la variable newname revient avec la valeur ' bob' quelque soit le contenu de table1 xname BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 22/44 Mars / 44

12 Structures de contrôle Les curseurs (Procédures) Curseurs : Manipuler des variables de type table Objectif Dans une traitement un peu sophistiqué, on doit manipuler des tables temporaires On doit parfois examiner ces tables ligne par ligne et pas seulement calculer des agrégats sur ces tables Le rôle des curseurs C'est de permettre le balayage de table temporaires construites lors de l'exécution de la procédure BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 23/44 Mars / 44 Structures de contrôle Les curseurs (Procédures) CURSOR FETCH FETCH cursor_ name INTO var_ name [, var_ name ] Cette instruction récupère la ligne suivante de l'instruction SELECT associée avec le curseur (qui doit être OPEN), et avance le curseur Si cette ligne existe, les colonnes récupérées sont mémorisées dans les variables Nombre de colonnes récupérées par l'instruction SELECT = nombre de variables de sortie spécifiée dans le FETCH S'il n'y a plus de lignes disponibles Une condition No Data SQLSTATE value '02000' Pour traiter cette condition, utiliser un gestionnaire (HANDLER) ou condition NOT FOUND BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 24/44 Mars / 44

13 Structures de contrôle Les curseurs (Procédures) Exemple : portée et durée de vie (bis) CREATE PROCEDURE sp2 ( x VARCHAR (5)) DECLARE xname VARCHAR (5) DEFAULT ' bob ' ; DECLARE newname VARCHAR (5) ; DECLARE xid INT ; DECLARE done TINYINT DEFAULT 0 ; DECLARE cur1 CURSOR FOR SELECT xname, id FROM table1 ; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1 ; OPEN cur1 ; read_loop : LOOP FETCH FROM cur1 INTO newname, xid ; IF done THEN LEAVE read_loop ; END IF ; SELECT newname ; END LOOP ; CLOSE cur1 ; END ; Comment est interprété xname? MySQL interprète la référence à xname comme une référence à la variable de ce nom plutôt que comme un nom de colonne BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 25/44 Mars / 44 Structures de contrôle Les curseurs (Procédures) Utiliser les curseurs demande d'écrire du code : déclarer des variables (pour récupérer des résultats) déclarer un gestionnaire de condition NOT FOUND, déclarer le curseur lui-même choisir une construction de boucle LOOP, WHILE, REPEAT, correctement gérer la variable done du gestionnaire de condition BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 26/44 Mars / 44

14 Exemple Structures de contrôle Les curseurs (Procédures) -- déclaration de variables v_ -- pour récupérer les valeurs des colonnes DECLARE done BOOLEAN DEFAULT FALSE ; DECLARE c_film CURSOR FOR SELECT * FROM sakila film ; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE ; OPEN c_film ; c_film_loop : LOOP FETCH c_film INTO v_film_id, v_title, -- ; IF done THEN LEAVE c_film_loop ; END IF ; -- Code à compléter END LOOP ; CLOSE c_film ; END ; BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 27/44 Mars / 44 Structures de contrôle Gestion de conditions Gestion de conditions spéciales Les circonstances peuvent exiger un traitement spécial, éventuellement une sortie de la fonction ou de la procédure Les HANDLERS peuvent être définis pour des conditions générales ou pas Des conditions spécifiques peuvent être nommées DECLARE CONDITION DECLARE HANDLER Déclaration d'un gestionnaire BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 28/44 Mars / 44

15 Structures de contrôle Gestion de conditions Déclaration de HANDLER (simplifié) DECLARE handler_ action HANDLER FOR condition_ value statement handler_ action : CONTINUE EXIT condition_ value : condition_ name NOT FOUND BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 29/44 Mars / 44 Structures de contrôle Gestion de conditions Détails Un gestionnaire est déclanché quand une condition spécifiée par condition_value est rencontrée Le statement peut être simple SET v_done=true ou composé END CONTINUE comme son nom l'indique, on continue en séquence EXIT ḷ'exécution du END où le HANDLER est déclaré est interrompue BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 30/44 Mars / 44

16 Exemple Structures de contrôle Gestion de conditions CREATE TABLE test t ( s1 INT, PRIMARY KEY ( s1)) ; mysql > delimiter // mysql > CREATE PROCEDURE handlerdemo () -> -> DECLARE CONTINUE HANDLER FOR SQLSTATE ' ' = 1 ; -> = 1 ; -> INSERT INTO test t VALUES (1) ; -> = 2 ; -> INSERT INTO test t VALUES (1) ; -> = 3 ; -> END ; -> // mysql > CALL handlerdemo ()// Que BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 31/44 Mars / 44 Structures de contrôle Gestion de conditions Réponse 3 Pourquoi? Si le DECLARE HANDLER n'était pas là, MySQL aurait effectué une l'action EXIT après que le second INSERT eût échoué (PRIMARY KEY) et aurait renvoyé 2 BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 32/44 Mars / 44

17 Curseurs imbriqués Structures de contrôle Curseurs plus compliqués Un problème Ọn gère la condition NOT FOUND avec un seul HANDLER Solution (?) BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 33/44 Mars / 44 Structures de contrôle Curseurs plus compliqués main_block : DECLARE v_done INT DEFAULT FALSE ; DECLARE v_store_id INT ; DECLARE csr_store CURSOR FOR SELECT store_id FROM store s ; DECLARE csr_inventory CURSOR FOR SELECT inventory_id FROM inventory i WHERE store_id = v_store_id ; DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done := TRUE ; OPEN csr_store ; outer_loop : LOOP FETCH csr_store INTO v_store_id ; IF v_done THEN CLOSE csr_store ; LEAVE outer_loop ; END IF ; OPEN cst_inventory ; inner_loop : LOOP FETCH csr_inventory INTO v_inventory_id ; IF v_done THEN CLOSE csr_inventory ; SET v_done := FALSE ; LEAVE inner_loop ; END IF : END LOOP inner_loop ; END LOOP outer_loop ; END main_block ; BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 34/44 Mars / 44

18 Instruction composée Structures de contrôle Curseurs plus compliqués Une instruction composée (compound statement) est un bloc formé d'autres blocs ; de déclarations de variables, de conditions ; de curseurs (cursor) ; de boucles et de tests conditionnels BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 35/44 Mars / 44 Structures de contrôle Curseurs plus compliqués Exemple issu de Sakila DELIMITER $$ CREATE DEFINER = root@ ` ` FUNCTION inventory_ held_ by_ customer ( p_inventory_id INT ) RETURNS int (11) READS SQL DATA DECLARE v_customer_id INT ; DECLARE EXIT HANDLER FOR NOT FOUND RETURN NULL ; SELECT customer_id INTO v_customer_id FROM rental WHERE return_date IS NULL AND inventory_id = p_inventory_id ; RETURN v_customer_id ; END BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 36/44 Mars / 44

19 Structures de contrôle Déclaration de conditions Curseurs plus compliqués Syntaxe générale DECLARE condition_name CONDITION FOR condition_value condition_value : mysql_error_code SQLSTATE [ VALUE] sqlstate_value Exemple avec code d'erreur DECLARE CONTINUE HANDLER FOR body of handler END ; BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 37/44 Mars / 44 Structures de contrôle Curseurs plus compliqués En nommant la condition, on clarifie le rôle du récupérateur DECLARE no_such_table CONDITION FOR 1051 ; DECLARE CONTINUE HANDLER FOR no_such_table -- body of handler END ; Condition nommée fondée sur SQLSTATE : DECLARE no_such_table CONDITION FOR SQLSTATE '42S02' ; DECLARE CONTINUE HANDLER FOR no_such_table -- body of handler END ; BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 38/44 Mars / 44

20 Structures de contrôle Curseurs plus compliqués Instruction composée : syntaxe Les instructions d'un bloc sont séparées par ; Les instructions multiples requièrent que le client soit capable d'envoyer des chaines contenant ; (le séparateur habituel!) La commande delimiter permet cela On peut changer le séparateur de ; en pour encadrer la déclaration de routine, on peut alors utiliser ; dans le coeur du programme BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 39/44 Mars / 44 Structures de contrôle Curseurs plus compliqués LOOP, WHILE, REPEAT Que fait cette procédure? CREATE PROCEDURE doiterate ( p1 INT ) label1 : LOOP SET p1 = p1 + 1 ; IF p1 < 10 THEN ITERATE label1 ; END IF ; LEAVE label1 ; END LOOP label1 ; END ; ITERATE LEAVE BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 40/44 Mars / 44

21 Usages des routines (SP) Pour ou contre les routines? Pour Rapidité Lier le code au schéma de base Maintenance Contre Surcharge Manque de portabilité Langage pauvre Sécurité Pourquoi pas ODBC? BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 41/44 Mars / 44 Usages des routines (SP) Pour ou contre les routines? Pour Rapidité Diminuer la redondance : lier le code au schéma de base Maintenance Sécurité Contre Surcharge du serveur Manque de portabilité Langage pauvre par rapport à JAVA et PHP Pourquoi pas ODBC? BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 42/44 Mars / 44

22 Dynamic SQL Usages des routines (SP) CREATE PROCEDURE execute_ immediate ( in_ sql VARCHAR ( 4000)) = in_sql ; PREPARE s1 tmp_ sql ; EXECUTE s1 ; DEALLOCATE PREPARE s1 ; END ; BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 43/44 Mars / 44 Usages des routines (SP) Devastateur CREATE PROCEDURE set_col_value ( in_table VARCHAR (128), in_column VARCHAR (128), in_new_value VARCHAR (1000), in_where VARCHAR (4000)) DECLARE l_sql VARCHAR (4000) ; SET l_sql = CONCAT_ws (' ', ' UPDATE ',in_table, 'SET ',in_column,'=',in_new_value, ' WHERE ', in_where) ; = l_sql ; PREPARE s1 ; EXECUTE s1 ; DEALLOCATE PREPARE s1 ; END ; BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Langage 4G 44/44 Mars / 44

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

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

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

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

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

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours Bilan : Des vues à PL/SQL corrigé Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Cas exemple 2 Les tables... 3 Vues et index 4 Privilèges 5 Fonctions

Plus en détail

Bases de données avancées

Bases de données avancées Bases de données avancées Jean-Yves Antoine LI - Université François Rabelais de Tours Jean-Yves.Antoine@univ-tours.fr UFR Sciences et Techniques IUP SIR Blois Master 1 Bases de Données avancées IUP Blois,

Plus en détail

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW Groupe : 322 Exploitation des Banques de données 420-PK6-SL (1-2-1) Étape : 3 Professeur Nom: Marcel Aubin Courriel : maubin@cegep-st-laurent.qc.ca

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

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

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

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

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)

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) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

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

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

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

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]

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

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

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

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

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

Bases de Données Avancées PL/SQL

Bases de Données Avancées PL/SQL 1/170 Bases de Données Avancées Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

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

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

Notes de cours : bases de données distribuées et repliquées

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

Plus en détail

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

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org Diffusé par Le Projet Documentation OpenOffice.org OpenOffice.org Documentation Project How-To Table des matières 1. Introduction...3

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

Le langage procédural PL-PGSQL

Le langage procédural PL-PGSQL Le langage procédural PL-PGSQL PL/pgSQL est un langage procédural utilisé dans le système de gestion de bases de données PostgreSQL. Objectifs : créer des fonctions standards et triggers, ajouter des structures

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

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

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

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

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL Jean-Marie Pécatte jean-marie.pecatte@iut-tlse3.fr 16 novembre 2006 ISIS - Jean-Marie PECATTE 1 Valeur de clé

Plus en détail

PHP et les Bases de données - Généralités

PHP et les Bases de données - Généralités PHP et les Bases de données - Généralités Conception d une base de données Méthodes utilisées : MERISE, UML Modèle conceptuel des données MCD, Modèle logique MLD, Modèle Physique MPD. Ces aspects seront

Plus en détail

Pratique et administration des systèmes

Pratique et administration des systèmes Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de

Plus en détail

Laboratoires de bases de données. Laboratoire n 6. Programmation SQL. par Danièle BAYERS et Louis SWINNEN

Laboratoires de bases de données. Laboratoire n 6. Programmation SQL. par Danièle BAYERS et Louis SWINNEN Département Informatique Laboratoires de bases de données Laboratoire n 6 Programmation SQL par Danièle BAYERS et Louis SWINNEN Ce document est disponible sous licence Creative Commons indiquant qu il

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

Oracle Le langage procédural PL/SQL

Oracle Le langage procédural PL/SQL Oracle Le langage procédural PL/SQL Denis Roegel roegel@loria.fr IUT Nancy 2 1998/1999 Sommaire 1 Introduction 3 2 Création de packages 3 2.1 Procédures groupées.........................................

Plus en détail

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2) Le langage PHP (2) Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ 1 / 54 1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation

Plus en détail

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

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

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

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

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

Configurer la supervision pour une base MS SQL Server Viadéis Services

Configurer la supervision pour une base MS SQL Server Viadéis Services Configurer la supervision pour une base MS SQL Server Référence : 11588 Version N : 2.2 : Créé par : Téléphone : 0811 656 002 Sommaire 1. Création utilisateur MS SQL Server... 3 2. Configuration de l accès

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

Paginer les données côté serveur, mettre en cache côté client

Paginer les données côté serveur, mettre en cache côté client Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule

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

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry Cours 3 Développement d une application BD 1 Plan du cours Gestion de la sécurité des données Optimisation des schémas de bases via la dénormalisation Utilisation de vues Placement du code applicatif dans

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

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

PL langage de programmation côté serveur. SQL à la base : types, expressions, requêtes

PL langage de programmation côté serveur. SQL à la base : types, expressions, requêtes Introduction à PL langage de programmation côté serveur installation nécessaire : CREATE LANGUAGE ou createlang interprété : erreurs de syntaxe possibles à l exécution SQL à la base : types, expressions,

Plus en détail

Performance web. Mesurer. Analyser. Optimiser. Benjamin Lampérier - Benoît Goyheneche. RMLL 2015 - Beauvais. 8 Juillet 2015

Performance web. Mesurer. Analyser. Optimiser. Benjamin Lampérier - Benoît Goyheneche. RMLL 2015 - Beauvais. 8 Juillet 2015 Benjamin Lampérier - Benoît Goyheneche RMLL 2015 - Beauvais 8 Juillet 2015 1 2 3 État des lieux On ne change rien On optimise intelligemment Avant de commencer Mettre les chaines de caractères entre simple

Plus en détail

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

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

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

Django et PostgreSQL sous la charge

Django et PostgreSQL sous la charge Django et PostgreSQL sous la charge Rodolphe Quiédeville Pourquoi couper la queue du poulet? RMLL - Beauvais 8 juillet 2015 Rodolphe Quiédeville (PeopleDoc) Django et PostgreSQL sous la charge 8 juillet

Plus en détail

Présentation du PL/SQL

Présentation du PL/SQL I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur

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

Gestion des utilisateurs et de leurs droits

Gestion des utilisateurs et de leurs droits Gestion des utilisateurs et de leurs droits Chap. 12, page 323 à 360 Lors de la création d'un utilisateur vous devez indiquer son nom, ses attributs, son profil, la méthode d'authentification (par le SE

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

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

Bases de SQL. Hacks 1-6 CHAPITRE UN

Bases de SQL. Hacks 1-6 CHAPITRE UN CHAPITRE UN Bases de SQL Hacks 1-6 Même les commandes SQL les plus simples peuvent comporter des variantes curieuses ; ce chapitre vous montrera qu un programmeur astucieux peut exploiter les nombreuses

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

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

Corrigés détaillés des exercices

Corrigés détaillés des exercices Corrigés détaillés des exercices Diagramme des tables objet La figure suivante vous aidera dans la compréhension des manipulations des objets de la base. Client_type Client num nom adresse {telephone_vry}

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

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

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

Accès aux bases de données

Accès aux bases de données 13 Accès aux bases de données Les bases de données fournissent un mécanisme de stockage persistant pour les données d application et dans bien des cas, elles sont essentielles au fonctionnement des applications.

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

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

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

Chapitre 5 : Les procédures stockées PL/SQL

Chapitre 5 : Les procédures stockées PL/SQL I. Introduction Une procédure ou une fonction stockée est un bloc PL/SQL nommé pouvant accepter des paramètres et être appelée. Généralement, on utilise une fonction pour calculer une valeur. Les procédures

Plus en détail

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

Installation d'un serveur FTP géré par une base de données MySQL BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux développement d applications COMPTE-RENDU D ACTIVITE ACTIVITE N 2 Nom et Prénom : Casanova Grégory Identification (objectif) de l activité Installation

Plus en détail

PDO : PHP Data Object 1/13

PDO : PHP Data Object 1/13 PDO : PHP Data Object 1/13 Tous ne sont que des extensions... Les fonstions mysql_* : API mysql Les fonctions mysqli_* aussi Il en est de même pour PDO PDO (avec le pilote PDO MySQL Driver et Extension

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

Attaques applicatives

Attaques applicatives Attaques applicatives Attaques applicatives Exploitation d une mauvaise programmation des applications Ne touche pas le serveur lui-même mais son utilisation/ configuration Surtout populaire pour les sites

Plus en détail

Gestion de base de données

Gestion de base de données Université Libre de Bruxelles Faculté de Philosophie et Lettres Département des Sciences de l Information et de la Communication Gestion de base de données Projet : Take Off ASBL Cours de M. A. Clève STIC-B-505

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Administration des bases de données. Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/

Administration des bases de données. Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ Administration des bases de données Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ Administration des bases de données II Objets avancés dans les bases de données OBJECTIFS 2.1. NOTIONS 2.1.1.

Plus en détail

MySQL avec Mac OS X. Quelques manipulations avec le terminal sont nécessaires si une version de MySQL est déjà lancée:

MySQL avec Mac OS X. Quelques manipulations avec le terminal sont nécessaires si une version de MySQL est déjà lancée: MySQL avec Mac OS X MySQL est un moteur de bases de données relationnelles (SGBDR système de gestion de bases de données relationnelles) basé sur le langage SQL. Il s'agit d'un langage normalisé de requêtes

Plus en détail

Introduction au PL/SQL Oracle. Alexandre Meslé

Introduction au PL/SQL Oracle. Alexandre Meslé Introduction au PLSQL Oracle Alexandre Meslé 17 octobre 2011 Table des matières 1 Notes de cours 3 1.1 Introduction au PLSQL............................................ 3 1.1.1 PLSQL.................................................

Plus en détail

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation. Gestion de parc Informatique OCS, GLPI sur Debian 5 Jonathan Gautier Open Computer and Software Inventory Next Generation (OCS inventory NG) est une application permettant de réaliser un inventaire sur

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

Gestion mémoire et Représentation intermédiaire

Gestion mémoire et Représentation intermédiaire Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,

Plus en détail

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste Christian Soutou Avec la participation d Olivier Teste SQL pour Oracle 4 e édition Groupe eyrolles, 2004, 2005, 2008, 2010, is BN : 978-2-212-12794-2 Partie III SQL avancé La table suivante organisée en

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

Oracle Learning Library Tutoriel Database 12c Installer le logiciel Oracle Database et créer une Database

Oracle Learning Library Tutoriel Database 12c Installer le logiciel Oracle Database et créer une Database Installer le logiciel Oracle Database et créer une Database Présentation Objectif Ce tutoriel montre comment utiliser Oracle Universal Installer (OUI) pour installer le logiciel Oracle Database 12c et

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

Sécurité des applications web. Daniel Boteanu

Sécurité des applications web. Daniel Boteanu I F8420: Éléments de Sécurité des applications web Daniel Boteanu Architecture des applications web Client légitime Internet HTTP 浀 HTML Server Web 2 Architecture des applications web Client légitime Internet

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

SQL Server 2000, Analysis Services et DTS

SQL Server 2000, Analysis Services et DTS SQL Server 2000, Analysis Services et DTS Cyril Gruau 4 mars 2004 Résumé Ce support de cours regroupe quelques notions concernant la l implémentation et le développement de bases de données avec le langage

Plus en détail

BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013

BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013 BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013 TS2 CGO 7 mars 2013 2 heures Aucun document autorisé Calculatrice autorisée Nota : Il vous est demandé d apporter un soin particulier à la présentation de

Plus en détail

Compétences Business Objects - 2014

Compétences Business Objects - 2014 Compétences Business Objects - 2014 «Mars-Juin 2014. Réf : Version 1 Page 1 sur 34 Sommaire CONTEXTE DE LA REMISE A NIVEAU EN AUTOFORMATION... 3 1. MODELISATION... 4 1.1 DESCRIPTION FONCTIONNEL DE L'APPLICATION

Plus en détail