notes-de-cours
133 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
133 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Universit¶e de SherbrookeD¶epartement d’informatiqueExploitation de bases de donn¶eesrelationnelles et orient¶ees objetIFT287Notes compl¶ementaires et synth¶etiquesMarc Frappier, Ph.D.professeurAvertissementCedocumentn’estpasunsubstitutaulivreder¶ef¶erenceducoursniauxmanuelsder¶ef¶erencedes difi¶erents langages utilis¶es dans le cadre du cours.iContents8 Le langage SQL 18.1 Langage de d¶eflnition des donn¶ees . . . . . . . . . . . . . . . . . . . . . . . . 18.1.1 Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1.2 Types en SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.1.3 D¶eflnition des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . 48.1.3.1 Syntaxe g¶en¶erale . . . . . . . . . . . . . . . . . . . . . . . . 48.1.3.2 D¶eflnition des attributs . . . . . . . . . . . . . . . . . . . . 48.1.3.3 D¶ des contraintes . . . . . . . . . . . . . . . . . . . 58.1.3.3.1 Cl¶e primaire . . . . . . . . . . . . . . . . . . . . . . 58.1.3.3.2 Cl¶e unique. . . . . . . . . . . . . . . . . . . . . . . 58.1.3.3.3 Cl¶e ¶etrangµere . . . . . . . . . . . . . . . . . . . . . 68.1.4 Modiflcation des tables . . . . . . . . . . . . . . . . . . . . . . . . . . 68.1.4.1 Ajout d’attributs . . . . . . . . . . . . . . . . . . . . . . . . 78.1.4.2 Modiflcation d’attributs . . . . . . . . . . . . . . . . . . . . 78.1.4.3 Suppression. . . . . . . . . . . . . . . . . . . . . 78.1.4.4 Ajout de contraintes . . . . . . . ...

Sujets

Informations

Publié par
Nombre de lectures 81
Langue Français

Extrait

Universit¶e de Sherbrooke
D¶epartement d’informatique
Exploitation de bases de donn¶ees
relationnelles et orient¶ees objet
IFT287
Notes compl¶ementaires et synth¶etiques
Marc Frappier, Ph.D.
professeurAvertissement
Cedocumentn’estpasunsubstitutaulivreder¶ef¶erenceducoursniauxmanuelsder¶ef¶erence
des difi¶erents langages utilis¶es dans le cadre du cours.
iContents
8 Le langage SQL 1
8.1 Langage de d¶eflnition des donn¶ees . . . . . . . . . . . . . . . . . . . . . . . . 1
8.1.1 Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
8.1.2 Types en SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
8.1.3 D¶eflnition des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
8.1.3.1 Syntaxe g¶en¶erale . . . . . . . . . . . . . . . . . . . . . . . . 4
8.1.3.2 D¶eflnition des attributs . . . . . . . . . . . . . . . . . . . . 4
8.1.3.3 D¶ des contraintes . . . . . . . . . . . . . . . . . . . 5
8.1.3.3.1 Cl¶e primaire . . . . . . . . . . . . . . . . . . . . . . 5
8.1.3.3.2 Cl¶e unique. . . . . . . . . . . . . . . . . . . . . . . 5
8.1.3.3.3 Cl¶e ¶etrangµere . . . . . . . . . . . . . . . . . . . . . 6
8.1.4 Modiflcation des tables . . . . . . . . . . . . . . . . . . . . . . . . . . 6
8.1.4.1 Ajout d’attributs . . . . . . . . . . . . . . . . . . . . . . . . 7
8.1.4.2 Modiflcation d’attributs . . . . . . . . . . . . . . . . . . . . 7
8.1.4.3 Suppression. . . . . . . . . . . . . . . . . . . . . 7
8.1.4.4 Ajout de contraintes . . . . . . . . . . . . . . . . . . . . . . 7
8.1.4.5 de contraintes . . . . . . . . . . . . . . . . . . . 7
8.1.5 Suppression des tables . . . . . . . . . . . . . . . . . . . . . . . . . . 7
8.1.5.1 L’exemple de la bibliothµeque . . . . . . . . . . . . . . . . . 8
8.2 Langage de manipulation des donn¶ees . . . . . . . . . . . . . . . . . . . . . . 11
8.2.1 Insert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.2.2 Update. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.2.3 Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.2.4 Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.2.4.1 Syntaxe g¶en¶erale . . . . . . . . . . . . . . . . . . . . . . . . 12
8.2.4.2 S¶emantique . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.2.4.3 Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.2.4.4 Fonctions d’agr¶egation . . . . . . . . . . . . . . . . . . . . . 13
8.2.4.5 Op¶erations ensemblistes . . . . . . . . . . . . . . . . . . . . 13
8.2.4.6 Quelques exemples . . . . . . . . . . . . . . . . . . . . . . . 14
8.3 Divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.3.1 Table virtuelle : vue . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.3.2 Contraintes d’int¶egrit¶e . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.3.3 Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
ii8.3.4 Sch¶ema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.3.5 La valeur sp¶eciale NULL . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.3.6 Oracle et la norme SQL2 . . . . . . . . . . . . . . . . . . . . . . . . . 21
24 Le modµele client-serveur avec JDBC et JAVA 22
24.1 Brµeve introduction µa Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
24.1.1 Ex¶ecution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
24.1.2 Aper»cu de la syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
24.1.3 Les classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
24.1.4 Les interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
24.1.5 Les vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
24.1.6 La classe String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
24.1.7 Visibilit¶e des d¶eclarations . . . . . . . . . . . . . . . . . . . . . . . . 29
24.1.8 Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
24.2 Brµeve introduction au diagramme de classe d’UML . . . . . . . . . . . . . . 32
24.3 JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
¶24.3.1 Etapes pour soumettre des commandes SQL en Java . . . . . . . . . 38
24.3.2 Soumettre les commandes SQL . . . . . . . . . . . . . . . . . . . . . 39
24.3.3 M¶ethodes de Statement . . . . . . . . . . . . . . . . . . . . . . . . . 40
24.3.4 M¶ethodes de PreparedStatement . . . . . . . . . . . . . . . . . . . . 41
24.4 Conception d’un programme d’application . . . . . . . . . . . . . . . . . . . 42
24.4.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
24.4.2 Le gestionnaire des interactions avec l’utilisateur . . . . . . . . . . . . 43
24.4.3 Le des connexions . . . . . . . . . . . . . . . . . . . . . . 43
24.4.4 Les gestionnaires de table . . . . . . . . . . . . . . . . . . . . . . . . 45
24.4.5 Les de transactions . . . . . . . . . . . . . . . . . . . . 45
24.4.5.1 Cr¶eation d’une instance . . . . . . . . . . . . . . . . . . . . 45
24.4.5.2 Traitement d’une transaction . . . . . . . . . . . . . . . . . 46
24.5 Gestion des dates et heures en Java et SQL. . . . . . . . . . . . . . . . . . . 47
24.5.1 SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
24.5.2 Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11 Concepts de bases de donn¶ees objet 50
11.1 Concepts de BD OO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
11.2 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
11.3 Persistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
11.4 Hi¶erarchie de types et de classes . . . . . . . . . . . . . . . . . . . . . . . . . 51
11.4.1 Hi¶erarchie de types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.4.2 Hi¶erarchie de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
11.5 Le modµele objet de ODMG . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
11.5.1 Les objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
11.5.2 Les litt¶eraux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
11.6 Le langage de d¶eflnition des objets (ODL) . . . . . . . . . . . . . . . . . . . 56
11.6.1 Les classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
11.7 Le langage de d¶eflnition des requ^etes (OQL) . . . . . . . . . . . . . . . . . . 58
iii11.7.1 L’¶enonc¶e select de base . . . . . . . . . . . . . . . . . . . . . . . . . . 58
11.7.2 Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
11.7.3 Op¶erations sur les collections . . . . . . . . . . . . . . . . . . . . . . 61
11.7.4 Expressions bool¶eennes quantifl¶ees . . . . . . . . . . . . . . . . . . . 62
11.7.5 Les groupes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
12 Exemples de BD OO sous Java 64
12.1 ObjectStore pour Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
12.1.1 Concepts de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
¶12.1.2 Etapes usuelles pour l’utilisation d’une BD object store . . . . . . . . 64
12.1.3 Langage de d¶eflnition des objets . . . . . . . . . . . . . . . . . . . . . 65
12.1.4 Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
12.1.5 Base de donn¶ees. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
12.1.6 Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
12.1.7 Persistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
12.1.8 Collection en Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
12.1.8.1 Collection (Bag) . . . . . . . . . . . . . . . . . . . . . . . . 70
12.1.8.2 Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.1.8.3 Liste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
12.1.8.4 Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
12.1.8.5 Choix d’un type de collection . . . . . . . . . . . . . . . . . 73
12.1.9 Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
12.1.10Compilation et postprocesseur . . . . . . . . . . . . . . . . . . . . . . 76
12.1.11Quelques commandes utilitaires . . . . . . . . . . . . . . . . . . . . . 76
12.1.12Analogie entre BD relationnelle et Object Store . . . . . . . . . . . . 76
12.2 FastObjects pour Java avec JDO . . . . . . . . . . . . . . . . . . . . . . . . 78
12.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
¶12.2.2 Etapes usuelles pour l’utilisation d’une BD FastObjects . . . . . . . . 78
12.2.3 Langage de d¶eflnition des objets . . . . . . . . . . . . . . . . . . . . . 78
12.2.4 Compilation et post-processeur . . . . . . . . . . . . . . . . . . . . . 79
12.2.5 Persistence Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
12.2.6 Base de donn&

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents