La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les serveurs de bases de données

Présentations similaires


Présentation au sujet: "Les serveurs de bases de données"— Transcription de la présentation:

1 Les serveurs de bases de données
Pourquoi un SGBD? Le modèle relationnel Le langage SQL Java Database Connectivity JDBC Section 4: Les serveurs de bases de données 1

2 Section 4: Les serveurs de bases de données 2
Introduction Définitions Une Base de Données (BD) est une grande quantité de données, centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables par un groupe d'utilisateurs travaillant en parallèle. exhaustif, non redondant, structuré, persistant. Section 4: Les serveurs de bases de données 2

3 Section 4: Les serveurs de bases de données 3
Définitions, suite Un Système de Gestion de Bases de Données (SGBD), il peut être vu comme le logiciel qui prend en charge la structuration, le stockage, la mise à jour et la maintenance des données ; Permet de décrire, modifier, interroger, administrer Section 4: Les serveurs de bases de données 3

4 Section 4: Les serveurs de bases de données 4
Pourquoi? Les limites à l'utilisation des fichiers. De telles applications sont : rigides, contraignantes, longues et coûteuses à mettre en oeuvre. Les données associées dans les applications fichiers sont : mal définies et mal désignées, redondantes, peu accessibles de manière ponctuelle, peu fiables. Section 4: Les serveurs de bases de données 4

5 Section 4: Les serveurs de bases de données 5
Objectifs des SGBD Indépendance physique Utilisation du matériel cachée Indépendance logique Plusieurs vue logiques sont possibles Manipulations des données par des non informaticiens Efficacité des accès aux données Section 4: Les serveurs de bases de données 5

6 Section 4: Les serveurs de bases de données 6
Objectifs, suite Administration centralisée des données Non redondance des données Cohérence des données Partageabilité des données permettre à deux (ou plus) utilisateurs de modifier la même donnée "en même temps" ; assurer un résultat d'interrogation cohérent pour un utilisateur consultant une table pendant qu'un autre la modifie. Section 4: Les serveurs de bases de données 6

7 Section 4: Les serveurs de bases de données 7
Objectifs, suite Sécurité des données Les données doivent pouvoir être protégées contre les accès non autorisés. Pour cela, il faut pouvoir associer à chaque utilisateur des droits d'accès aux données. Résistance aux pannes Que se passe-t-il si une panne survient au milieu d'une modification, si certains fichiers contenant les données deviennent illisibles? Les pannes, bien qu'étant assez rares, se produisent quand même de temps en temps. Il faut pouvoir, lorsque l'une d'elles arrive, récupérer une base dans un état "sain". Ainsi, après une panne intervenant au milieu d'une modification deux solutions sont possibles : soit récupérer les données dans l'état dans lequel elles étaient avant la modification, soit terminer l'opération interrompue. Section 4: Les serveurs de bases de données 7

8 Section 4: Les serveurs de bases de données 8
Concepts de base Niveau interne Description du stockage des données au niveau des unités de stockage, des fichiers, ... On appelle cette description le schéma interne. Niveau conceptuel Description de la structure de toutes les données qui existent dans la base, description de leurs propriétés (relations qui existent entre elles) c'est-à-dire de leur sémantique inhérente, sans soucis d'implémentation physique ni de la façon dont chaque groupe de travail voudra s'en servir. On appelle cette description le schéma conceptuel. Niveau externe Description pour chaque utilisateur de sa perception des données. On appelle cette description le schéma externe ou vue. Section 4: Les serveurs de bases de données 8

9 Composants des systèmes de gestion de bases de données
La description des données L’interrogation des données La sauvegarde et la récupération après pannes Les accès concurrents aux données Section 4: Les serveurs de bases de données 9

10 Section 4: Les serveurs de bases de données 10
Le modèle relationnel Les objectifs du modèle relationnel : proposer des schémas de données faciles à utiliser, améliorer l'indépendance logique et physique, mettre à la disposition des utilisateurs des langages de haut niveau pouvant éventuellement être utilisés par des non informaticiens, optimiser les accès à la base de données, améliorer l'intégrité et la confidentialité, fournir une approche méthodologique dans la construction des schémas. Section 4: Les serveurs de bases de données 10

11 Présentation simple du modèle relationnel
Les données sont organisées sous forme de tables à deux dimensions, encore appelées relations et chaque ligne un tuple les données sont manipulées par des opérateurs de l'algèbre relationnelle l'état cohérent de la base est défini par un ensemble de contraintes d'intégrité. Section 4: Les serveurs de bases de données 11

12 Section 4: Les serveurs de bases de données 12
Définitions Domaine Ensemble de valeurs. Relation Sous-ensemble du produit cartésien d'une liste de domaines caractérisé par un nom. En d'autres termes, une relation n'est ni plus ni moins qu'une table dans laquelle chaque colonne correspond à un domaine et porte un nom ce qui rend leur ordre sans aucune importance. Attribut Colonne d'une relation caractérisée par un nom. Section 4: Les serveurs de bases de données 12

13 Section 4: Les serveurs de bases de données 13
Clé d’une relation Une clé de relation est un sous-ensemble d'attributs qui permet de caractériser tout enregistrement d'une relation. Par définition, une relation est un ensemble de enregistrements et il ne peut donc pas y avoir deux enregistrements strictement identiques dans la même relation. Section 4: Les serveurs de bases de données 13

14 Section 4: Les serveurs de bases de données 14
Définitions, suite Schéma de relation Nom de la relation, suivi de la liste des attributs avec leurs domaines. Base de données relationnelles Base de données dont le schéma est un ensemble de schémas de relations et dont les occurrences sont les tuples de ces relations. Système de gestion de bases de données relationnel C'est un logiciel supportant le modèle relationnel, et qui peut manipuler les données avec des opérateurs relationnels. Section 4: Les serveurs de bases de données 14

15 Opérateurs relationnels
Projection   Opération qui consiste à supprimer des attributs d'une relation et à éliminer les tuples en double apparaissant dans la nouvelle relation. Restriction   Opération qui consiste à supprimer les tuples d'une relation ne satisfaisant pas la condition précisée. Jointure   Opération qui consiste à faire le produit cartésien de deux relations, puis à supprimer les tuples ne satisfaisant pas une condition portant sur un attribut de la première relation et sur un attribut de la seconde. Union  Opération portant sur deux relations ayant le même schéma et construisant une troisième relation constituée des tuples appartenant à chaque relation. Les tuples en double sont éliminés. Différence relationnelle  Opération portant sur deux relations ayant le même schéma et construisant une troisième relation dont les tuples sont constitués de ceux ne se trouvant que dans une seule relation. Section 4: Les serveurs de bases de données 15

16 Section 4: Les serveurs de bases de données 16
Intersection:   Opération portant sur deux relations ayant le même schéma et construisant une troisième relation dont les tuples sont constitués de ceux appartenant aux deux relations. Section 4: Les serveurs de bases de données 16

17 Section 4: Les serveurs de bases de données 17
Formes normales Première forme normale :   tout attribut contient une valeur atomique. Deuxième forme normale :   1 + tout attribut n'appartenant pas à une clé ne dépend pas que d'une partie de cette clé. Troisième forme normale :   2 + tout attribut n'appartenant pas à une clé ne dépend pas d'un attribut non clé. Forme normale de BOYCE-CODD :   Une relation est en Forme normale de BOYCE-CODD (BCNF) si, et seulement si, les seules dépendances fonctionnelles sont celles dans lesquelles une clé détermine un attribut. Section 4: Les serveurs de bases de données 17

18 Section 4: Les serveurs de bases de données 18
Exemple Tables non normalisées Un champ contenant <Prénom Nom> Non respect de 1 Un champ adresse contenant 2 attributs <Prénom Nom> <adresse civique, ville, pays, code postal> <code produit>, <description du produit>, <code couleur>, <description de la couleur en anglais> Non respect de 3 Section 4: Les serveurs de bases de données 18

19 Section 4: Les serveurs de bases de données 19
Un magasin entrepôt Shipping and keeping unit-sku Produit sur une tablette ou en entrepôt Code de type de produit: téléviseur <Code de type de produit>, <numéro sku>, <code couleur>, <description du produit>, <description de la couleur> La colonne <description de la couleur> dépend de l’attribut non clef <code couleur> Section 4: Les serveurs de bases de données 19

20 Section 4: Les serveurs de bases de données 20
Tables normalisées <sku>, <code produit>, <code couleur> <code produit>, <description du produit> <code couleur>, <description de la couleur en anglais> Section 4: Les serveurs de bases de données 20

21 Les serveurs de bases de données
Existent depuis longtemps déjà Joue un rôle majeur dans les systèmes de commerce électronique Presque tous basés sur le modèle relationnel Section 4: Les serveurs de bases de données 21

22 Tables relationnelles
ItemId Item NoInStock Aw Washer A Ntr Nut A 2009 Edt Spanner S 802 Bt555qw Bolt B 200 Chaque ligne contient des données associées Clef Section 4: Les serveurs de bases de données 22

23 Section 4: Les serveurs de bases de données 23
SQL « Structured Query Language » En existence depuis longtemps Utilisé pour créer, modifier, retrouver les données des tables relationnelles Standard Section 4: Les serveurs de bases de données 23

24 Section 4: Les serveurs de bases de données 24
Un exemple Select EmployeeName, Salary From Employees WHERE Salary>3500 Nom de la table Noms des colonnes Condition Section 4: Les serveurs de bases de données 24

25 Section 4: Les serveurs de bases de données 25
SQL Le langage sql (Structured Query Language) comprend à lui seul l'ensemble des instructions nécessaires à la spécification et à l'utilisation d'une base de données relationnelle. C'est un langage de type déclaratif c'est-à-dire que l'on spécifie les propriétés des données que l'on recherche et pas, comme dans un langage impératif, comment les retrouver. Section 4: Les serveurs de bases de données 25

26 Section 4: Les serveurs de bases de données 26
Normalisation Le langage ANSI-sql est un langage normalisé, 3 versions SQL89 (SQL1) SQL92 (SQL2) SQL99 (SQL3) la version de la norme la plus connue est la deuxième, sql-92. La troisième version de la norme intégre, entre autres, la notion de types abstraits algébriques; on la désigne sous le nom de sql3. Section 4: Les serveurs de bases de données 26

27 Section 4: Les serveurs de bases de données 27
SQL: C'est à la fois : un langage d'interrogation de données (LID) : SELECT ; un langage de manipulation de données (LMD) : UPDATE, INSERT, DELETE ; un langage de definition des données (LDD) : ALTER, CREATE, DROP; un langage de contrôle des données et des utilisateurs (LCD) : GRANT, REVOKE. Section 4: Les serveurs de bases de données 27

28 Section 4: Les serveurs de bases de données 28
Remarques Beaucoup de systèmes de gestion de données (et non pas de gestion de bases de données ) sont vendus comme étant relationnels, souvent parce qu'ils présentent les données sous forme de tables. Un système est dit minimalement relationnel s'il satisfait aux conditions suivantes : toute information dans la base est représentée par des valeurs dans des tables, il n'y a pas de pointeurs visibles par l'utilisateur entre les tables, le système doit supporter au moins les opérateurs relationnels de restriction, projection, jointure naturelle. Section 4: Les serveurs de bases de données 28

29 Un système est dit complètement relationnel
s'il satisfait, en plus, aux conditions suivantes : il supporte tous les opérateurs de l'algèbre relationnelle, il supporte la contrainte d'unicité de clé d'une relation, il supporte les contraintes référentielles qui permettent de s'assurer que la valeur d'une donnée d'une relation existe dans une autre relation (notion de foreign key). Section 4: Les serveurs de bases de données 29

30 Section 4: Les serveurs de bases de données 30
Limite du modèle En dépit de sa simplicité et de son élégance le modèle relationnel n'apporte pas une réponse satisfaisante à tous les problèmes des applications. Il faut : Pouvoir prendre en compte des "objets" structurés ainsi que les opérations qui leur sont associées (bases de données orientées objet). Prendre en compte des données peu structurées : textes, sons, images, graphiques (bases de données multi-média). Faire le pont avec l'intelligence artificielle afin de pouvoir déduire de nouvelles données à partir de celles existant déjà (bases de données déductives) Section 4: Les serveurs de bases de données 30

31 Section 4: Les serveurs de bases de données 31
Le langage SQL Ce chapitre expose la partie du langage SQL permettant de retrouver des informations stockées dans une base de données. Il s'agit, comme cela a déjà été dit, d'un langage déclaratif dont la syntaxe est très simple (comme beaucoup de langages de ce type) ce qui permet de se concentrer sur le problème à résoudre. Ces exemples sont bâtis sur une base de données composée des deux relations suivantes : emp (nom, num, fonction, n_sup, embauche, salaire, comm, n_dept) dept(n_dept, nom,lieu) Section 4: Les serveurs de bases de données 31

32 Section 4: Les serveurs de bases de données 32
Table emp NOM NUM FONCTION N_SUP EMBAUCHE SALAIRE COMM N_DEPT MARTIN Directeur MAY DUPONT administratif MAY DUPOND commercial APR LAMBERT administratif APR JOUBERT president OCT LEBRETON Commercial JUN MARTIN commercial DEC PAQUEL commercial SEP LEFEBVRE commercial JAN GARDARIN ingénieur MAR SIMON ingénieur OCT DELOBEL ingénieur NOV ADIBA ingénieur OCT CODD directeur SEP LAMERE directeur SEP BALIN administratif OCT Section 4: Les serveurs de bases de données 32

33 Section 4: Les serveurs de bases de données 33
Table dept N_DEPT NOM LIEU recherche Rennes vente Metz direction Gif fabrication Toulon Section 4: Les serveurs de bases de données 33

34 Section 4: Les serveurs de bases de données 34
SELECT La commande SELECT constitue, à elle seule, le langage permettant d'interroger une base de données. Elle permet : de sélectionner certaines colonnes d'une table : c'est l'opération de projection ; de sélectionner certaines lignes d'une table en fonction de leur contenu : c'est l'opération de restriction ; de combiner des informations venant de plusieurs tables : ce sont les opérations de jointure, union, intersection,différence relationnelle ; de combiner entre elles ces différentes opérations. Section 4: Les serveurs de bases de données 34

35 Section 4: Les serveurs de bases de données 35
Une requête, Ou une interrogation, est une combinaison d'opérations portant sur des tables (relations) et dont le résultat est lui-même une table dont l'existence est éphémère (le temps de la requête). Section 4: Les serveurs de bases de données 35

36 Interroger simplement une base
Sélection de colonnes ou projection La commande SELECT la plus simple a la syntaxe suivante : SELECT * FROM nom_table ; Dans laquelle : nom_table est le nom de la table sur laquelle porte la sélection. * signifie que toutes les colonnes de la table sont sélectionnées. Par défaut toutes les lignes sont sélectionnées. Section 4: Les serveurs de bases de données 36

37 Section 4: Les serveurs de bases de données 37
SELECT, suite On peut limiter la sélection à certaines colonnes, en indiquant une liste de noms de colonnes à la place de l'astérisque. SELECT nom_col1, nom_col2, ... FROM nom_table ; Exemple : Donner le nom et la fonction de chaque employé. La clause DISTINCT ajoutée derrière la commande SELECT permet d'éliminer les duplications. Section 4: Les serveurs de bases de données 37

38 Sélection de lignes ou restriction
La clause WHERE permet de spécifier quelles sont les lignes à sélectionner. Elle est suivie d'un prédicat qui sera évalué pour chaque ligne de la table. Les lignes pour lesquelles le prédicat est vrai seront sélectionnées. La syntaxe est la suivante : SELECT * FROM nom_table WHERE predicat ; Un prédicat n'est ni plus ni moins que la façon dont on exprime une propriété. Les prédicats, qu'ils soient simples ou composés, sont constitués à partir d'expressions que l'on compare entre elles. Section 4: Les serveurs de bases de données 38

39 Section 4: Les serveurs de bases de données 39
Expression simple Une expression simple peut être : une variable désignée par un nom de colonne, une constante. Les expressions peuvent être de plusieurs types : numérique, chaîne de caractères date Autres (monétaire) Section 4: Les serveurs de bases de données 39

40 Type de données de base en SQL
SMALLINT, INTEGER, DECIMAL, FLOAT, DOUBLE, DATE, TIME, TIMESTAMP (en milliseconde) CHAR, VARCHAR Non défini dans le standard Objet binaire (musique, image, autre) Section 4: Les serveurs de bases de données 40

41 Section 4: Les serveurs de bases de données 41
Format de constante Constante numérique nombre contenant éventuellement un signe, un point décimal et une puissance de dix. Ex : -10, 2.5, 1.2 E-10 Constante chaîne de caractères une chaîne de caractères entre apostrophes. Ex :'MARTIN' (Attention, une lettre en majuscules n'est pas considérée comme égale à la même lettre en minuscule). Constante date une chaîne de caractères entre apostrophes au format suivant : jour-mois-année le jour est sur deux chiffres, le mois est désigné par les trois premières lettres de son nom en anglais, l'année est sur deux chiffres. Ex : '01-FEB-85' Section 4: Les serveurs de bases de données 41

42 Section 4: Les serveurs de bases de données 42
Expressions On peut, en SQL, exprimer des expressions plus complexes en utilisant des opérateurs et des fonctions Section 4: Les serveurs de bases de données 42

43 Section 4: Les serveurs de bases de données 43
Prédicat simple (i) Un prédicat simple est le résultat de la comparaison de deux expressions au moyen d'un opérateur de comparaison qui peut être : =   égale != différent <   inférieur <= inférieur ou égal >   supérieur >= supérieur ou égal Les trois types d'expressions peuvent être comparés au moyen de ces opérateurs : Pour les types date, la relation d'ordre est l'ordre chronologique. Pour les types caractère, la relation d'ordre est l'ordre alphabétique. Section 4: Les serveurs de bases de données 43

44 Section 4: Les serveurs de bases de données 44
Prédicat simple (ii) Il faut ajouter à ces opérateurs arithmétiques classiques les opérateurs suivants : expr1 BETWEEN expr2 AND expr3 vrai si expr1 est compris entre expr2 et expr3, bornes incluses expr1 IN (expr2, expr3, ...) vrai si expr1 est égale à l'une des expressions de la liste entre parenthèses expr LIKE chaine où chaine est une chaîne de caractères pouvant contenir l'un des caractères jokers : _   remplace exactement 1 caractère % remplace une chaîne de caractères de longueur quelconque, y compris de longueur nulle. Section 4: Les serveurs de bases de données 44

45 Classer le résultat d'une interrogation
Les lignes constituant le résultat d'un SELECT sont obtenues dans un ordre indéterminé. On peut, dans un SELECT, demander que le résultat soit classé un ordre ascendant ou descendant, en fonction du contenu d'une ou plusieurs colonnes (jusqu'à 16 critères de classement possibles). Les critères de classement sont spécifiés dans une clause ORDER BY dont la syntaxe est la suivante : ORDER BY {nom_col1 | num_col1 [DESC] [, nom_col2 | num_col2 [DESC],...]} Section 4: Les serveurs de bases de données 45

46 Section 4: Les serveurs de bases de données 46
Classement, suite Le classement se fait d'abord selon la première colonne spécifiée dans l'ORDER BY puis les lignes ayant la même valeur dans la première colonne sont classées selon la deuxième colonne de l'ORDER BY, etc... Pour chaque colonne, le classement peut être ascendant (par défaut) ou descendant (DESC). Exemple : Donner tous les employés classés par fonction, et pour chaque fonction classés par salaire décroissant Remarque : Dans un classement les valeurs NULL sont toujours en tête quel que soit l'ordre du classement (ascendant ou descendant). Section 4: Les serveurs de bases de données 46

47 Une configuration typique
Clients Serveur Web Serveur de données Section 4: Les serveurs de bases de données 47

48 Fonctions d’un serveur de base de données
Interprèter les instructions SQL et les exécutent Optimiser les requêtes Prévenir les erreurs d’accès concurrents Prévenir les étreintes fatales Administrer la sécurité Gérer les copies de sauvegarde Section 4: Les serveurs de bases de données 48

49 Section 4: Les serveurs de bases de données 49
Les procédures SQL En fait des procédures Conserver au serveur SQL Une alternative efficace à l’envoie d’un grand nombre d’instructions SQL sur le réseau Section 4: Les serveurs de bases de données 49

50 Les procédures SQL: le pour et le contre
Plus efficaces dans le temps de traitement Réduisent le trafic réseau Garde le code des données proche de la base de données Contre Elles sont non standard L’optimisation doit être refaites quand les données et leur accès changent Section 4: Les serveurs de bases de données 50

51 L’intégrité référentielle (i)
Les tables dans une base de données doivent être consistantes entre elles Exemple Dans une commande: le numéro client Ce numéro doit exister dans la table des clients Section 4: Les serveurs de bases de données 51

52 L’intégrité référentielle (ii)
Associée avec les règles d’affaires Deux façons de réaliser l’intégrité référentielle Par déclaration dans les schémas de la base de données Par des procédures activées par des événements Ajout, modification d’un enregistrement Section 4: Les serveurs de bases de données 52

53 Section 4: Les serveurs de bases de données 53
Implémentation L’intégrité référentielle déclarative est maintenue par les déclarations dans les schémas de la base de données L’intégrité référentielle procédurale est maintenue par le code des procédures SQL Section 4: Les serveurs de bases de données 53

54 Section 4: Les serveurs de bases de données 54
Le pour et le contre Procédurale Non-standard Les procédures sont éparpillées au travers du système Des implémentations ont des limites sur le nombre de procédures Déclarative Auto-documentée Standard Section 4: Les serveurs de bases de données 54

55 Section 4: Les serveurs de bases de données 55
Serveur Relationnel Clients Pilote Logiciel Serveur SQL API Base de données Communications Protocoles Section 4: Les serveurs de bases de données 55

56 Section 4: Les serveurs de bases de données 56
Les composantes L’API fournit l’environnement de travail au programmeur Le pilote communique les énoncés SQL au logiciel serveur Le logiciel de communication gère les protocoles du côté serveur L’interprête SQL traduit les requêtes SQL en logique serveur Le serveur exécute les requêtes Section 4: Les serveurs de bases de données 56

57 Base de données distribuées
Les bases de données sont réparties sur plusieurs serveurs dans un système distribué Les bases de données sont distribuées Pour des raisons de performance Conserver les données proches des clients Pour la fiabilité Conserver une copie des données Pour l’héritage des développements passés Les systèmes ont été développés en succession ou en parallèle Section 4: Les serveurs de bases de données 57

58 Problème des systèmes distribués
Conserver les données dupliquées à jour S’assurer que les accès concurrents conservent une base de données distribués dans un état correct L’accès sécurisé aux données Plusieurs points d’accès Plusieurs fuites possibles La fiabilité Une seule des copies en panne fait arrêter tout le système La synchronisation de l’horloge Section 4: Les serveurs de bases de données 58

59 Modèles de distribution
Photocopie (Snapshot) Périodiquement écrire les données à une base de données distante Copie vivante Conserver des jeux de données identiques en synchronisme Fragmentation Partager des données entre plusieurs sites Section 4: Les serveurs de bases de données 59

60 Type de fragmentation (i)
Fragmentation horizontale Les tables distribuées ont les mêmes colonnes que la table originale (la table logique) Les enregistrements d’une table logique sont partagées entre plusieurs machines Souvent séparés logiquement, par valeur d’attribut Données d’une succursale dans le serveur de la succursale Section 4: Les serveurs de bases de données 60

61 Type de fragmentation (ii)
Fragmentation verticale Les colonnes d’un même enregistrement logique sont séparées Sémantiquement Les tables sont distribuées selon leur domaine Section 4: Les serveurs de bases de données 61

62 Java Database Connectivity (i)
Aussi appelé JDBC Driver Pilote, utilisé du côté client pour communiquer avec une base de données relationnelles Statement Un énoncé SQL PreparedStatement Un énoncé SQL compilé CallableStatement Une procédure exécutable Section 4: Les serveurs de bases de données 62

63 Java Database Connectivity (ii)
Connection Pour gérer la connexion à une base de données ResultSet Collection de données résultat d’une requête DatabaseMetaData Meta-données, Données sur une base de données DriverManager Gère les connexions à une base de données Section 4: Les serveurs de bases de données 63

64 Section 4: Les serveurs de bases de données 64
Étape d’un code Charger le bon pilote Établir/Réutiliser une connexion à une base de données Associer un énoncé SQL avec cette connexion Exécuter cet énoncé Traiter le résultat de cette requête Fermer la connexion Section 4: Les serveurs de bases de données 64

65 Section 4: Les serveurs de bases de données 65
Charger le pilote //Set the name of the file that is to be accessed //and the name of the driver String fileURL = “...”; String driverName = “...”; try { // Load in the driver programmatically Class.forName(driverName); } catch (ClassNotFoundException cfn) //Problem with driver, display error message and //return to operating system with status value 1 System.out.println(“Problem loading driver”); System.exit(1); Section 4: Les serveurs de bases de données 65

66 Section 4: Les serveurs de bases de données 66
Établir la connexion try { //Establish a connection to the database, second //argument is the name of the user and the third //argument is a password (blank) Connection con = DriverManager.getConnection(fileURL, “Darrel”,””); Section 4: Les serveurs de bases de données 66

67 Créer et exécuter un énoncé SQL
// Create a statement object Statement selectStatement = con.createStatement(); // Execute the SQL select statement ResultSet rs = selectStatement.executeQuery (“SELECT name, salary FROM employees WHERE salary >35000"); Section 4: Les serveurs de bases de données 67

68 Section 4: Les serveurs de bases de données 68
Traiter le résultat String employeeName; int employeeSalary; while(rs.next()) { employeeName = rs.getString(1); employeeSalary = rs.getInt(2); System.out.println(“Name = “+ employeeName + “Salary = “+ employeeSalary); } Section 4: Les serveurs de bases de données 68

69 Section 4: Les serveurs de bases de données 69
Fermer //Close down the database connection, result set //and the SELECT statement selectStatement.close(); con.close(); rs.close(); Section 4: Les serveurs de bases de données 69

70 Section 4: Les serveurs de bases de données 70
Meta données Données à propos des données Peut être des données sur la base de données, un résultat, ou un pilote Java contient des classes qui facilite l’extraction et la manipulation de ces données Section 4: Les serveurs de bases de données 70

71 Section 4: Les serveurs de bases de données 71
Un exemple Obtenir les données sur le pilote: Son nom et son numéro de version Connection c; // Code to establish a connection DatabaseMetaData dmd = c.getMetaData(); System.out.println(“Driver is ”+ dmd.getDriverName() + “ Version number = “+dmd.getDriverVersion()); Section 4: Les serveurs de bases de données 71

72 Modèle trois tier avec une base de données
Clients Objets d’affaire Base de données relationnelle Traduction Section 4: Les serveurs de bases de données 72

73 Traduction Java et table SQL
Classes Traduites en tables Instance Traduite en un enregistrement Variables d’instance, ou attributs Traduites en colonnes Section 4: Les serveurs de bases de données 73

74 Exemple de traduction prédéfinie
CHARACTER, VARCHAR, LONGVARCHAR   en objet Java String INTEGER en int NUMERIC   en objet java.math.BigDecimal DATE, TIME, TIMESTAMP en objet java.sql.Date, Time et Timestamp Section 4: Les serveurs de bases de données 74

75 Références, en français
Voir Association d'entraide des développeurs francophone - Cours SQBD et SQL Voir BD et SGBD – SQL Section 4: Les serveurs de bases de données 75

76 Section 4: Les serveurs de bases de données 76
Références, en anglais SQL Tutorial JDBC Tutorial Section 4: Les serveurs de bases de données 76


Télécharger ppt "Les serveurs de bases de données"

Présentations similaires


Annonces Google