bases de donnéestranslate this page · 19.11 exploitation des constructions sql3 640 19.11.1le...

30
Bases de données

Upload: hakien

Post on 14-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Basesde données

Page 2: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

InformatiqueJoëlle Delacroix et al.480 pagesDunod, 2017

Le langage R au quotidien - Traitement et analyse de données volumineuses

Olivier Decourt288 pages

Dunod, 2018

Page 3: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Concepts, utilisation et développement

Basesde données

Jean-Luc HainautProfesseur à la faculté d’informatique,

directeur de recherche au centre PReCISE, université de Namur

3e édition4e édition

Page 4: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

© Dunod, 2009, 201811 rue Paul Bert, 92240 Malakoff

www.dunod.comISBN 978-2-10-078460-8

Toutes les marques citées dans cet ouvragesont des marques déposées par leurs propriétaires respectifs

Page 5: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Grand éditeur de SGBD SQL observant avec ironie,condescendance mais aussi un appétit non dissimulé lesefforts des SGBD dits NoSQL1.

1. Référence allégorique à la section 1.7.8. Linogravure, B. Hainaut, 2004

Dunod-2018-Hainaut.book Page 5 Thursday, May 24, 2018 11:55 AM

Page 6: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Dunod-2018-Hainaut.book Page 6 Thursday, May 24, 2018 11:55 AM

Page 7: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

© D

unod

– T

oute

repr

oduc

tion

non

auto

risée

est

un

délit

.

Table des matières

AVANT-PROPOS 27

CHAPITRE 1 • MOTIVATION ET INTRODUCTION 331.1 Des données et des hommes 331.2 Une première approche des données 341.3 Utiliser une base de données 381.4 Premières conclusions 391.5 Les systèmes de gestion de bases de données 401.6 Les défis des bases de données d’aujourd’hui 411.7 Un peu d’histoire 42

1.7.1 Le modèle collectiviste : CODASYL DBTG 431.7.2 La pensée unique : IMS 441.7.3 La naissance du modèle relationnel 441.7.4 Apparition d’un nouvel acteur : l’utilisateur final 451.7.5 La guerre des modèles 451.7.6 La chute d’Icare 461.7.7 Le modèle relationnel : la suite de l’histoire 461.7.8 Cronos dévore ses enfants 47

PARTIE 1CONCEPTS DES BASES DE DONNÉES

CHAPITRE 2 • CONCEPTS DES BASES DE DONNÉES 492.1 Introduction 492.2 Tables, lignes et colonnes 502.3 La valeur null 51

Dunod-2018-Hainaut.book Page 7 Thursday, May 24, 2018 11:55 AM

Page 8: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

8 Bases de données

2.4 Les identifiants 522.5 Les clés étrangères 532.6 Identifiants et clés étrangères facultatifs 542.7 Schéma et contenu d’une base de données 552.8 Représentation graphique d’un schéma 552.9 Un exemple de base de données 572.10 Modification et contraintes d’intégrité 58

2.10.1 Les colonnes obligatoires 582.10.2 Les contraintes d’unicité (identifiants) 602.10.3 Les contraintes référentielles (clés étrangères) 60

2.11 Redondances internes dans une table 622.11.1 Le phénomène de redondance interne 622.11.2 Normalisation par décomposition 63

2.12 Les structures physiques 652.13 Que retenir ? 662.14 Pour en savoir plus 672.15 Pratiquer les bases de données 672.16 Exercices 69

CHAPITRE 3 • MODÈLE RELATIONNEL ET NORMALISATION 713.1 Le phénomène de redondance interne 713.2 Le modèle relationnel de bases de données 72

3.2.1 Concepts de base 723.2.2 Opérateurs d’extraction de données 73

3.3 Identifiants 763.4 Dépendances fonctionnelles 77

3.4.1 Le phénomène de dépendance fonctionnelle 773.4.2 Un exemple plus complexe 783.4.3 Graphe ADF d’une relation (attributs et DF) 793.4.4 Propriétés des dépendances fonctionnelles 79

3.5 Contraintes d’inclusion et clés étrangères 823.6 Calcul des identifiants d’une relation 85

3.6.1 Relation entre identifiants et dépendances fonctionnelles 853.6.2 La relation possède un seul identifiant 863.6.3 La relation possède plusieurs identifiants 873.6.4 Rôle des attributs racines 88

3.7 Décomposition d’une relation 89

Dunod-2018-Hainaut.book Page 8 Thursday, May 24, 2018 11:55 AM

Page 9: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Table des matières 9©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

délit

.

3.8 Normalisation d’une relation 903.8.1 Réexamen du phénomène de redondance interne 913.8.2 Analyse du phénomène 913.8.3 Relation normalisée 923.8.4 Normalisation d’une relation 923.8.5 Normalisation d’un noyau irréductible 953.8.6 SGBD et dépendances fonctionnelles 97

3.9 Les relations non en 1re forme normale 973.10 Que retenir ? 1003.11 Pour en savoir plus 1023.12 Exercices 102

CHAPITRE 4 • ÉLÉMENTS DE TECHNOLOGIE DES BASES DE DONNÉES 1054.1 Introduction 1054.2 Les composants d’un ordinateur 1064.3 Mémoire externe : le disque magnétique 107

4.3.1 Géométrie d’un disque 1074.3.2 Lecture et écriture de données sur un disque 1094.3.3 Optimisation : tampon d’échange et lecture anticipée 111

4.4 Les technologies alternatives 1134.4.1 Les disques RAID 1134.4.2 Les disques électroniques (SSD) 1154.4.3 Les disques hybrides 1174.4.4 Les mémoires à bande 1174.4.5 Les machines de bases de données 118

4.5 Organisation d’un espace de stockage 1204.5.1 Structure d’un fichier 1204.5.2 Allocation d’espace à un fichier 1214.5.3 Structure des enregistrements d’un fichier 1214.5.4 Rangement des enregistrements dans un fichier 1214.5.5 Le phénomène de fragmentation d’un fichier 1234.5.6 Organisation des fichiers sur le support 124

4.6 Traitement séquentiel d’un fichier 1244.6.1 Lecture séquentielle d’un fichier 1254.6.2 Tri d’un fichier séquentiel 128

4.7 Les index 1324.8 Organisation séquentielle indexée 134

4.8.1 Structure d’un fichier séquentiel indexé 1344.8.2 Lecture et modification d’un fichier séquentiel indexé 135

Dunod-2018-Hainaut.book Page 9 Thursday, May 24, 2018 11:55 AM

Page 10: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

10 Bases de données

4.8.3 Caractéristiques et performances d’un fichier séquentiel indexé 1384.8.4 Étude de cas 145

4.9 Organisation calculée 1464.9.1 Principes de l’accès calculé 1464.9.2 Fonction de calcul d’adresse 1474.9.3 Gestion des débordements 1494.9.4 Caractéristiques et performances d’un fichier à accès calculé 1504.9.5 Chargement et réorganisation d’un fichier à organisation calculée 1534.9.6 Comparaison des deux techniques d’index primaires 154

4.10 Les index secondaires 1544.10.1 Structure d’un index secondaire par listes de pointeurs 1554.10.2 Performances d’un index secondaire par listes de pointeurs 1564.10.3 Structure d’un index bitmap 1594.10.4 Les index partiels 1594.10.5 Les index sur expression 1594.10.6 Les index secondaires augmentés 1594.10.7 Disponibilité des techniques d’indexation primaires et secondaires 161

4.11 Accès par index ou recherche séquentielle ? 1614.12 Quand créer un index ? 1614.13 Les techniques d’agrégation (clustering) 162

4.13.1 Clustering index 1634.13.2 Clusters 1634.13.3 Performances des techniques d’agrégation 164

4.14 Stabilité des adresses 1654.15 Un exemple : SQL Server 1674.16 Compléments sur les fonctions de hachage 169

4.16.1 Le prédicteur à hachage (filtre de Bloom) 1694.16.2 Hachage cryptographique (Secure hashing) 1704.16.3 Notion d’identifiant universel (UUID) 171

4.17 Futurologie : un peu de poésie dans ce monde brutes ! 1724.17.1 Les mémoires ADN 1724.17.2 Les mémoires atomiques 1734.17.3 Les bases de données quantiques 174

4.18 Que retenir ? 1764.19 Pour en savoir plus 1774.20 Exercices 177

Dunod-2018-Hainaut.book Page 10 Thursday, May 24, 2018 11:55 AM

Page 11: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Table des matières 11©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

délit

.

CHAPITRE 5 • LES SYSTÈMES DE GESTION DE BASES DE DONNÉES 1815.1 Introduction 1815.2 Les fonctions des systèmes de gestion de bases de données 1825.3 Architecture des SGBD 1845.4 Les transactions 1865.5 Régulation de la concurrence 188

5.5.1 Mise à jour perdue 1895.5.2 Données instables 1895.5.3 Régulation de la concurrence par verrouillage 1905.5.4 Sérialisabilité et verrouillage en 2 phases (2PL) 1915.5.5 Interblocage 1915.5.6 Les niveaux d’isolation 192

5.6 Protection contre les accidents 1935.6.1 Sauvegardes et journaux 1935.6.2 Reprise à froid 1945.6.3 Reprise à chaud 1945.6.4 Les fichiers différentiels 195

5.7 Les bases de données distribuées 1965.7.1 Un premier exemple 1965.7.2 Les types de distribution 1985.7.3 Partitionnement du réseau 1995.7.4 Le commit en deux phases (2PC) 2005.7.5 Distribution des traitements 200

5.8 Contrôle des accès 2015.8.1 Les modèles de contrôle d’accès 2015.8.2 Protection des données privées - Inférence statistique 202

5.9 Les bases de données in-memory 2045.10 Le marché des SGBD relationnels 2055.11 Pour en savoir plus 206

PARTIE 2UTILISATION DES BASES DE DONNÉES

CHAPITRE 6 • LE LANGAGE SQL DDL 2076.1 Introduction 2076.2 Le langage SQL DDL 2086.3 Création d’un schéma 2086.4 Les noms SQL 209

Dunod-2018-Hainaut.book Page 11 Thursday, May 24, 2018 11:55 AM

Page 12: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

12 Bases de données

6.5 Création d’une table 2096.6 Les colonnes et leurs types 2096.7 Caractère obligatoire/facultatif d’une colonne 2116.8 Les identifiants 2126.9 Les clés étrangères 2126.10 Forme synthétique des contraintes 2156.11 Exemple complet 2156.12 Suppression d’une table 2166.13 Ajout, retrait et modification d’une colonne 2166.14 Ajout et retrait d'une contrainte 2166.15 Les structures physiques 2176.16 Que retenir ? 2186.17 Pour en savoir plus 218

CHAPITRE 7 • LE LANGAGE SQL DML (1) 2197.1 Introduction 2197.2 Requêtes élémentaires 221

7.2.1 Extraction simple 2217.2.2 Extraction de lignes sélectionnées 2227.2.3 Lignes dupliquées dans le résultat 2237.2.4 Des conditions de sélection plus complexes 2247.2.5 Expressions composées 226

7.3 Données extraites et données dérivées 2277.3.1 Les fonctions SQL 2277.3.2 Les registres du système 229

7.4 Ordre des lignes du résultat 2307.5 Les fonctions agrégatives (ou statistiques) 2317.6 Les sous-requêtes 233

7.6.1 Condition d’association par sous-requête 2347.6.2 Sous-requête et clé étrangère composite 2357.6.3 Attention aux conditions d’association négatives 2357.6.4 Références multiples à une même table 237

7.7 Les quantificateurs ensemblistes 2397.8 Exercices 241

Dunod-2018-Hainaut.book Page 12 Thursday, May 24, 2018 11:55 AM

Page 13: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Table des matières 13©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

délit

.

CHAPITRE 8 • LE LANGAGE SQL DML (2) 2458.1 Introduction 2458.2 Extraction de données de plusieurs tables (jointure) 246

8.2.1 La jointure de plusieurs tables 2468.2.2 Conditions de jointure et conditions de sélection 2478.2.3 Lignes célibataires et jointures externes 248

8.3 Les opérateurs ensemblistes 2488.4 Le produit relationnel 2508.5 Variantes syntaxiques de la jointure 2518.6 Les tables statiques 2538.7 Requêtes sur des structures cycliques 2538.8 Compléments sur les jointures 258

8.8.1 Sous-requête ou jointure? 2588.8.2 Valeurs dérivées dans une jointure 2608.8.3 Les jointures généralisées 2608.8.4 Interprétation du résultat d’une jointure 262

8.9 Extraction de données groupées 2658.9.1 Notion de groupe de lignes 2658.9.2 Sélection de groupes et sélection de lignes 2668.9.3 Groupes et jointures 2678.9.4 Composition de la liste select 2688.9.5 Composition du critère de groupement 2698.9.6 Attention aux groupements multiniveaux 2708.9.7 Peut-on éviter l’utilisation de données groupées ? 271

8.10 Extension de la structure des requêtes SFW 2718.10.1 Extension de la clause select 2718.10.2 Extension de la clause from 272

8.11 Limitation de la taille d’un résultat 2738.12 Interprétation d’une requête 2738.13 Modification des données 274

8.13.1 Ajout de lignes 2748.13.2 Suppression de lignes 2768.13.3 Modification de lignes 2768.13.4 À propos de la gestion des verrous 2778.13.5 Mise à jour et contraintes d’unicité 2778.13.6 Mise à jour et contraintes référentielles 2788.13.7 Déterminisme des requêtes SQL 278

8.14 Modification des structures de données 2808.15 Que retenir ? 281

Dunod-2018-Hainaut.book Page 13 Thursday, May 24, 2018 11:55 AM

Page 14: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

14 Bases de données

8.16 Pour en savoir plus 2828.17 Exercices 282

CHAPITRE 9 • LE LANGAGE SQL AVANCÉ 2879.1 Introduction 2879.2 Le contrôle d’accès 2879.3 Les vues SQL 290

9.3.1 Principes et objectifs des vues 2909.3.2 Définition et utilisation d’une vue 2909.3.3 Les vues comme interface pour des besoins particuliers 2919.3.4 Les vues comme mécanisme de contrôle d’accès 2919.3.5 Les vues comme mécanisme d’évolution de la base de données 2929.3.6 Les vues comme aide à l’expression de requêtes complexes 2929.3.7 Mise à jour des données via une vue 293

9.4 Les Common Table Expressions (CTE) 2949.5 Les requêtes récursives 2949.6 Les extensions objet de SQL3 297

9.6.1 Types de données complexes (row et array) 2989.6.2 Type défini par l’utilisateur (TDU) 3009.6.3 Table typée 3009.6.4 Hiérarchie de types 3019.6.5 Hiérarchie de tables typées 3029.6.6 Références entre tables 3049.6.7 Remarques finales 305

9.7 Les prédicats (check) 3059.8 Les procédures SQL (stored procedures) 3079.9 Les déclencheurs (triggers) 3089.10 Le catalogue 3139.11 Les interfaces SQL des programmes d’application 316

9.11.1 L’interface SQL statique classique 3189.11.2 SQLJ : une interface statique pour Java 3219.11.3 L’interface SQL dynamique classique 3239.11.4 JDBC : une interface CLI-SQL dynamique pour Java 3269.11.5 Comparaison des modèles d’interaction 3289.11.6 Un problème de sécurité : l’injection de code SQL 329

9.12 SQL et l’information incomplète 3319.12.1 Introduction 3319.12.2 La valeur null de SQL 3319.12.3 La logique ternaire de SQL 332

Dunod-2018-Hainaut.book Page 14 Thursday, May 24, 2018 11:55 AM

Page 15: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Table des matières 15©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

délit

.

9.12.4 La propagation de null en SQL 3329.12.5 La propagation de unknown en SQL 3329.12.6 Les problèmes de l’information incomplète en SQL 3349.12.7 Deux recommandations 339

9.13 Que retenir ? 3409.14 Pour en savoir plus 341

CHAPITRE 10 • LES BASES DE DONNÉES NON RELATIONNELLES 34310.1 Introduction 34310.2 Les bases de données NoSQL 345

10.2.1 Modèles clé-valeur 34610.2.2 Modèles orientés documents 34710.2.3 Modèles orientés colonnes 347

10.3 Les autres modèles non relationnels 34810.4 Les architectures de distribution 349

10.4.1 La cohérence finale 34910.4.2 Les protocoles à quorum 35010.4.3 Le théorème CAP 351

10.5 Un SGBD orienté colonnes : Cassandra 35110.6 Un SGBD orienté documents : MongoDB 35510.7 Les SGBD NewSQL : l’exemple de VoltDB 35810.8 Conclusions sur les SGBD NoSQL 35910.9 Les chaînes de blocs 361

10.9.1 Principes généraux 36210.9.2 Le protocole BitCoin 36610.9.3 Le protocole Ethereum 370

10.10 Pour en savoir plus 373

PARTIE 3DÉVELOPPEMENT DES BASES DE DONNÉES

CHAPITRE 11 • CONSTRUCTION D’UNE BASE DE DONNÉES 37511.1 De l’artisanat à la méthode 37511.2 Les acteurs et les métiers 37611.3 Deux parcours 37711.4 Une démarche simplifiée 37711.5 Les outils 378

Dunod-2018-Hainaut.book Page 15 Thursday, May 24, 2018 11:55 AM

Page 16: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

16 Bases de données

CHAPITRE 12 • LE MODÈLE ENTITÉ-ASSOCIATION DE BASE 37912.1 Introduction 37912.2 Les types d’entités 38012.3 Les attributs 38112.4 Les types d’associations 382

12.4.1 Rôles d’un type d’associations 38212.4.2 Propriétés d’un type d’associations 38312.4.3 Classe fonctionnelle d’un type d’associations 38312.4.4 Type d’associations (ou rôle) obligatoire ou facultatif 38512.4.5 Cardinalités d’un type d’associations 38612.4.6 Type d’associations cyclique 38612.4.7 Représentation graphique des populations 387

12.5 Une question de vocabulaire 38712.6 Les identifiants 388

12.6.1 Identifiants hybrides 38912.6.2 Composition des identifiants 39012.6.3 Identifiants minimaux et identifiants implicites 39112.6.4 Importance du concept d’identifiant 392

12.7 Les contraintes d’intégrité 39312.7.1 Contraintes de base 39312.7.2 Contraintes additionnelles 393

12.8 Contenu informationnel d’un schéma 39312.9 Exemples 395

12.9.1 Une structure administrative 39512.9.2 Gestion d’une bibliothèque 39612.9.3 Voyages en train 397

12.10 Que retenir ? 39812.11 Pour en savoir plus 39912.12 Dessiner un schéma conceptuel à l’aide d’un outil 39912.13 Exercices 400

CHAPITRE 13 • ÉLABORATION D’UN SCHÉMA CONCEPTUEL 40313.1 Introduction 40313.2 Un premier exemple 40413.3 Décomposition de l’énoncé 406

13.3.1 Notion de proposition élémentaire 40613.3.2 Cardinalités 40713.3.3 Propositions générales et propositions particulières 408

Dunod-2018-Hainaut.book Page 16 Thursday, May 24, 2018 11:55 AM

Page 17: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Table des matières 17©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

délit

.

13.3.4 Attention aux propositions complexes irréductibles ! 40813.3.5 Les propositions non binaires réductibles 411

13.4 Pertinence d’une proposition 41113.5 Représentation d’une proposition 412

13.5.1 Nouveau type d’entités et son attribut 41213.5.2 Type d’associations entre types d’entités existants 41313.5.3 Attribut d’un type d’entités existant 41313.5.4 Nouveau type d’entités et ses deux attributs 41413.5.5 Restructuration pour intégration 41413.5.6 Propriétés multivaluées 41713.5.7 Recommandations pratiques 420

13.6 Non-redondance des propositions 42113.6.1 Redondance explicite 42113.6.2 Variantes d’expression 42113.6.3 Redondance indirecte 42113.6.4 Redondance apparente 42213.6.5 Synonymes et homonymes 422

13.7 Non-contradiction des propositions 42313.8 Les contraintes d’intégrité 42413.9 Normalisation du schéma 425

13.9.1 Simplification du schéma 42513.9.2 Élimination des redondances internes 425

13.10 Documentation du schéma 42713.11 Complétude du schéma 42813.12 Que retenir ? 42813.13 Pour en savoir plus 42913.14 Exercices 429

CHAPITRE 14 • PRODUCTION DU SCHÉMA DE LA BASE DE DONNÉES 43314.1 Introduction 43314.2 Représentation des types d’entités 43414.3 Représentation des attributs 43414.4 Représentation des types d’associations 434

14.4.1 Types d’associations un-à-plusieurs (1:N) 43414.4.2 Types d’associations un-à-un (1:1) 43614.4.3 Types d’associations plusieurs-à-plusieurs (N:N) 43814.4.4 Types d’associations cycliques 439

14.5 Représentation des identifiants 439

Dunod-2018-Hainaut.book Page 17 Thursday, May 24, 2018 11:55 AM

Page 18: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

18 Bases de données

14.6 Traduction des noms 44014.7 Synthèse des règles de traduction 44114.8 Les structures physiques 44214.9 Traduction des structures en SQL 44414.10 Que retenir ? 44514.11 Pour en savoir plus 44614.12 Produire un schéma de base de données à l’aide d’un outil 44614.13 Exercices 447

CHAPITRE 15 • MÉTHODOLOGIE DES BASES DE DONNÉES 44915.1 Introduction 44915.2 Méthodes, processus et produits 45015.3 Méthodes de développement d’une base de données 45115.4 Les modèles de développement 45615.5 Techniques transformationnelles 45815.6 Rôle des outils 458

CHAPITRE 16 • LE MODÈLE ENTITÉ-ASSOCIATION ÉTENDU 45916.1 Introduction 45916.2 Le modèle de base - rappel 46016.3 Sémantiques 46116.4 Modèle, schéma et population 46216.5 Les stéréotypes 46416.6 Schéma de base de données 46516.7 Attributs 465

16.7.1 Attributs composés 46516.7.2 Attributs multivalués 46516.7.3 Attributs complexes 46616.7.4 Domaine et type d’un attribut 46616.7.5 Cardinalité d’un attribut 468

16.8 Types d’associations 46816.8.1 Types d’associations fonctionnels 46816.8.2 Types d’associations n-aires 46816.8.3 Types d’associations à rôles polymorphiques 46916.8.4 Attributs de type d’associations 47016.8.5 Généralisation des cardinalités des rôles 47016.8.6 Taille de la population d’un type d’associations 470

Dunod-2018-Hainaut.book Page 18 Thursday, May 24, 2018 11:55 AM

Page 19: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Table des matières 19©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

délit

.

16.9 Types d’entités 47216.9.1 Relation de généralisation-spécialisation (relation is-a) 47216.9.2 Propriétés et contraintes ensemblistes des sous-types 47316.9.3 L’héritage 47416.9.4 Les sous-types non disjoints sont-ils vraiment utiles ? 47616.9.5 Surtypes et héritage multiples 47716.9.6 Contraintes portant sur des composants hérités 47916.9.7 Répartitions multiples 47916.9.8 Règle de répartition en sous-types 479

16.10 Identifiants 48116.10.1Identifiants d’un type d’entités 48116.10.2Identifiants d’un type d’associations 48316.10.3Identifiants d’un attribut complexe 486

16.11 Contraintes d’intégrité 48616.11.1Contraintes de domaine 48716.11.2Contraintes entre valeurs 48716.11.3Contraintes d’existence 48716.11.4Dépendances fonctionnelles 489

16.12 Contraintes d’intégrité additionnelles 49016.12.1Expression des contraintes 49016.12.2Remarques sur les langages d’expression de contraintes 49116.12.3Cycles et contraintes cycliques 49216.12.4Propriétés des graphes d’instances 49316.12.5Contraintes de redondance 494

16.13 Les noms 49416.13.1Règles de dénomination 49416.13.2Dénomination des attributs 49516.13.3Dénomination des types d’associations 496

16.14 Classes d’objets génériques 49716.14.1Type d’associations de composition 49716.14.2Type d’associations de matérialisation 498

16.15 Exemple de schéma Entité-association 50016.16 Métadonnées et métaschémas 500

16.16.1Une première approche : le catalogue d’une base de données 50116.16.2Métaschéma du modèle Entité-association 502

16.17 Sémantique interne du modèle Entité-association 50316.17.1Types d’entités et relations is-a 50316.17.2Types d’associations 50316.17.3Attributs 50416.17.4Attributs et rôles obligatoires 504

Dunod-2018-Hainaut.book Page 19 Thursday, May 24, 2018 11:55 AM

Page 20: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

20 Bases de données

16.17.5Identifiants 50416.17.6Autres contraintes 50516.17.7Application de la théorie relationnelle au modèle Entité-association 505

16.18 Que retenir ? 50616.19 Pour en savoir plus 50616.20 Créer un schéma conceptuel à l’aide d’un outil (compléments) 50816.21 Exercices 508

CHAPITRE 17 • LES DIAGRAMMES DE CLASSES UML 51317.1 Introduction 51317.2 UML et les bases de données 51417.3 Les mécanismes d’extension 51517.4 Les classes d’objets 51617.5 Les associations binaires 51617.6 Les associations n-aires 517

17.6.1 Multiplicité maximale (max) 51817.6.2 Multiplicité minimale (min) 518

17.7 Les attributs 51917.8 Les opérations 51917.9 Les associations qualifiées 52017.10 Les classes associations 52217.11 Les associations d’agrégation et de composition 52217.12 Les contraintes 52317.13 Le langage de contraintes OCL 52417.14 Une question de vocabulaire 52717.15 Exemple de schéma de classes en UML 52717.16 Le modèle de classes d’UML revisité (DB-UML) 52717.17 Sémantique du modèle de classes DB-UML 52917.18 Que retenir ? 53117.19 Pour en savoir plus 53117.20 Créer un schéma conceptuel UML à l’aide d’un outil 532

CHAPITRE 18 • ANALYSE CONCEPTUELLE DU DOMAINE D’APPLICATION 53318.1 Introduction 53318.2 Analyse des énoncés textuels 536

18.2.1 Proposition existentielle 53618.2.2 Proposition relationnelle binaire 537

Dunod-2018-Hainaut.book Page 20 Thursday, May 24, 2018 11:55 AM

Page 21: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Table des matières 21©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

délit

.

18.2.3 Proposition relationnelle n-aire 54018.2.4 Intégration d’une proposition dans un schéma 544

18.3 Les patrons de conception 54518.4 Analyse des documents structurés 547

18.4.1 Analyse des documents de l’organisation 54718.4.2 Analyse d’un écran de saisie de données 54918.4.3 Analyse d’un document papier 550

18.5 Dénomination des objets d’un schéma 55118.6 Processus de correction d’un schéma 552

18.6.1 Constructions syntaxiquement incorrectes 55318.6.2 Constructions non satisfiables et incohérentes 554

18.7 Processus de normalisation du schéma conceptuel 55818.7.1 Simplification des constructions non minimales 56018.7.2 Explicitation des constructions insuffisamment expressives 56418.7.3 Élimination des redondances structurelles 57018.7.4 Élimination des redondances internes 57218.7.5 Autres critères de qualité 575

18.8 Évaluation d’un schéma 57518.8.1 Paraphrase du schéma 57618.8.2 Prototypage de la base de données 57718.8.3 Inférence structurelle 57718.8.4 Les heuristiques d’erreurs 57818.8.5 Remarque 578

18.9 Intégration de schémas 57918.9.1 Scénarios d’intégration 58018.9.2 Principes de l’intégration binaire de schémas 58018.9.3 Intégration basée sur les correspondances 58118.9.4 Repérage des objets en correspondance 58618.9.5 Unification : le cas des correspondances hétérogènes 58718.9.6 Normalisation et résolution de conflits sémantiques 58818.9.7 Compléments 58918.9.8 Étude de cas 591

18.10 Analyse conceptuelle à l’aide d’un atelier 59518.10.1Transformation de schémas 59518.10.2Analyse de schémas 59718.10.3Intégration de schémas 597

18.11 Que retenir ? 59818.12 Pour en savoir plus 59818.13 Exercices 600

Dunod-2018-Hainaut.book Page 21 Thursday, May 24, 2018 11:55 AM

Page 22: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

22 Bases de données

CHAPITRE 19 • CONCEPTION LOGIQUE D’UNE BASE DE DONNÉES RELATIONNELLE 60519.1 Introduction 60519.2 Le modèle logique relationnel 607

19.2.1 Le modèle relationnel de base 60719.2.2 Le modèle relationnel enrichi 608

19.3 Représentation des attributs 61019.3.1 Représentation d’un attribut simple 61019.3.2 Représentation d’un attribut composé 61019.3.3 Représentation d’un attribut multivalué 61319.3.4 Représentation d’un attribut composé multivalué 61419.3.5 Traduction des types et domaines de valeurs 61519.3.6 Compléments 616

19.4 Retour aux types d’associations fonctionnels 61719.5 Représentation des types d’associations complexes 618

19.5.1 Types d’associations n-aires, avec attributs et/ou contraintes 61819.5.2 Représentation d’un type d’associations à rôle polymorphique 61819.5.3 Clé étrangère et identifiant absent 620

19.6 Représentation des relations is-a 62019.6.1 Les trois techniques de base 62119.6.2 Représentation de relations is-a par matérialisation 62219.6.3 Représentation de relations is-a par héritage descendant 62619.6.4 Représentation de relations is-a par héritage ascendant 62719.6.5 Évaluation comparative 62819.6.6 Hiérarchies multiples et clés étrangères liées 629

19.7 Compléments 63019.7.1 Les identifiants facultatifs 63019.7.2 Les identifiants primaires complexes 63119.7.3 Traduction des contraintes conceptuelles 63219.7.4 Noms des objets 63219.7.5 Delete et update modes des clés étrangères 63219.7.6 Au sujet des rôles de cardinalité [1-N] 633

19.8 Traduction d’un schéma conceptuel 63419.8.1 Choix des représentations privilégiées 63419.8.2 Construction du plan de transformation 63619.8.3 Limitations d’un plan de transformation 63619.8.4 Validation d’un plan de transformation 637

19.9 Définition des vues 63819.10 Conception logique : un exemple 638

Dunod-2018-Hainaut.book Page 22 Thursday, May 24, 2018 11:55 AM

Page 23: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Table des matières 23©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

délit

.

19.11 Exploitation des constructions SQL3 64019.11.1Le modèle relationnel objet 64219.11.2Représentation des attributs complexes 64219.11.3Représentation des hiérarchies is-a de types d’entités 64219.11.4Conception logique relationnelle objet : un exemple 64319.11.5Extension de la méthode 643

19.12 Produire un schéma logique à l'aide d'un outil 64419.12.1Transformation de schémas 64419.12.2Analyse de schémas 646

19.13 Que retenir ? 64619.14 Pour en savoir plus 64719.15 Exercices 648

CHAPITRE 20 • CONCEPTION PHYSIQUE D’UNE BASE DE DONNÉES RELATIONNELLE 65320.1 Introduction 65320.2 Notion d’efficacité d’une base de données 65520.3 Conception physique d’une base de données en 15 règles 65620.4 Détermination des index 656

20.4.1 Index induits par les structures logiques 65620.4.2 Index induits par l’utilisation des données 65720.4.3 Index à écarter 65820.4.4 Maintenance du jeu d’index 659

20.5 Technologie des index 66020.6 Sélection des espaces de stockage 66120.7 Optimisation avancée 661

20.7.1 Restructurations sans redondance 66220.7.2 Redondances structurelles 66420.7.3 Dénormalisation 665

20.8 Estimation des volumes et des temps de traitement 66620.9 Complément : modèle de choix d’un index 66620.10 Que retenir ? 66720.11 Pour en savoir plus 66820.12 Exercices 668

CHAPITRE 21 • PRODUCTION DU CODE D’UNE BASE DE DONNÉES 67121.1 Introduction 67121.2 Expression déclarative des structures 67221.3 Les concepts SQL d’expression de contraintes 673

Dunod-2018-Hainaut.book Page 23 Thursday, May 24, 2018 11:55 AM

Page 24: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

24 Bases de données

21.4 Les comportements non standard 67521.5 Les contraintes d’intégrité de base 67721.6 Les contraintes d’intégrité additionnelles 67821.7 Les contraintes dérivées du modèle Entité-association 68121.8 Les contraintes d’intégrité dynamiques 68221.9 Traduction des relations is-a 683

21.9.1 Gestion à partir des tables de base 68321.9.2 Gestion via des vues modifiables 685

21.10 Traduction des vues 68821.11 Que retenir ? 68921.12 Génération du code à l'aide d'un outil 68921.13 Exercices 690

CHAPITRE 22 • RÉTRO-INGÉNIERIE D’UNE BASE DE DONNÉES 69322.1 Introduction 69322.2 Méthode générale de rétro-ingénierie 69722.3 Extraction physique 69822.4 Reconstruction du schéma logique 699

22.4.1 Les sources et leurs techniques d’analyse 69922.4.2 Recherche des constructions implicites 703

22.5 Conceptualisation du schéma logique 70522.6 Que retenir ? 70922.7 Pour en savoir plus 71022.8 Rétro-ingénierie à l'aide d'un outil 710

CHAPITRE 23 • ÉTUDE DE CAS 71123.1 Les animaux du zoo 711

23.1.1 Énoncé 71123.1.2 Construction du schéma conceptuel 71223.1.3 Production du schéma de tables et du code SQL 71323.1.4 Exploitation 715

23.2 Autres études de cas 718

CHAPITRE 24 • BIBLIOGRAPHIE 719

CHAPITRE 25 • INDEX 727

Dunod-2018-Hainaut.book Page 24 Thursday, May 24, 2018 11:55 AM

Page 25: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Table des matières 25©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

délit

.

ANNEXES

Les annexes sont disponibles en ligne sur le site de l’ouvrage, à l’adressehttp://www.info.fundp.ac.be/libd > Ouvrages

ou sur le site www.dunod.com sur la page dédiée à cet ouvrage

ANNEXE A1 • MOTIVATION ET INTRODUCTION

ANNEXE A2 • CONCEPTS DES BASES DE DONNÉES

ANNEXE A3 • MODÈLE RELATIONNEL ET NORMALISATION

ANNEXE A4 • ÉLÉMENTS DE TECHNOLOGIE DES BASES DE DONNÉES

ANNEXE A5 • LES SYSTÈMES DE GESTION DE BASES DE DONNÉES

ANNEXE A6 • LE LANGAGE SQL DDL

ANNEXE A7 • LE LANGAGE SQL DML (1)

ANNEXE A8 • LE LANGAGE SQL DML (2)

ANNEXE A9 • LE LANGAGE SQL AVANCÉ

ANNEXE A10 • LES BASES DE DONNÉES NON RELATIONNELLES

ANNEXE A11 • CONSTRUCTION D’UNE BASE DE DONNÉES

ANNEXE A12 • LE MODÈLE ENTITÉ-ASSOCIATION DE BASE

ANNEXE A13 • ÉLABORATION D’UN SCHÉMA CONCEPTUEL

ANNEXE A14 • PRODUCTION DU SCHÉMA DE LA BASE DE DONNÉES

ANNEXE A15 • MÉTHODOLOGIE DES BASES DE DONNÉES

Dunod-2018-Hainaut.book Page 25 Thursday, May 24, 2018 11:55 AM

Page 26: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

26 Bases de données

ANNEXE A16 • LE MODÈLE ENTITÉ-ASSOCIATION ÉTENDU

ANNEXE A17 • LES DIAGRAMMES DE CLASSES UML

ANNEXE A18 • ANALYSE CONCEPTUELLE DU DOMAINE D’APPLICATION

ANNEXE A19 • CONCEPTION LOGIQUE D’UNE BASE DE DONNÉES RELATIONNELLE

ANNEXE A20 • CONCEPTION PHYSIQUE D’UNE BASE DE DONNÉES RELATIONNELLE

ANNEXE A21 • PRODUCTION DU CODE D’UNE BASE DE DONNÉES

ANNEXE A22 • RÉTRO-INGÉNIERIE D’UNE BASE DE DONNÉES

ANNEXE A23 • ÉTUDES DE CAS

ANNEXE A24 • SQL, LES ENSEMBLES ET LA LOGIQUE

ANNEXE A25 • TRANSFORMATIONS DE SCHÉMAS

ANNEXE A26 • CONCEPTION LOGIQUE D’UNE BASE DE DONNÉES RELATIONNELLE OBJET

ANNEXE A27 • APPLICATIONS AVANCÉES DES BASES DE DONNÉES

ANNEXE A28 • INTRODUCTION À SQLfast

Dunod-2018-Hainaut.book Page 26 Thursday, May 24, 2018 11:55 AM

Page 27: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Avant-propos

Cet ouvrage est le fruit de plus de trente ans d’enseignement, de recherche et depratique, tant à l’université que dans les entreprises et les administrations. J’y airassemblé et structuré les concepts, les techniques et les méthodes du domaine desbases de données qui me sont apparus les plus utiles à l’informaticien, depuisl’étudiant jusqu’au praticien en passant par l’utilisateur motivé.

Le lecteur ne trouvera ici que ce qu’il est susceptible de rencontrer dans sapratique.1 Même les sections un peu plus théoriques ont leur utilité, soit pourrésoudre un problème concret de manière rigoureuse, soit pour mieux comprendrel’un ou l’autre concept délicat ou controversé. En revanche, le lecteur intéressé parles détails techniques propres à un SGBD particulier trouvera ceux-ci dans l’abon-dante littérature qui leur est consacrée, tant sur le web que dans les librairies.

J’ai donc résisté à la tentation de l’encyclopédisme, qui voudrait que je traite ici,comme il est souvent d’usage dans un ouvrage généraliste, de thèmes tels que lesdépendances multivaluées, la quatrième forme normale, le calcul relationnel (ouDatalog), l’optimisation des requêtes, les bases de données orientées objet, déduc-tives, XML ou multimédias. Malgré leur incontestable intérêt je les ai écartés de latable des matières dans la mesure où ils restent marginaux par rapport au cœur demétier de l’informaticien.

Avant de décrire plus en détail les objectifs et le mode d’emploi de l’ouvrage, jevoudrais remercier tous ceux qui, jadis ou aujourd’hui, de loin ou de près, peu ouprou, ont contribué à son élaboration. Certains ont été, ou sont encore, des collabo-rateurs de recherche. D’autres sont des collègues avec lesquels j’ai à l’occasion desdiscussions sur des points particuliers techniques ou théoriques.

Je pense en particulier, dans le désordre, à Véronique Goemans, Yves Delvaux,Lysiane Goffaux, Jean-Pierre Thiry, Alain Delcourt, Benoît Vanhoute, CarineCharlot, Bertrand Mignon, Catherine Tonneau, Muriel Chandelon, Michel Joris,

1. À une exception près, que le lecteur est invité à identifier !

Dunod-2018-Hainaut.book Page 27 Thursday, May 24, 2018 11:55 AM

Page 28: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

28 Avant-propos

Mario Cadelli, Bernard Decuyper, Olivier Marchand, Jean Henrard, Jean-MarcHick, Vincent Englebert, Didier Roland, Alain Gofflot, Pierre Delvaux, Anne-France Brogneaux, Arnaud Deflorenne, Stéphane Bodart, Majid Chougrani,Philippe Thiran, Virginie Detienne, Denis Zampunieris, Christine Delcroix, AuroreFrançois, Fabrice Estiévenart, Frédéric Vesentini, Jean-Roch Meurisse, Julien Vilz,Ravi Ramdoyal, Anthony Cleve, Jonathan Lemaitre, Karin Becker, Yannis Tzit-zikas, Rokia Bendaoud, Cédric Libert, Gilles Perrouin, François Bodart, PatrickHeymans, Wim Vanhoof et Yves Pigneur. Une pensée toute particulière à Anne-France, Vincent et Anthony, pour leur aide dans le décryptage de SQL lorsqu’ontente de le pousser dans ses derniers retranchements. De nombreuses notes de cetouvrage leur sont dues.

Je remercie tous les étudiants auxquels j’ai enseigné dans les facultés d’informa-tique, d’économie, de gestion et de droit, cette discipline particulièrement riche etpassionnante qu’est celle des bases de données. Leurs questions, leurs suggestionset leurs difficultés sont à l’origine d’une partie significative de cet ouvrage. Celui-cileur est tout naturellement dédié. Qu’ils y pensent lorsque, en fin d’année, ils seronttentés de le vouer, lui et son auteur, aux gémonies !

Merci et bravo à ReveR et à ses aventuriers, qui ont à ce point cru en la valeur desrésultats des recherches de notre laboratoire qu’ils n’ont pas hésité à fonder en 2003,avec l’aide d’autres illuminés de la même eau, une société commerciale unique aumonde. Ils méritent toute mon admiration.

Merci enfin aux maisons d’édition Masson, InterEditions et Dunod pour leur aideet la confiance qu’elles m’ont accordée au fil des années.

Objectifs et structure de l’ouvrage

L’ouvrage a pour objectif d’offrir au lecteur un texte d’introduction aux bases dedonnées à la fois pratique, moderne et détaillé. Les concepts et les problèmes qu’ilaborde sont ceux que le lecteur, quel que soit son niveau de départ et quelles quesoient ses attentes (il s’adresse aussi bien à l’étudiant qu’au praticien) rencontrerasur le terrain. Sa structure générale suit une approche rationnelle : pour apprendre àutiliser les bases de données il faut au préalable en comprendre les concepts et pourapprendre à construire des bases de données il faut savoir les utiliser. L’ouvrage estpar conséquent structuré en trois parties : • La première, intitulée Concepts des bases de données, est constituée des quatre

chapitres qui décrivent les concepts fondamentaux des bases de données : lesstructures de données, leur implémentation, les systèmes de gestion de bases dedonnées et, pour les lecteurs plus curieux, des éléments du modèle relationnel etde la normalisation. Cette partie est complétée d’un chapitre sur les bases dedonnées non relationnelles, y compris les SGBD dits NoSQL, avec une extensionvers les chaînes de blocs.

• La deuxième partie, Utilisation des bases de données, décrit les différents aspectsdu langage SQL, depuis les formes et fonctions élémentaires jusqu’aux fonctionsavancées du modèle relationnel objet. Cette partie comprend quatre chapitres.

Dunod-2018-Hainaut.book Page 28 Thursday, May 24, 2018 11:55 AM

Page 29: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

Bases de données 29©

Dun

od –

Tou

te re

prod

uctio

n no

n au

toris

ée e

st u

n dé

lit.

• La troisième partie, Développement des bases de données, décrit de manièredétaillée les techniques et les méthodes de construction de bases de données rela-tionnelles et relationnelles objet. On y trouve également une introduction à larétro-ingénierie des bases de données. Cette partie constituée de treize chapitresest suivie d’une étude de cas complètement résolue et implémentée.

Chaque chapitre est prolongé par une annexe qui propose des exercices additionnelsainsi que des matériaux complémentaires. D’autres annexes transversales contien-nent des exposés de mise à niveau, des applications et des manuels pour les outilsutilisés dans cet ouvrage. Ces annexes et ces outils, ainsi que des matériaux complé-mentaires, destinés à l’étudiant, à l’enseignant et au praticien, sont disponibles enligne sur le site de l’ouvrage.

Les options de cet ouvrage

L’ouvrage a été structuré et rédigé sur la base de quelques principes suggérés parl’expérience et l’étude des besoins actuels en matière de bases de données.

Une approche pratique et pédagogique. Destiné à un public diversifié et évolutif,l’ouvrage adopte une démarche progressive et propose plusieurs parcours delecture. Le contenu de l’ouvrage est articulé autour de problèmes et de questionseffectivement rencontrés en pratique. Les aspects théoriques sont proposés dansla mesure où ils permettent de résoudre aisément et efficacement ces problèmes.Le texte inclut de nombreux exemples, exercices et études de cas, accompagnésde leurs solutions. Les concepts sont illustrés par des outils disponibles gratuite-ment (SQLfast et DB-Main) que le lecteur est invité à utiliser. La plupart deschapitres se clôturent par une synthèse (Que retenir ?), par des pistes d’approfon-dissement et un état de l’art (Pour en savoir plus) et par un jeu d’exercicescorrigés.

Un contenu et une approche modernes. L’ouvrage est destiné aux lecteursconfrontés aux problèmes que posent les systèmes d’information et les technolo-gies d’aujourd’hui. Il inclut des résultats récents issus de la recherche et del’industrie. Ainsi, des méthodes pratiques relatives au calcul des identifiants, à lanormalisation de schémas conceptuels, à la construction de bases de donnéesrelationnelles objet, aux bases de données NoSQL, aux chaînes de blocs et à larétro-ingénierie ont-elles été incluses dans cet ouvrage. Les méthodes d’ingé-nierie qu’il décrit sont basées sur des approches transformationnelles et peuventêtre mises en œuvre à l’aide d’outils (les AGL).

Une approche rigoureuse. L’ouvrage ne se contente pas de décrire les concepts etles méthodes à la manière d’une encyclopédie. Il construit progressivement unédifice cohérent et raisonné. Les techniques et les méthodes de résolution deproblèmes sont présentées, non comme des recettes prêtes à l’emploi, maiscomme le résultat naturel de raisonnements objectifs et rigoureux. Le lecteurpeut ainsi comprendre la rationalité de ces techniques et méthodes et en appré-hender les limites. Il peut dès lors se les approprier et les adapter à ses propresbesoins. Certaines parties délicates de l’exposé sont soutenues par des éléments

Dunod-2018-Hainaut.book Page 29 Thursday, May 24, 2018 11:55 AM

Page 30: Bases de donnéesTranslate this page · 19.11 Exploitation des constructions SQL3 640 19.11.1Le modèle relationnel objet 642 19.11.2Représentation des attributs complexes 642 19.11.3Représentation

30 Avant-propos

plus théoriques qui en garantissent la validité. Ainsi en est-il de la théorie rela-tionnelle et de la normalisation (chapitre 3).

Une approche critique. Les concepts, les technologies et les méthodes ne sont paslivrées comme allant de soi. Leur histoire, leurs points forts et leurs faiblessessont largement discutés. Pour citer quelques exemples, les normes SQL2 etSQL3, les valeurs null, le modèle relationnel objet, les modèles NoSQL, lemodèle Entité-association, les diagrammes de classes d’UML et les options choi-sies par les implémenteurs de SGBD sont analysés et critiqués, souvent demanière détaillée.

Publics cibles et parcours personnalisésCet ouvrage est destiné à la fois aux étudiants et enseignants, et aux professionnelsde l’informatique, auxquels il propose deux parcours différents : • Parcours introductif. Le lecteur ou l’étudiant débutant se contentera dans un

premier temps de la suite des neuf chapitres suivants : – Concepts : chapitres 1 et 2.– Utilisation : chapitres 6, 7 et 8 consacrés au langage SQL.– Développement : chapitres 11, 12, 13 et 14. Étude de cas : chapitre 23.Ces chapitres constituent un parcours d’initiation autonome couvrant les aspectsfondamentaux du domaine (figure 1). Il correspond à un module d’introductionaux bases de données de 30 heures, travaux pratiques non compris.

• Parcours complet. Il sera proposé au lecteur ou à l’étudiant à la recherche d’unexposé plus approfondi et plus technique du domaine. Les trois parties del’ouvrage sont constituées comme suit : – Concepts : chapitres 1 et 2 + chapitres 3, 4, 5 et 10– Utilisation : chapitres 6, 7, 8 et 9– Développement : chapitres 15, 16, 17, 18, 19, 20 et 21. Étude de cas : chapitre

23.Ces chapitres constituent un parcours de lecture complet couvrant en détaill’ensemble du domaine des bases de données (figure 2). Il correspond à unmodule approfondi de 60 heures, travaux pratiques non compris, ou encore à unmodule de 45 heures pour l’étudiant qui a suivi le parcours introductif.

En outre, il est possible de définir des parcours plus spécifiques et d’exploiter desmatériaux additionnels.• L’annexe A24 (SQL, les ensembles et la logique) constitue une mise à niveau utile

pour aborder les chapitres 3, 16 et 18. De même, l’annexe A25 détaille l’approchetransformationnelle utilisée informellement dans les chapitres 13, 14, 16, 18 et 19.L’annexe A28 est une introduction à SQLfast, outil dont nous parlerons plus loin.

• Les exercices et les applications sont essentiels pour maîtriser les concepts et lestechniques étudiés. On les trouvera à la fin de chaque chapitre ainsi que dans leursannexes respectives. En outre, les annexes A23 et A27 présentent des applicationset des études de cas de complexité variable.

Dunod-2018-Hainaut.book Page 30 Thursday, May 24, 2018 11:55 AM