Dialogue avec la base de données
|
|
- Marie-Rose Faubert
- il y a 8 ans
- Total affichages :
Transcription
1 Dialogue avec la base de données 3. Manipulation des données avec un langage hôte 1
2 Références Filière Bachelor of Science en informatique de gestion Domaine Technologies informatiques Module 633 Architectures distribuées Unité d enseignement Applications réseaux et services applicatifs Dialogue avec la base de données 2
3 Objectifs Objectifs du module comprendre et mettre en œuvre les services applicatifs fondamentaux; développer, déployer et configurer des composants métiers sur un serveur d applications. Objectifs de l unité d enseignement «Dialogue avec la base de données» comprendre les différences entre l'architecture "serveur de fichiers" et "client/serveur"; maîtriser le principe du dialogue à sessions; comprendre la notion de concurrence; savoir manipuler des données à l'aide d'un langage hôte. 3
4 Découpage de l unité d enseignement 1. Architecture client/serveur 2. Transactions et verrous 3. Manipulation des données avec un langage hôte 4
5 Plan de la présentation SQL interactif<> SQL programmé Application Programming Interface pour bases de données Connexion aux bases de données avec un langage hôte Statements et curseurs Transactions et sessions Verrous Pools de connexions Améliorations et limites du JDBC 5
6 Quizz Quel est le lien «visible» entre l utilisateur et votre base de données? 6
7 Interface utilisateur Un utilisateur final n utilise pas SQL pour manipuler des données. L informaticien de gestion doit lui proposer une interface utilisateur adaptée à ses besoins. Pour se faire, il doit développer une interface utilisateur (IHM) à l aide d un langage de programmation. Java, C#, PHP, Oracle Apex 7
8 Exemple d interface utilisateur Proconcept ERP 8
9 Exemple d interface utilisateur Interface de FUTURA Université de Fribourg 9
10 Positionnement de l IHM dans une architecture logicielle IHM Utilisateur final Transactions Logique de présentation Logique applicative Logique métier Logique de persistance Services Programmes BD 10
11 Simplifions De quoi est constitué le code de l application?? Utilisateur final Code de l application BD 11
12 Qu allons-nous apprendre dans ce cours? Utilisateur final Code de l application Code de l application BD IHM Code métier Règles de navigation Accès à la base de données Requêtes SQL L accès à la BD et les requêtes SQL que vous développez sont du «SQL programmé». SQL programmé Permet le dialogue avec la base de données! 12
13 SQL programmé SQL programmé Intégrer le LMD dans un programme que vous développez. Mélange d instructions SQL, de boucles, de classes, etc Les requêtes doivent pouvoir gérer des variables. Le langage permettant d intégrer des instructions SQL se nomme «langage hôte» Utilisateur final Code de l application Langage hôte BD 13
14 SQL interactif SQL interactif Utiliser le SQL LMD sans l encapsuler dans un programme. Très intéressant pour les professionnels. Contrôle de la BD, interrogation du dico Utilisé depuis SQL*Plus (pour Oracle), SQLDeveloper, Toad SQL interactif BD Développeur 14
15 SQL programmé <> SQL interactif A vous de Avec spécifier paramètres les différences 5 minutes Peuvent puis restitution être construite en classe dynamiquement Ca se compile pas SQL Programmé Utilisé par les utilisateurs finaux Accès au curseur Prédéfinies et fixes (avec paramètre) Une méthode pour chaque requête SQL + langage hote CRUD SQL interactif Sans paramètre On voit les erreurs directement Utilisé par les développeurs Pas accès au curseur Liberté totale Requête résultat On ne peut connaitre «que» SQL LMD LDD LCD 15
16 Questions? 16
17 Plan de la présentation SQL interactif<> SQL programmé Application Programming Interface pour bases de données Connexion aux bases de données avec un langage hôte Statements et curseurs Transactions et sessions Verrous Pools de connexions Améliorations et limites du JDBC 17
18 Langage hôte et API Tous les langages «modernes» permettent d intégrer du SQL. Ils sont donc considérés comme langage hôte. Java, C#, PHP Les langages hôtes peuvent intégrer du SQL via différentes méthodes. L utilisation d API est l une des méthodes les plus utilisée. 18
19 Application Programming Interface Une API est un ensemble de classes et méthodes permettant de faire appel à des services de différents fournisseurs de façon unique. SAXAPI,DOM,JavaRMI,etc Il peut aussi s agir de méthodes publiées par un fournisseur pour interagir avec son système. Dans le cadre des BD, une API permet l utilisation de classes et méthodes pour simplifier et standardiser l appel à des sources de données. JDBC, ODBC, OLE DB 19
20 Application Programming Interface API JDBC, ODBC Source de données Client base de données SQLNet Protocol TCP 20
21 Des normes? Des accords? Le principe est toujours le même Un groupe d experts composés de fournisseurs et d indépendants se mettent d accord sur la signature des méthodes de leur API. Par exemple pour une API de BD: méthode connect() avec en paramètre le nom de la BD, méthode lanceselect() avec en paramètre le select Chaque fournisseur implémente ces méthodes (en respectant la signature) et fournit une implémentation de l API. Principe de l Interface en Java. 21
22 Quelques API pour accéder aux données ODBC Open Database Connectivity est une API permettant l accès et la manipulation de données d un très grand nombre de fournisseurs de bases de données. OLE DB OLE DB est une API permettant l accès à différentes sources de données. OLE DB n'est pas réservée aux sources de données relationnelles, mais est capable de traiter n'importe quel type de données indépendamment de leur format ou de leur méthode de stockage. OLEDBetODBCsonttrèsutilisésdanslemondeMicrosoftpouraccéderà des données (depuis VB, Excel ) JDBC API standard permettant l utilisation de bases de données depuis Java. 22
23 Avantages et inconvénients des APIs Niveau d abstraction Apporte une couche supplémentaire générique. Permet l accès à des services de différents fournisseurs de façon unique. Librairie supplémentaire à maîtriser pour le développeur. 23
24 Questions? 24
25 Eléments clés des étudiants 25
26 Travaux pratiques Série 3, exercices 1 et 2 26
27 Plan de la présentation SQL interactif<> SQL programmé Application Programming Interface pour bases de données JDBC Connexion aux bases de données avec un langage hôte Statements et curseurs Transactions et sessions Verrous Pools de connexions Améliorations et limites du JDBC 27
28 JCP et JSR Java Community Process (JCP)? The JCP is the mechanism for developing standard technical specifications for Java technology. Anyone can register for the site and participate in reviewing and providing feedback for the Java Specification Requests (JSRs), and anyone can sign up to become a JCP Member and then participate on the Expert Group of a JSR or even submit their own JSR Proposals Source: 28
29 JCP et JSR Java Specification Requests (JSR)? A JSR is a Java Specification Request. This is the document submitted to the PMO 1 by one or more members to propose the development of a new specification or significant revision to an existing specification. There are currently more than 90 Java technology specifications in development in the JCP program. Source: 1. The Program Management Office is the group within Sun designated to oversee the Java Community Process and manage the daily running of the program. 29
30 A quoi ça ressemble? JDBC évolue sur des JSR Et aussi à l aide du monde open source Voyons à quoi ça ressemble 30
31 JDBC introduction JDBC = Java DataBase Connectivity JDBC 1.0 (Java 1) JDBC 2.0 (J2SE 1.2) JDBC 3.0 (J2SE 1.4) JDBC 4.0 (Java SE 6) API standard permettant l utilisation de bases de données relationnelles depuis le monde Java. Il s agit d un ensemble de classes pouvant être utilisé depuis une application Java et permettant: la gestion de la connexion à la base de données; l utilisation de commandes SQL (DDL, DML, DCL); l exploitation des résultats de requêtes (données). 31
32 JDBC rend indépendant JDBC permet aux développeurs d utiliser des classes et méthodes indépendantes du SGBDR. JDBC utilise les drivers fournis par chaque constructeurs de bases de données. A vous, en tant que développeur, d utiliser les bons drivers et de les tester! Application java jdbc driver Oracle driver MySQL Oracle MySQL 32
33 Types de drivers Les drivers JDBC peuvent être de 4 types: pilotes de types 1; pilotes de types 2; pilotes de types 3; pilotes de types 4. 2 cas de figure : 33
34 Pilotes de type 1 Pilotes non autonomes Ils accèdent aux bases de données par une passerelle (via une autre technologie). «JDBC-ODBC» est le plus connu. Ce type de pilote convertit les ordres Java JDBC en ODBC valide. C est ODBC qui ensuite exécute les ordres. Ce pilote est livré en standard par Oracle (Sun) avec JDBC. Permet une connexion vers des bases de données ne disposant pas d un driver JDBC. Peu performant 34
35 Pilotes de type 2 Il s agit de pilotes natifs. Aussi nommé drivers «OCI» chez Oracle. classes12.jar (J2SE 1.2), ojdbc14.jar (J2SE 1.5, Java SE 5) et ojdbc6.jar (Java SE 6) contiennent tous un driver de type 2 pour se connecter à Oracle. Nécessite l installation du client Oracle sur la machine qui lance des commandes JDBC. Très bonnes performances Les commandes Java JDBC sont traduites en appels natifs vers le serveur de base de données. PDA-dernière mise à jour :
36 Pilotes de type 3 Il s agit de pilotes entièrement écrit en java convertissant les appels JDBC en un protocole indépendant du SGBD. Ce type de pilote fait appel à un serveur intermédiaire pour accéder le SGBD. A ce jour, je n en ai encore jamais rencontré. PDA-dernière mise à jour :
37 Pilotes de type 4 Pilotes écrits en java se connectant au SGBD. Aussi nommé drivers «thin» chez Oracle. classes12.jar (J2SE 1.2), ojdbc14.jar (J2SE 1.5, Java SE 5) et ojdbc6.jar (Java SE 6) contiennent tous un driver de type 4 pour se connecter à Oracle. Facile à installer. Indépendant à la plateforme. Performance identique aux drivers de type 2. Ne nécessite pas d installation d autres médiateurs. PDA-dernière mise à jour :
38 Jar et implémentation JDBC d Oracle Un JAR (Java ARchive) est un ensemble de classes, interfaces, fichiers Java compilés et compressés dans un fichier le.jar Chaque fournisseur de BD livre une librairie.jar contenant son implémentation JDBC pour sa base de données. Oracle fournit les jar classes12.jar, ojdbc14.jar, ojdbc6.jar PostgreSQL fournit les jar postgresql-9.0dev-800.jdbc4.jar IBM fournit db2jcc.jar pour DB2 Chaque fournisseur livre son implémentation de JDBC. 38
39 Compatibilité des drivers Oracle Version de Java Java 1.2 et 1.3 Java 1.4 Java 5 Java 6 Driver classes12.jar ojdbc14.jar ojdbc5.jar ojdbc6.jar 39
40 JDBC packages JDBC 4.0 est réparti dans 2 packages java.sql Package permettant l accès et la manipulation de données provenant d une base de données relationnelle via le langage hôte Java. javax.sql Package pour la partie serveur (utilisation de datasource d un serveur d applications par exemple). 40
41 java.sql java.sql contient des interfaces (au sens java). C est au fournisseur d implémenter ces interfaces. L implémentation doit être faite par les constructeurs de SGBDR. Certaines interfaces peuvent ne pas être implémentées mais seront disponibles tout de même En simplifiant, chez Oracle c est le jar ojdbc6.jar qui implémente les interfaces définies chez Sun. C est donc à Oracle de développer et livrer un driver JDBC. 41
42 Les interfaces et classes importantes de l API JDBC DriverManager Classe de base pour gérer les drivers JDBC et pour créer une connexion. Connection C est une session à la base de données. Cet objet (une fois instancié ) va permettre de gérer les transactions, de créer des «statements» 42
43 Les interfaces et classes importantes de l API JDBC Statement Interface à utiliser pour exécuter des instructions SQL statiques. Retourne le résultat produit dans un ResultSet. PreparedStatement Objet à utiliser pour exécuter des requêtes paramètrées. CallableStatement Objet à utiliser pour exéctuer des procédures stockées. 43
44 Les interfaces et classes importantes de l API JDBC ResultSet Un set de données resultant de la base de données. Notion de curseur (rappel PL/SQL ) ResultSetMetaData Cet classe peut être instanciée pour obtenir les métadonnées d un ResultSet. 44
45 Relation entre les interfaces JDBC DriverManager Connection Statement ResultSet 45
46 JDBC avantages Portabilité. Implémenté par tous les fournisseurs de BD. Relativement facile d utilisation. 46
47 JDBC désavantages 1/2 API de bas niveau. Pas de contrôle de SQL lors du développement. Erreur à l exécution Attention, certaines méthodes peuvent ne pas être implémentées par des fournisseurs 47
48 JDBC désavantages 2/2 Du code propriétaire à une base de données n est pas portable! «select connect by» sur Oracle «select * from employe, departement where employe.dep_id = departement.id» jointure non standard Problème paradigme Objet Relationnel. 48
49 Les bonnes façons de faire Il ne faut pas oublier les bonnes pratiques liées aux bases de données: gérer correctement les transactions ; ne pas oublier les verrous; 49
50 Questions? 50
51 Eléments clés des étudiants 51
52 Plan de la présentation SQL interactif<> SQL programmé Application Programming Interface pour bases de données JDBC Connexion aux bases de données avec un langage hôte Statements et curseurs Transactions et sessions Verrous Pools de connexions Améliorations et limites du JDBC 52
53 Schéma de principe de connexion Programme (langage hôte) Requêtes SQL Curseurs Connexion Base de données 53
54 Langage hôte utilisé dans ce cours Nous allons utiliser Java comme langage hôte pour illustrer les concepts de ce cours. JDBC sera l API à utiliser 54
55 Connexion à une base de données à l aide de JDBC DriverManager Classe de base pour gérer les drivers JDBC et pour créer une connexion. La méthode getconnection permet de retourner une instance de «Connection». Connection myconn = DriverManager.getConnection(url, user, password); Connection Connection est une interface Cet objet (une fois instancié ) va permettre de gérer les transactions, de créer des «statements» C est une session à la base de données. 55
56 Schéma de principe de connexion en Java Programme Java Requêtes SQL Curseurs Connection Base de données try{ Connection myconn = DriverManager.getConnection(url, user, password); catch(sqlexception sqle) { System.out.println("Erreur SQL:" + sqle); } 56
57 Utilisation du bloc try catch Veuillez pour l instant encapsuler vos instructions JDBC (connexion, appel de requêtes SQL, etc.) dans un bloc try catch. Nous traiterons plus en détail dans un prochain chapitre la gestion des exceptions en Java (lié aux BD) try{ Connection myconn = DriverManager.getConnection(url, user, password); catch(sqlexception sqle) { System.out.println("Erreur SQL:" + sqle); } 57
58 Quelques méthodes de l interface Connection createstatement Creates a Statement object for sending SQL statements to the database preparestatement(string) preparedstatement Creates a PreparedStatement object for sending parameterized SQL statements to the database 58
59 Quelques méthodes de l interface Connection getmetadata Retrieves a DatabaseMetaData object that contains metadata about the database to which this Connection object represents a connection close() Releases this Connection object's database and JDBC resources immediately instead of waiting for them to be automatically released 59
60 Quelques méthodes de l interface Connection setautocommit(boolean) Sets this connection's auto-commit mode to the given state commit() Makes all changes made since the previous commit/rollback permanent and releases any database locks currently held by this Connection object rollback() Undoes all changes made in the current transaction and releases any database locks currently held by this Connection object * Explications tirées de la document Java 60
61 Schéma de principe de connexion en Java Programme Java Statement PreparedSt atement Base de données Connection myconn.createstatement() myconn.preparedstatement() 61
62 Avant JDBC 4.0 JDBC 4.0 existe depuis Java SE 6.0. Avant cette version, il était nécessaire de charger le pilote JDBC avant d effectuer une connexion à la base de données. Class.forName() pour les pilotes de type 1. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); DriverManager.registerDriver() pour les pilotes de type 2, 3 et 4. DriverManager.registerDriver( new Oracle.jdbc.driver.OracleDriver()); 62
63 Fermeture des connexions JDBC Une connexion à la base de données via JDBC est fermée automatiquement via le garbage collector. Toutefois, afin de libérer les ressources dès que possible, il est nécessaire de fermer correctement les connexions. Connection myconn; myconn.close(); Afin de s assurer de la fermeture correcte des connexions, une bonne pratique consiste à fermer les connexions dans la partie finally des exceptions. 63
64 Utilisation de librairie Pour que votre programme Java puisse fonctionner, il est nécessaire qu il puisse référencer votre librairie JDBC. ojdbc6.jar par exemple avec Java SE 6. N oubliez donc pas de configurer votre EDI 64
65 Questions? 65
66 Eléments clés des étudiants 66
67 Travaux pratiques Série 3, exercice 3 67
68 Plan de la présentation SQL interactif<> SQL programmé Application Programming Interface pour bases de données Connexion aux bases de données avec un langage hôte Statements et curseurs Statements, PreparedStatement et CallableStatement Transactions et sessions Verrous Pools de connexions Améliorations et limites du JDBC 68
69 Schéma de principe de connexion en Java Rappel! Programme Java Statement PreparedSt atement Base de données Connection myconn.createstatement() myconn.preparedstatement() 69
70 Connexion et objets associés Lorsqu une connexion est établie entre votre programme Java et votre base de données, vous pouvez utiliser des objets permettant l exécution d instructions SQL: Statement PreparedStatement CallableStatement 70
71 Statement «The object used for executing a static SQL statement and returning the results it produces» L interface Statement fournit les méthodes nécessaires à la soumission d une instruction SQL statique. 71
72 Statement Création La création d un objet de type Statement s effectue à l aide de votre objet de type Connection par la méthode createstatement(). Connection myconn = DriverManager.getConnection(url, user, password); Statement stmt = myconn.createstatement(); 72
73 Statement Manipulation Une fois un objet de type Statement instancié, vous pouvez le manipuler. Voici les méthodes principales: Method summary ResultSet executequery(string sql) Executes the given SQL statement, which returns a single ResultSet object int void executeupdate(string sql) Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE statement or an SQL statement that returns nothing, such as an SQL DDL statement close() Releases this Statement object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed Source: 73
74 Statement Manipulation executeupdate ou executequery? Instruction SQL LDD SELECT LMD (autre que SELECT) LCD Méthode à utiliser executeupdate executequery executeupdate executeupdate 74
75 Statement Manipulation - exemple Statement stmt = myconn.createstatement(); ResultSet curseurjava = stmt.executequery("select id, nom, prenom FROM EMPLOYES "); 75
76 Statement Mais encore? En 2 fois! La soumission d une instruction SQL s effectue en 2 phases: Contrôle des tables et colonnes nécessaires (Metadata) Exécution de l instruction 76
77 PreparedStatement «An object that represents a precompiled SQL statement» L interface PreparedStatement hérite de Statement et la spécialise en fournissant les méthodes nécessaires à la soumission d une instruction SQL dynamique. Un PreparedStatement permet l exécution d une instruction SQL paramétrée. Permet de passer des paramètres liés à un ordre SQL (bind parameters). Les paramètres sont passés par position. 77
78 PreparedStatement Création La création d un objet de type PreparedStatement s effectue à l aide de votre objet de type Connection par la méthode preparestatement(string). Connection myconn = DriverManager.getConnection(url, user, password); PreparedStatement stmt = myconn.preparestatement("ordre SQL"); 78
79 PreparedStatement Manipulation Une fois un objet de type PreparedStatement instancié, vous pouvez le manipuler : Method summary ResultSet int void void executequery(string sql) Executes the given SQL statement, which returns a single ResultSet object executeupdate(string sql) Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE statement or an SQL statement that returns nothing, such as an SQL DDL statement close() Releases this Statement object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed setxxx(int,xxx) Sets the designated parameter to the given Java XXX type value setstring(int, String), setdate(int, Date), setdouble(int, double) Source: 79
80 PreparedStatement Manipulation - exemple PreparedStatement stmt = myconn.preparestatement("update employe set salaire =?"); stmt.setbigdecimal(1, new BigDecimal(5500)); stmt.executeupdate(); 80
81 PreparedStatement Vs Statement Il est possible de passer des paramètres à des simples Statement sans utiliser de PrepardStatement. En concaténant les paramètres aux ordres SQL dans des chaînes de caractères. stmt = MyConn.createStatement(); query = "UPDATE PROJ_TACHE_MAINTENANCE " + "set description = '" + parametre1 + "',proj_projet_id = " + parametre2 + ", proj_etat_id = " + parametre3 + " where id = " + parametre4; Cette façon de procéder est mauvaise! 81
82 Avantages des PreparedStatement par rapport aux Statement Performance Il n est compilé qu une seule fois même si les paramètres changent gain si la commande SQL est lancée n fois. Facilité d utilisation L utilisation de variables liées (ou paramètres liés) est plus adéquat. Portabilité Par exemple, les setdate() permettent de masquer les différents types de format de dates des BD. Sécurité Eviter l injection de code SQL. Gestion des caractères spéciaux dans les setstring() 82
83 CallableStatement «The interface used to execute SQL stored procedures» L interface CallableStatement hérite de PreparedStatement. Elle fournit les méthodes nécessaires à la soumission d un sous-programme (fonction, procédure stockée) de votrebasededonnées. 83
84 CallableStatement Création La création d un objet de type CallableStatement s effectue à l aide de votre objet de type Connection par la méthode preparecall(). Connection myconn = DriverManager.getConnection(url, user, password); CallableStatement proc = myconn.preparecall ("{call paiesalaire(?)}"); 84
85 CallableStatement Appels Fonction {?= call <procedure name>[(<arg1>,<arg2>,...)]} Procédure {call <procedure name>[(<arg1>,<arg2>,...)]} 85
86 CallableStatement Manipulation Une fois un objet de type CallableStatement instancié, vous pouvez le manipuler. Les méthodes importantes sont semblables aux méthodes de l interface PreparedStatement. CallableStatement proc = myconn.preparecall ("{call paiesalaire(?)}"); proc.setlong(1, ); proc.execute(); 86
87 Libération des objets Il est important de libérer les objets de type Statement, PreparedStatement et CallableStatement lorsque vous les avez utilisé. 87
88 Questions? 88
89 Eléments clés des étudiants 89
90 Travaux pratiques Série 3, exercice 4 90
91 Plan de la présentation SQL interactif<> SQL programmé Application Programming Interface pour bases de données Connexion aux bases de données avec un langage hôte Statements et curseurs Curseurs statiques Autres types de curseurs Transactions et sessions Verrous Pools de connexions Améliorations et limites du JDBC 91
92 Interfaçage relationnel / procédural Une requête sur une base de données retourne généralement plusieurs lignes. Le résultat d une requête depuis un langage procédural doit s effectuer dans une structure adaptée aux traitements de plusieurs lignes. notion de curseur 92
93 Notion de curseur «Un curseur est une structure pouvant stocker le résultat de requêtes et pouvant le manipuler ce résultat via un langage hôte.» Un curseur est comme un pointeur parcourant un tableau d'enregistrements, avec lequel on navigue via le langage hôte en extrayant les lignes une à une. C est une structure adaptée à la manipulation de données en mémoire provenant d une base de données. 93
94 Types de curseurs (ANSI) ANSI 1 spécifie 4 types de curseurs Curseurs statiques (lecture seule) Curseurs en avant seulement Curseurs dynamiques (lecture / écriture) Curseurs d ensemble de valeurs clés (pointeurs) 1. American National Standards Institute. 94
95 Les curseurs en Java Comme tous les langages hôtes, Java propose une structure adaptée aux traitements de plusieurs lignes. java.sql.resultset id nom prenom Pointeur 12 bbb ccc 4 asdf cccc 23 bbb adsf Instance de ResultSet Base de données 95
96 java.sql.resultset A table of data representing a database result set, which is usually generated by executing a statement that queries the database Source : Un ResultSet est une interface Java. Un objet de type ResultSet est instancié et alimenté par le résultat de l exécution d un Statement ou PreparedStatement. Statement stmt = myconn.createstatement(); ResultSet curseurjava = stmt.executequery("select id, nom, prenom FROM EMPLOYES "); 96
97 ResultSet statique en avant seulement Un objet de type ResultSet est par défaut non navigable et non modifiable. Il s agit donc d un curseur «statique en avant seulement». Ce type de curseur est bien adapté au parcours d un ensemble de lignes résultant d une requête SQL (SELECT) pour affichage. id nom prenom Sens de la lecture 12 bbb ccc 4 asdf cccc 23 bbb adsf 97
98 Parcours d un ResultSet statique en avant seulement Le parcours d un ResultSet «statique en avant seulement» s effectue à l aide d une boucle. La méthode next() charge le prochain enregistrement en retournant true tant qu il y a des éléments dans le curseur. while(curseurjava.next()) { } Après Avant 1(instanciation er 2 3 ème ème next() la boucle (plus next() d éléments) du curseur) id nom prenom 12 bbb ccc 4 asdf cccc 23 bbb adsf 98
99 Récupération de données Les méthodes getxxx(int) et getxxx(string), où Xxx est le type de la colonne, permettent de récupérer la valeur d une colonne de l enregistrement courant. getxxx(int) avec en paramètre le numéro de la colonne. getxxx(string) avec en paramètre le nom de la colonne. while(curseurjava.next()) { System.out.println(curseurJava.getString("nom") + " " + curseurjava.getstring("prenom")); } id nom prenom 12 bbb ccc 1 er tour de la boucle, getstring("nom"); 4 asdf cccc 23 bbb adsf 99
100 Fermeture d un ResultSet (curseur) Un curseur se ferme implicitement lorsque le Statement ou PreparedStatement est fermé. Attention, une bonne pratique consiste à fermer le curseur explicitement! curseurjava.close(); 100
101 Résumé des classes et interfaces de base JDBC REESE, George. Database Programming with JDBC and Java. USA: O'Reilly,
102 Questions? 102
103 Eléments clés des étudiants 103
104 Travaux pratiques Série 3, exercice 5 104
105 Plan de la présentation SQL interactif<> SQL programmé Application Programming Interface pour bases de données Connexion aux bases de données avec un langage hôte Statements et curseurs Curseurs statiques Autres types de curseurs, navigables et dynamiques Transactions et sessions Verrous Pools de connexions Améliorations et limites du JDBC 105
106 Autres types de curseurs en Java Les curseurs «statiques en avant seulement», ResultSet, sont disponibles depuis JDBC 1.0. Afin de suivre la norme SQL-02 (SQL92) qui propose des curseurs navigables, Java se dote d une nouvelle version de son API JDBC. JDBC 2.0 JDBC 2.0 propose aussi de rendre les curseurs modifiable (dynamiques). Lecture / écriture. 106
107 ResultSet navigable Un curseur «statique en avant seulement» peut être parcouru seulement du début jusqu à la fin. Un curseur navigable peut être parcouru dans tous les sens. id nom prenom 12 bbb ccc 4 asdf cccc 23 bbb adsf 107
108 ResultSet navigable UnobjetdetypeResultSetnavigableestinstanciéet alimenté par le résultat de l exécution d un Statement ou PreparedStatement. Une constante de navigation doit être spécifiée lors de la création du Statement ou PreparedStatement. 108
109 ResultSet navigable Il existe 3 constantes de navigation: ResultSet.TYPE_FORWARD_ONLY Curseur non navigable (par défaut) ResultSet.TYPE_SCROLL_INSENSITIVE Curseur navigable et non sensible aux modifications dans les autres transactions. ResultSet.TYPE_SCROLL_SENSITIVE Curseur navigable et sensible aux modifications des les autres transactions. 109
110 Sensibilité aux autres transactions Une curseur ResultSet.TYPE_SCROLL_INSENSITIVE n est pas mis à jour automatiquement lorsque les données sont modifiées par une autre transaction. Une curseur ResultSet.TYPE_SCROLL_SENSITIVE est mis à jour automatiquement lorsque les données sont modifiées et validées (commit) par une autre transaction. 110
111 Création d un curseur navigable La constante de navigation doit être spécifiée lors de la création du Statement ou PreparedStatement. Exemple: PreparedStatement stmt = myconn.preparestatement("select a, b, c" + "FROM d WHERE a =? " + "ORDER BY b, c, a", ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); 111
112 Parcours d un ResultSet navigable Le parcours d un ResultSet navigable peut s effectuer dans une boucle mais aussi à l aide de méthodes spécifiques dont: last() first() islast() absolute(int position) 112
113 ResultSet modifiable Un ResultSet modifiable permet de mettre à jour les données d un ResultSet (en mémoire) et de répliquer ces changements au niveau de la base de données. Il est donc possible d effecuter des insertions, des modifications et des suppressions de données. Afin de rendre un ResultSet modifiable, il est nécessaire de spécifier la constante de modification: ResultSet.CONCUR_UPDATABLE PreparedStatement stmt = myconn.preparestatement("select a, b, c" + "FROM d WHERE a =? " + "ORDER BY b, c, a", ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); 113
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étailIntroduction à 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étailApplication BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :
ntroduction 1/28 2/28 Anne-Cécile Caron Licence MAGE - Bases de Données 2013-2014 Application base de données Pour le développeur : Quel est l environnement? type de client (mode client serveur, intranet,...)
Plus en détailJava 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étailQuelques 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étailAccè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étailTP Programmation Java / JDBC / Oracle
TP Programmation Java / JDBC / Oracle 1. Connectivité avec une base de données Oracle au travers de l interface JDBC L interface de programmation (API) JDBC (Java DataBase Connectivity) est une librairie
Plus en détailOpenPaaS 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étailProgrammation d application Bases de données avec Java
Plan du document Programmation d application Bases de données avec Java INT Problématique slide 3 Correspondance diagramme de classe slide 4 UML vers schéma relationnel Programmation BD avec JDBC slide
Plus en détailJava 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étailSGBDR. 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étailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détailCours Bases de données 2ème année IUT
Cours Bases de données 2ème année IUT Cours 12 : Concurrence d accès Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Accès concurrents Définitions Verrous Collisions Niveaux de cohérence Blocage
Plus en détailBases de données et sites WEB Licence d informatique LI345
Bases de données et sites WEB Licence d informatique LI345 Anne Doucet Anne.Doucet@lip6.fr http://www-bd.lip6.fr/ens/li345-2013/index.php/lescours 1 Contenu Transactions en pratique Modèle relationnel-objet
Plus en détailNotes 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étailJDBC le langage Java XVI-1 JMF
JDBC Java Database Connectivity XVI-1 JDBC JDBC est une API Java (ensemble de classes et d'interfaces défini par SUN et les acteurs du domaine des BD) permettant d'accéder aux bases de données à l'aide
Plus en détailImplémentation des SGBD
Implémentation des SGBD Structure générale des applications Application utilisateur accédant à des données d'une base Les programmes sous-jacents contiennent du code SQL Exécution : pendant l'exécution
Plus en détailConnexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC
Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Sommaire 1. Objectifs et intérêts... 2 2. Intégrer le driver SQL Server dans SJSAS 9... 2 2.1. Télécharger
Plus en détailProgramme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détail4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
Plus en détailInstitut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki
Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants
Plus en détailLangage 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étailJava pour le Web. Cours Java - F. Michel
Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications
Plus en détailMysql. 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étailBTS 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étailJDBC JDBC. Java DataBase Connectivity
Java DataBase Connectivity Philippe GENOUD UJF Février 2004 1 Introduction Offre une API unique d accès à toute BD conforme au standard SQL-92 Objectifs : Fournir un accès homogène aux SGBD une application
Plus en détailLes 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étailORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010
ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle
Plus en détailCHAPITRE 1 ARCHITECTURE
07/04/2014 Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique ADMINISTRATION ET TUNING DE BASES DE DONNÉES CHAPITRE 1 ARCHITECTURE RESPONSABLE DR K. BOUKHALFA
Plus en détail//////////////////////////////////////////////////////////////////// Administration bases de données
////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données
Plus en détailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailInformation utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
Plus en détailPré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étailModule BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Plus en détailLangage 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étailCedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/
Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation
Plus en détailCOMMANDES 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étailCours Bases de données
Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles
Plus en détailPDO : 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étailPlan. Department of Informatics
Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise
Plus en détailPrésentation du module Base de données spatio-temporelles
Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes
Plus en détailLES ACCES ODBC AVEC LE SYSTEME SAS
LES ACCES ODBC AVEC LE SYSTEME SAS I. Présentation II. SAS/ACCESS to ODBC III. Driver ODBC SAS IV. Driver ODBC SAS Universel V. Version 8 VI. Références I. Présentation Introduction ODBC, qui signifie
Plus en détailRéplication des données
Réplication des données Christelle Pierkot FMIN 306 : Gestion de données distribuées Année 2009-2010 Echange d information distribuée Grâce à un serveur central Une seule copie cohérente Accès à distance
Plus en détailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détail1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7
Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application
Plus en détailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailTable 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étailBases de données Page 1 de 11. Bases de données. Prof. : Dzenan Ridjanovic
Bases de données Page 1 de 11 1- Objectifs généraux Bases de données Prof. : Dzenan Ridjanovic acquérir les principes et concepts fondamentaux dans le domaine des bases de données; développer les connaissances
Plus en détailA 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étailCOMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA
COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA DEFINITION D UNE BIBLIOTHEQUE D ACCES A UNE BASE DE DONNEES Cet article s adresse aux administrateurs SAS en charge de la mise à disposition des
Plus en détailInitiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr
Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Plus en détailBases 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étailUtilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008
Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application
Plus en détailGestion de stock pour un magasin
Département d Informatique Université de Fribourg, Suisse http://diuf.unifr.ch Gestion de stock pour un magasin Stock online utilise ASP/MS-Access DO Thi Tra My No étudiant : 05-333-750 Travail de séminaire
Plus en détailArchitecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués
Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr
Plus en détail1. Langage de programmation Java
1. Langage de programmation Java 1.1. Définitions Langage de 3e génération le plus utilisé actuellement Portabilité : exécutable sur tout types d'ordinateurs quel que soit le système d'exploitation (Windows,
Plus en détailIntroduction aux SGBDR
1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux
Plus en détailBases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS
Bases de Données Stella MARC-ZWECKER Maître de conférences Dpt. Informatique - UdS stella@unistra.u-strasbg.fr 1 Plan du cours 1. Introduction aux BD et aux SGBD Objectifs, fonctionnalités et évolutions
Plus en détailCréation d une application JEE
Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document
Plus en détailExtension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.
Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence
Plus en détailModule 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étailTP 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étailAuto-évaluation Aperçu de l architecture Java EE
Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU
Plus en détailForthcoming Database
DISS.ETH NO. 15802 Forthcoming Database A Framework Approach for Data Visualization Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of
Plus en détailLa base de données XML exist. A. Belaïd
La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques
Plus en détailAPIs de table pour SQL Server
2013 D - Pratique APIs de table pour SQL Server Établissement: HEG Arc Haute école Arc Gestion Réalisé par: M. Informaticien de gestion 2009-2013 S adresse à: M.Fabrice Camus Date de début et de fin du
Plus en détailArchitectures web/bases de données
Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est
Plus en détailPHP. 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étailOptimisations 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étailIntroduction aux bases de données
Introduction aux bases de données Références bibliographiques Jeff Ullman,Jennifer Widom, «A First Course in Database systems», Prentice-Hall, 3rd Edition, 2008 Hector Garcia-Molina, Jeff Ullman, Jennifer
Plus en détailCOMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1
1 COMPOSANTS DE L ARCHITECTURE D UN SGBD Chapitre 1 Généralité 2 Les composants principaux de l architecture d un SGBD Sont: Les processus Les structures mémoires Les fichiers P1 P2 Pn SGA Fichiers Oracle
Plus en détail24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.
Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
Plus en détailBases de données cours 1
Bases de données cours 1 Introduction Catalin Dima Objectifs du cours Modèle relationnel et logique des bases de données. Langage SQL. Conception de bases de données. SQL et PHP. Cours essentiel pour votre
Plus en détailBases 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étailPHP 4 PARTIE : BASE DE DONNEES
PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux
Plus en détailOlivier 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étailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailDu 10 Fév. au 14 Mars 2014
Interconnexion des Sites - Design et Implémentation des Réseaux informatiques - Sécurité et Audit des systèmes - IT CATALOGUE DE FORMATION SIS 2014 1 FORMATION ORACLE 10G 11G 10 FEV 2014 DOUALA CAMEROUN
Plus en détailWEB page builder and server for SCADA applications usable from a WEB navigator
Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB WEB page builder and server for SCADA applications usable from a WEB navigator opyright 2007 IRAI Manual Manuel
Plus en détailA 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étailPHP 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étailConstruire des plug-ins pour SAS Management Console SAS 9.1
Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION
Plus en détailTutoriel d installation de Hibernate avec Eclipse
Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création
Plus en détail2 Chapitre 1 Introduction
1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné
Plus en détailMise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Plus en détailOnce the installation is complete, you can delete the temporary Zip files..
Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une
Plus en détailBases de données avancées Introduction
Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)
Plus en détailLes transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions
1/46 2/46 Pourquoi? Anne-Cécile Caron Master MAGE - SGBD 1er trimestre 2014-2015 Le concept de transaction va permettre de définir des processus garantissant que l état de la base est toujours cohérent
Plus en détailADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5
ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 Informations juridiques Copyright 2010 Adobe Systems Incorporated and its licensors. All rights reserved. Administration d Adobe LiveCycle Mosaic 9.5 13 octobre
Plus en détailRéplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f
PGDay Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f Réplication Réplications, disponibilités, durabilités Evolution dans la base de données : Postgres 8.2 : warm standby Postgres 9.0 : hot
Plus en détailArchitecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
Plus en détail27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)
Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)
Plus en détailCours Base de données relationnelles. M. Boughanem, IUP STRI
Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),
Plus en détailPRODUCTS LIST (updated 11th January 2010)
PRODUCTS LIST (updated 11th January 2010) OPERATING SYSTEMS SUN SOLARIS 10, 9, 10 B OP Application and database servers Red Hat Enterprise Linux Server 4.x and 5.x B OP Single Application Host Windows
Plus en détailCREATION 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