FRENCH

Bases de données: Concepts, utilisation et développement

Book information

Publisher
Dunod
Year
2018
ISBN
9782100786725
Language
french
Format
PDF
Filesize
11 MB (11891704 bytes)
Edition
4e
Pages
704\733
Topic
Computers Databases
Time added
2021-12-31 18:21:44

Description

Ce manuel vise un triple objectif : comprendre les concepts théoriques, apprendre à utiliser des bases de données, et enfin savoir en construire de nouvelles. La première partie explique les notions de base sur les structures de données, les systèmes de gestion de bases de données, le modèle relationnel... La deuxième décrit le langage SQL et les fonctions qui permettent de tirer le meilleur parti d'une base de données. La dernière partie détaille les méthodes de construction des bases de données relationnelles puis des bases relationnelles-objet. L'ouvrage papier est complété par un site web comprenant des tutoriels, des exercices corrigés, des planches PowerPoint destinées aux enseignants. Ces tutoriels permettent à l'étudiant de mettre en pratique de manière active les notions expliquées dans le livre. Cette quatrième édition comporte des mises à jour sur les bases de données NoSQL, sur les nouveaux mécanismes de transaction ( WAL et MVCC) et sur les blockchains. Table des matières CHAPITRE 1 • MOTIVATION ET INTRODUCTION 1.1 Des données et des hommes 1.2 Une première approche des données 1.3 Utiliser une base de données 1.4 Premières conclusions 1.5 Les systèmes de gestion de bases de données 1.6 Les défis des bases de données d’aujourd’hui 1.7 Un peu d’histoire 1.7.1 Le modèle collectiviste : CODASYL DBTG 1.7.2 La pensée unique : IMS 1.7.3 La naissance du modèle relationnel 1.7.4 Apparition d’un nouvel acteur : l’utilisateur final 1.7.5 La guerre des modèles 1.7.6 La chute d’Icare 1.7.7 Le modèle relationnel : la suite de l’histoire 1.7.8 Cronos dévore ses enfants CHAPITRE 2 • CONCEPTS DES BASES DE DONNÉES 2.1 Introduction 2.2 Tables, lignes et colonnes 2.3 La valeur null 2.4 Les identifiants 2.5 Les clés étrangères 2.6 Identifiants et clés étrangères facultatifs 2.7 Schéma et contenu d’une base de données 2.8 Représentation graphique d’un schéma 2.9 Un exemple de base de données 2.10 Modification et contraintes d’intégrité 2.10.1 Les colonnes obligatoires 2.10.2 Les contraintes d’unicité (identifiants) 2.10.3 Les contraintes référentielles (clés étrangères) 2.11 Redondances internes dans une table 2.11.1 Le phénomène de redondance interne 2.11.2 Normalisation par décomposition 2.12 Les structures physiques 2.13 Que retenir ? 2.14 Pour en savoir plus 2.15 Pratiquer les bases de données 2.16 Exercices CHAPITRE 3 • MODÈLE RELATIONNEL ET NORMALISATION 3.1 Le phénomène de redondance interne 3.2 Le modèle relationnel de bases de données 3.2.1 Concepts de base 3.2.2 Opérateurs d’extraction de données 3.3 Identifiants 3.4 Dépendances fonctionnelles 3.4.1 Le phénomène de dépendance fonctionnelle 3.4.2 Un exemple plus complexe 3.4.3 Graphe ADF d’une relation (attributs et DF) 3.4.4 Propriétés des dépendances fonctionnelles 3.5 Contraintes d’inclusion et clés étrangères 3.6 Calcul des identifiants d’une relation 3.6.1 Relation entre identifiants et dépendances fonctionnelles 3.6.2 La relation possède un seul identifiant 3.6.3 La relation possède plusieurs identifiants 3.6.4 Rôle des attributs racines 3.7 Décomposition d’une relation 3.8 Normalisation d’une relation 3.8.1 Réexamen du phénomène de redondance interne 3.8.2 Analyse du phénomène 3.8.3 Relation normalisée 3.8.4 Normalisation d’une relation 3.8.5 Normalisation d’un noyau irréductible 3.8.6 SGBD et dépendances fonctionnelles 3.9 Les relations non en 1re forme normale 3.10 Que retenir ? 3.11 Pour en savoir plus 3.12 Exercices CHAPITRE 4 • ÉLÉMENTS DE TECHNOLOGIE DES BASES DE DONNÉES 4.1 Introduction 4.2 Les composants d’un ordinateur 4.3 Mémoire externe : le disque magnétique 4.3.1 Géométrie d’un disque 4.3.2 Lecture et écriture de données sur un disque 4.3.3 Optimisation : tampon d’échange et lecture anticipée 4.4 Les technologies alternatives 4.4.1 Les disques RAID 4.4.2 Les disques électroniques (SSD) 4.4.3 Les disques hybrides 4.4.4 Les mémoires à bande 4.4.5 Les machines de bases de données 4.5 Organisation d’un espace de stockage 4.5.1 Structure d’un fichier 4.5.2 Allocation d’espace à un fichier 4.5.3 Structure des enregistrements d’un fichier 4.5.4 Rangement des enregistrements dans un fichier 4.5.5 Le phénomène de fragmentation d’un fichier 4.5.6 Organisation des fichiers sur le support 4.6 Traitement séquentiel d’un fichier 4.6.1 Lecture séquentielle d’un fichier 4.6.2 Tri d’un fichier séquentiel 4.7 Les index 4.8 Organisation séquentielle indexée 4.8.1 Structure d’un fichier séquentiel index 4.8.2 Lecture et modification d’un fichier séquentiel index 4.8.3 Caractéristiques et performances d’un fichier séquentiel indexé 4.8.4 Étude de cas 4.9 Organisation calculée 4.9.1 Principes de l’accès calculé 4.9.2 Fonction de calcul d’adresse 4.9.3 Gestion des débordements 4.9.4 Caractéristiques et performances d’un fichier à accès calculé 4.9.5 Chargement et réorganisation d’un fichier à organisation calculée 4.9.6 Comparaison des deux techniques d’index primaires 4.10 Les index secondaires 4.10.1 Structure d’un index secondaire par listes de pointeurs 4.10.2 Performances d’un index secondaire par listes de pointeurs 4.10.3 Structure d’un index bitmap 4.10.4 Les index partiels 4.10.5 Les index sur expression 4.10.6 Les index secondaires augmentés 4.10.7 Disponibilité des techniques d’indexation primaires et secondaires 4.11 Accès par index ou recherche séquentielle 4.12 Quand créer un index ? 4.13 Les techniques d’agrégation (clustering) 4.13.1 Clustering index 4.13.2 Clusters 4.13.3 Performances des techniques d’agrégation 4.14 Stabilité des adresses 4.15 Un exemple : SQL Server 4.16 Compléments sur les fonctions de hachage 4.16.1 Le prédicteur à hachage (filtre de Bloom) 4.16.2 Hachage cryptographique (Secure hashing) 4.16.3 Notion d’identifiant universel (UUID) 4.17 Futurologie : un peu de poésie dans ce monde brutes ! 4.17.1 Les mémoires ADN 4.17.2 Les mémoires atomiques 4.17.3 Les bases de données quantiques 4.18 Que retenir ? 4.19 Pour en savoir plus 4.20 Exercices CHAPITRE 5 • LES SYSTÈMES DE GESTION DE BASES DE DONNÉES 5.1 Introduction 5.2 Les fonctions des systèmes de gestion de bases de données 5.3 Architecture des SGBD 5.4 Les transactions 5.5 Régulation de la concurrence 5.5.1 Mise à jour perdue 5.5.2 Données instables 5.5.3 Régulation de la concurrence par verrouillage 5.5.4 Sérialisabilité et verrouillage en 2 phases (2PL) 5.5.5 Interblocage 5.5.6 Les niveaux d’isolation 5.6 Protection contre les accidents 5.6.1 Sauvegardes et journaux 5.6.2 Reprise à froid 5.6.3 Reprise à chaud 5.6.4 Les fichiers différentiels 5.7 Les bases de données distribuées 5.7.1 Un premier exemple 5.7.2 Les types de distribution 5.7.3 Partitionnement du réseau 5.7.4 Le commit en deux phases (2PC) 5.7.5 Distribution des traitements 5.8 Contrôle des accès 5.8.1 Les modèles de contrôle d’accès 5.8.2 Protection des données privées - Inférence statistique 5.9 Les bases de données in-memory 5.10 Le marché des SGBD relationnels 5.11 Pour en savoir plus CHAPITRE 6 • LE LANGAGE SQL DDL 6.1 Introduction 6.2 Le langage SQL DDL 6.3 Création d’un schéma 6.4 Les noms SQL 6.5 Création d’une table 6.6 Les colonnes et leurs types 6.7 Caractère obligatoire/facultatif d’une colonne 6.8 Les identifiants 6.9 Les clés étrangères 6.10 Forme synthétique des contraintes 6.11 Exemple complet 6.12 Suppression d’une table 6.13 Ajout, retrait et modification d’une colonne 6.14 Ajout et retrait d'une contrainte 6.15 Les structures physiques 6.16 Que retenir ? 6.17 Pour en savoir plus CHAPITRE 7 • LE LANGAGE SQL DML (1) 7.1 Introduction 7.2 Requêtes élémentaires 7.2.1 Extraction simple 7.2.2 Extraction de lignes sélectionnées 7.2.3 Lignes dupliquées dans le résultat 7.2.4 Des conditions de sélection plus complexes 7.2.5 Expressions composées 7.3 Données extraites et données dérivées 7.3.1 Les fonctions SQL 7.3.2 Les registres du système 7.4 Ordre des lignes du résultat 7.5 Les fonctions agrégatives (ou statistiques) 7.6 Les sous-requêtes 7.6.1 Condition d’association par sous-requête 7.6.2 Sous-requête et clé étrangère composite 7.6.3 Attention aux conditions d’association négatives 7.6.4 Références multiples à une même table 7.7 Les quantificateurs ensemblistes 7.8 Exercices CHAPITRE 8 • LE LANGAGE SQL DML (2) 8.1 Introduction 8.2 Extraction de données de plusieurs tables (jointure) 8.2.1 La jointure de plusieurs tables 8.2.2 Conditions de jointure et conditions de sélection 8.2.3 Lignes célibataires et jointures externes 8.3 Les opérateurs ensemblistes 8.4 Le produit relationnel 8.5 Variantes syntaxiques de la jointure 8.6 Les tables statiques 8.7 Requêtes sur des structures cycliques 8.8 Compléments sur les jointures 8.8.1 Sous-requête ou jointure 8.8.2 Valeurs dérivées dans une jointure 8.8.3 Les jointures généralisées 8.8.4 Interprétation du résultat d’une jointure 8.9 Extraction de données groupées 8.9.1 Notion de groupe de lignes 8.9.2 Sélection de groupes et sélection de lignes 8.9.3 Groupes et jointures 8.9.4 Composition de la liste select 8.9.5 Composition du critère de groupement 8.9.6 Attention aux groupements multiniveaux 8.9.7 Peut-on éviter l’utilisation de données groupées ? 8.10 Extension de la structure des requêtes SFW 8.10.1 Extension de la clause select 8.10.2 Extension de la clause from 8.11 Limitation de la taille d’un résultat 8.12 Interprétation d’une requête 8.13 Modification des données 8.13.1 Ajout de lignes 8.13.2 Suppression de lignes 8.13.3 Modification de lignes 8.13.4 À propos de la gestion des verrous 8.13.5 Mise à jour et contraintes d’unicité 8.13.6 Mise à jour et contraintes référentielles 8.13.7 Déterminisme des requêtes SQL 8.14 Modification des structures de données 8.15 Que retenir ? 8.16 Pour en savoir plus 8.17 Exercices CHAPITRE 9 • LE LANGAGE SQL AVANCÉ 9.1 Introduction 9.2 Le contrôle d’accès 9.3 Les vues SQL 9.3.1 Principes et objectifs des vues 9.3.2 Définition et utilisation d’une vue 9.3.3 Les vues comme interface pour des besoins particuliers 9.3.4 Les vues comme mécanisme de contrôle d’accès 9.3.5 Les vues comme mécanisme d’évolution de la base de données 9.3.6 Les vues comme aide à l’expression de requêtes complexes 9.3.7 Mise à jour des données via une vue 9.4 Les Common Table Expressions (CTE) 9.5 Les requêtes récursives 9.6 Les extensions objet de SQL3 9.6.1 Types de données complexes (row et array) 9.6.2 Type défini par l’utilisateur (TDU) 9.6.3 Table typée 9.6.4 Hiérarchie de types 9.6.5 Hiérarchie de tables typées 9.6.6 Références entre tables 9.6.7 Remarques finales 9.7 Les prédicats (check) 9.8 Les procédures SQL (stored procedures) 9.9 Les déclencheurs (triggers) 9.10 Le catalogue 9.11 Les interfaces SQL des programmes d’application 9.11.1 L’interface SQL statique classique 9.11.2 SQLJ : une interface statique pour Java 9.11.3 L’interface SQL dynamique classique 9.11.4 JDBC : une interface CLI-SQL dynamique pour Java 9.11.5 Comparaison des modèles d’interaction 9.11.6 Un problème de sécurité : l’injection de code SQL 9.12 SQL et l’information incomplète 9.12.1 Introduction 9.12.2 La valeur null de SQL 9.12.3 La logique ternaire de SQL 9.12.4 La propagation de null en SQL 9.12.5 La propagation de unknown en SQL 9.12.6 Les problèmes de l’information incomplète en SQL 9.12.7 Deux recommandations 9.13 Que retenir 9.14 Pour en savoir plus CHAPITRE 10 • LES BASES DE DONNÉES NON RELATIONNELLES 10.1 Introduction 10.2 Les bases de données NoSQL 10.2.1 Modèles clé-valeur 10.2.2 Modèles orientés documents 10.2.3 Modèles orientés colonnes 10.3 Les autres modèles non relationnels 10.4 Les architectures de distribution 10.4.1 La cohérence finale 10.4.2 Les protocoles à quorum 10.4.3 Le théorème CAP 10.5 Un SGBD orienté colonnes : Cassandra 10.6 Un SGBD orienté documents : MongoDB 10.7 Les SGBD NewSQL : l’exemple de VoltDB 10.8 Conclusions sur les SGBD NoSQL 10.9 Les chaînes de blocs 10.9.1 Principes généraux 10.9.2 Le protocole BitCoin 10.9.3 Le protocole Ethereum 10.10 Pour en savoir plus CHAPITRE 11 • CONSTRUCTION D’UNE BASE DE DONNÉES 11.1 De l’artisanat à la méthode 11.2 Les acteurs et les métiers 11.3 Deux parcours 11.4 Une démarche simplifiée 11.5 Les outils CHAPITRE 12 • LE MODÈLE ENTITÉ-ASSOCIATION DE BASE 12.1 Introduction 12.2 Les types d’entités 12.3 Les attributs 12.4 Les types d’associations 12.4.1 Rôles d’un type d’associations 12.4.2 Propriétés d’un type d’associations 12.4.3 Classe fonctionnelle d’un type d’associations 12.4.4 Type d’associations (ou rôle) obligatoire ou facultatif 12.4.5 Cardinalités d’un type d’associations 12.4.6 Type d’associations cyclique 12.4.7 Représentation graphique des populations 12.5 Une question de vocabulaire 12.6 Les identifiants 12.6.1 Identifiants hybrides 12.6.2 Composition des identifiants 12.6.3 Identifiants minimaux et identifiants implicites 12.6.4 Importance du concept d’identifiant 12.7 Les contraintes d’intégrit 12.7.1 Contraintes de base 12.7.2 Contraintes additionnelles 12.8 Contenu informationnel d’un schéma 12.9 Exemples 12.9.1 Une structure administrative 12.9.2 Gestion d’une bibliothèque 12.9.3 Voyages en train 12.10 Que retenir ? 12.11 Pour en savoir plus 12.12 Dessiner un schéma conceptuel à l’aide d’un outil 12.13 Exercices CHAPITRE 13 • ÉLABORATION D’UN SCHÉMA CONCEPTUEL 13.1 Introduction 13.2 Un premier exemple 13.3 Décomposition de l’énoncé 13.3.1 Notion de proposition élémentaire 13.3.2 Cardinalités 13.3.3 Propositions générales et propositions particulières 13.3.4 Attention aux propositions complexes irréductibles ! 13.3.5 Les propositions non binaires réductibles 13.4 Pertinence d’une proposition 13.5 Représentation d’une proposition 13.5.1 Nouveau type d’entités et son attribut 13.5.2 Type d’associations entre types d’entités existants 13.5.3 Attribut d’un type d’entités existant 13.5.4 Nouveau type d’entités et ses deux attributs 13.5.5 Restructuration pour intégration 13.5.6 Propriétés multivaluées 13.5.7 Recommandations pratiques 13.6 Non-redondance des propositions 13.6.1 Redondance explicite 13.6.2 Variantes d’expression 13.6.3 Redondance indirecte 13.6.4 Redondance apparente 13.6.5 Synonymes et homonymes 13.7 Non-contradiction des propositions 13.8 Les contraintes d’intégrité 13.9 Normalisation du schéma 13.9.1 Simplification du schéma 13.9.2 Élimination des redondances internes 13.10 Documentation du schéma 13.11 Complétude du schéma 13.12 Que retenir ? 13.13 Pour en savoir plus 13.14 Exercices CHAPITRE 14 • PRODUCTION DU SCHÉMA DE LA BASE DE DONNÉES 14.1 Introduction 14.2 Représentation des types d’entités 14.3 Représentation des attributs 14.4 Représentation des types d’associations 14.4.1 Types d’associations un-à-plusieurs (1:N) 14.4.2 Types d’associations un-à-un (1:1) 14.4.3 Types d’associations plusieurs-à-plusieurs (N:N) 14.4.4 Types d’associations cycliques 14.5 Représentation des identifiants 14.6 Traduction des noms 14.7 Synthèse des règles de traduction 14.8 Les structures physiques 14.9 Traduction des structures en SQL 14.10 Que retenir 14.11 Pour en savoir plus 14.12 Produire un schéma de base de données à l’aide d’un outil 14.13 Exercices CHAPITRE 15 • MÉTHODOLOGIE DES BASES DE DONNÉES 15.1 Introduction 15.2 Méthodes, processus et produits 15.3 Méthodes de développement d’une base de données 15.4 Les modèles de développement 15.5 Techniques transformationnelles 15.6 Rôle des outils CHAPITRE 16 • LE MODÈLE ENTITÉ-ASSOCIATION ÉTENDU 16.1 Introduction 16.2 Le modèle de base - rappel 16.3 Sémantiques 16.4 Modèle, schéma et population 16.5 Les stéréotypes 16.6 Schéma de base de données 16.7 Attributs 16.7.1 Attributs composés 16.7.2 Attributs multivalués 16.7.3 Attributs complexes 16.7.4 Domaine et type d’un attribut 16.7.5 Cardinalité d’un attribut 16.8 Types d’associations 16.8.1 Types d’associations fonctionnels 16.8.2 Types d’associations n-aires 16.8.3 Types d’associations à rôles polymorphiques 16.8.4 Attributs de type d’associations 16.8.5 Généralisation des cardinalités des rôles 16.8.6 Taille de la population d’un type d’associations 16.9 Types d’entités 16.9.1 Relation de généralisation-spécialisation (relation is-a) 16.9.2 Propriétés et contraintes ensemblistes des sous-types 16.9.3 L’héritage 16.9.4 Les sous-types non disjoints sont-ils vraiment utiles ? 16.9.5 Surtypes et héritage multiples 16.9.6 Contraintes portant sur des composants hérités 16.9.7 Répartitions multiples 16.9.8 Règle de répartition en sous-types 16.10 Identifiants 16.10.1 Identifiants d’un type d’entités 16.10.2 Identifiants d’un type d’associations 16.10.3 Identifiants d’un attribut complexe 16.11 Contraintes d’intégrité 16.11.1 Contraintes de domaine 16.11.2 Contraintes entre valeurs 16.11.3 Contraintes d’existence 16.11.4 Dépendances fonctionnelles 16.12 Contraintes d’intégrité additionnelles 16.12.1 Expression des contraintes 16.12.2 Remarques sur les langages d’expression de contraintes 16.12.3 Cycles et contraintes cycliques 16.12.4 Propriétés des graphes d’instances 16.12.5 Contraintes de redondance 16.13 Les noms 16.13.1 Règles de dénomination 16.13.2 Dénomination des attributs 16.13.3 Dénomination des types d’associations 16.14 Classes d’objets génériques 16.14.1 Type d’associations de composition 16.14.2 Type d’associations de matérialisation 16.15 Exemple de schéma Entité-association 16.16 Métadonnées et métaschémas 16.16.1 Une première approche : le catalogue d’une base de données 16.16.2 Métaschéma du modèle Entité-association 16.17 Sémantique interne du modèle Entité-association 16.17.1 Types d’entités et relations is-a 16.17.2 Types d’associations 16.17.3 Attributs 16.17.4 Attributs et rôles obligatoires 16.17.5 Identifiants 16.17.6 Autres contraintes 16.17.7 Application de la théorie relationnelle au modèle Entité-association 16.18 Que retenir ? 16.19 Pour en savoir plus 16.20 Créer un schéma conceptuel à l’aide d’un outil (compléments) 16.21 Exercices CHAPITRE 17 • LES DIAGRAMMES DE CLASSES UML 17.1 Introduction 17.2 UML et les bases de données 17.3 Les mécanismes d’extension 17.4 Les classes d’objets 17.5 Les associations binaires 17.6 Les associations n-aires 17.6.1 Multiplicité maximale (max) 17.6.2 Multiplicité minimale (min) 17.7 Les attributs 17.8 Les opérations 17.9 Les associations qualifiées 17.10 Les classes associations 17.11 Les associations d’agrégation et de composition 17.12 Les contraintes 17.13 Le langage de contraintes OCL 17.14 Une question de vocabulaire 17.15 Exemple de schéma de classes en UML 17.16 Le modèle de classes d’UML revisité (DB-UML) 17.17 Sémantique du modèle de classes DB-UML 17.18 Que retenir ? 17.19 Pour en savoir plus 17.20 Créer un schéma conceptuel UML à l’aide d’un outil CHAPITRE 18 • ANALYSE CONCEPTUELLE DU DOMAINE D’APPLICATION 18.1 Introduction 18.2 Analyse des énoncés textuels 18.2.1 Proposition existentielle 18.2.2 Proposition relationnelle binaire 18.2.3 Proposition relationnelle n-aire 18.2.4 Intégration d’une proposition dans un schéma 18.3 Les patrons de conception 18.4 Analyse des documents structurés 18.4.1 Analyse des documents de l’organisation 18.4.2 Analyse d’un écran de saisie de données 18.4.3 Analyse d’un document papier 18.5 Dénomination des objets d’un schéma 18.6 Processus de correction d’un schéma 18.6.1 Constructions syntaxiquement incorrectes 18.6.2 Constructions non satisfiables et incohérentes 18.7 Processus de normalisation du schéma conceptuel 18.7.1 Simplification des constructions non minimales 18.7.2 Explicitation des constructions insuffisamment expressives 18.7.3 Élimination des redondances structurelles 18.7.4 Élimination des redondances internes 18.7.5 Autres critères de qualit 18.8 Évaluation d’un schéma 18.8.1 Paraphrase du schéma 18.8.2 Prototypage de la base de données 18.8.3 Inférence structurelle 18.8.4 Les heuristiques d’erreurs 18.8.5 Remarque 18.9 Intégration de schémas 18.9.1 Scénarios d’intégration 18.9.2 Principes de l’intégration binaire de schémas 18.9.3 Intégration basée sur les correspondances 18.9.4 Repérage des objets en correspondance 18.9.5 Unification : le cas des correspondances hétérogènes 18.9.6 Normalisation et résolution de conflits sémantiques 18.9.7 Compléments 18.9.8 Étude de cas 18.10 Analyse conceptuelle à l’aide d’un atelier 18.10.1 Transformation de schémas 18.10.2 Analyse de schémas 18.10.3 Intégration de schémas 18.11 Que retenir 18.12 Pour en savoir plus 18.13 Exercices CHAPITRE 19 • CONCEPTION LOGIQUE D’UNE BASE DE DONNÉES RELATIONNELLE 19.1 Introduction 19.2 Le modèle logique relationnel 19.2.1 Le modèle relationnel de base 19.2.2 Le modèle relationnel enrichi 19.3 Représentation des attributs 19.3.1 Représentation d’un attribut simple 19.3.2 Représentation d’un attribut compos 19.3.3 Représentation d’un attribut multivalué 19.3.4 Représentation d’un attribut composé multivalué 19.3.5 Traduction des types et domaines de valeurs 19.3.6 Compléments 19.4 Retour aux types d’associations fonctionnels 19.5 Représentation des types d’associations complexes 19.5.1 Types d’associations n-aires, avec attributs et/ou contraintes 19.5.2 Représentation d’un type d’associations à rôle polymorphique 19.5.3 Clé étrangère et identifiant absent 19.6 Représentation des relations is-a 19.6.1 Les trois techniques de base 19.6.2 Représentation de relations is-a par matérialisation 19.6.3 Représentation de relations is-a par héritage descendant 19.6.4 Représentation de relations is-a par héritage ascendant 19.6.5 Évaluation comparative 19.6.6 Hiérarchies multiples et clés étrangères liées 19.7 Compléments 19.7.1 Les identifiants facultatifs 19.7.2 Les identifiants primaires complexes 19.7.3 Traduction des contraintes conceptuelles 19.7.4 Noms des objets 19.7.5 Delete et update modes des clés étrangères 19.7.6 Au sujet des rôles de cardinalité [1-N] 19.8 Traduction d’un schéma conceptuel 19.8.1 Choix des représentations privilégiées 19.8.2 Construction du plan de transformation 19.8.3 Limitations d’un plan de transformation 19.8.4 Validation d’un plan de transformation 19.9 Définition des vues 19.10 Conception logique : un exemple 19.11 Exploitation des constructions SQL3 19.11.1 Le modèle relationnel objet 19.11.2 Représentation des attributs complexes 19.11.3 Représentation des hiérarchies is-a de types d’entités 19.11.4 Conception logique relationnelle objet : un exemple 19.11.5 Extension de la méthode 19.12 Produire un schéma logique à l'aide d'un outil 19.12.1 Transformation de schémas 19.12.2 Analyse de schémas 19.13 Que retenir ? 19.14 Pour en savoir plus 19.15 Exercices CHAPITRE 20 • CONCEPTION PHYSIQUE D’UNE BASE DE DONNÉES RELATIONNELLE 20.1 Introduction 20.2 Notion d’efficacité d’une base de données 20.3 Conception physique d’une base de données en 15 règles 20.4 Détermination des index 20.4.1 Index induits par les structures logiques 20.4.2 Index induits par l’utilisation des données 20.4.3 Index à écarter 20.4.4 Maintenance du jeu d’index 20.5 Technologie des index 20.6 Sélection des espaces de stockage 20.7 Optimisation avancée 20.7.1 Restructurations sans redondance 20.7.2 Redondances structurelles 20.7.3 Dénormalisation 20.8 Estimation des volumes et des temps de traitement 20.9 Complément : modèle de choix d’un index 20.10 Que retenir ? 20.11 Pour en savoir plus 20.12 Exercices CHAPITRE 21 • PRODUCTION DU CODE D’UNE BASE DE DONNÉES 21.1 Introduction 21.2 Expression déclarative des structures 21.3 Les concepts SQL d’expression de contraintes 21.4 Les comportements non standard 21.5 Les contraintes d’intégrité de base 21.6 Les contraintes d’intégrité additionnelles 21.7 Les contraintes dérivées du modèle Entité-association 21.8 Les contraintes d’intégrité dynamiques 21.9 Traduction des relations is-a 21.9.1 Gestion à partir des tables de base 21.9.2 Gestion via des vues modifiables 21.10 Traduction des vues 21.11 Que retenir ? 21.12 Génération du code à l'aide d'un outil 21.13 Exercices CHAPITRE 22 • RÉTRO-INGÉNIERIE D’UNE BASE DE DONNÉES 22.1 Introduction 22.2 Méthode générale de rétro-ingénierie 22.3 Extraction physique 22.4 Reconstruction du schéma logique 22.4.1 Les sources et leurs techniques d’analyse 22.4.2 Recherche des constructions implicites 22.5 Conceptualisation du schéma logique 22.6 Que retenir ? 22.7 Pour en savoir plus 22.8 Rétro-ingénierie à l'aide d'un outil CHAPITRE 23 • ÉTUDE DE CAS 23.1 Les animaux du zoo 23.1.1 Énoncé 23.1.2 Construction du schéma conceptuel 23.1.3 Production du schéma de tables et du code SQL 23.1.4 Exploitation 23.2 Autres études de cas CHAPITRE 24 • BIBLIOGRAPHIE CHAPITRE 25 • INDEX

Similar books