Cet ouvrage s’adresse à tous les professionnels qui souhaitent concevoir une base de données. L’auteur, expert en architecture de bases de données, accompagne le lecteur de manière didactique à travers chaque étape de la création d’une base de données, depuis l’analyse du besoin jusqu’à la maintenance continue. L’ouvrage débute par une présentation des concepts fondamentaux d’une base de données, avant de plonger dans des sujets plus techniques. Le lecteur explore ensuite les différentes...
Cet ouvrage s’adresse à tous les professionnels qui souhaitent concevoir une base de données.
L’auteur, expert en architecture de bases de données, accompagne le lecteur de manière didactique à travers chaque étape de la création d’une base de données, depuis l’analyse du besoin jusqu’à la maintenance continue.
L’ouvrage débute par une présentation des concepts fondamentaux d’une base de données, avant de plonger dans des sujets plus techniques. Le lecteur explore ensuite les différentes méthodes d’analyse du besoin et dispose d’une introduction aux concepts techniques permettant d’apprendre à modéliser les données de manière efficace. Une comparaison des approches SQL et NoSQL et des explications détaillées sur la normalisation de base de données lui permettront de construire des bases de données solides.
La suite des chapitres explique comment gérer une base de données. La sécurité des données et la haute disponibilité garantissant la robustesse du système sont traitées en détail et les phases cruciales de tests et de validation sont abordées.
Le lecteur découvre ensuite les aspects de maintenance et de mise à jour d’une base de données en constante évolution en étudiant le cycle de vie de la base de données, les rôles dans la maintenance ainsi que les stratégies efficaces pour la gestion des versions et des environnements de test ou de production.
Tout au long du support, l’auteur, fort de son expérience, partage des conseils et astuces pratiques renforcés par des cas pratiques concrets pour une application immédiate des connaissances acquises.
2.2 Phases dans la gestion d'un projet de base de données
2.2.1 Définition du périmètre du projet
2.2.2 Planification du projet
2.2.3 Modélisation de la base de données
2.2.4 Création de la base de données
2.2.5 Tests et validation
2.2.6 Déploiement et mise en production
2.2.7 Maintenance et évolution
3. Prérequis
3.1 Comprendre les besoins de l'organisation
3.2 Définir clairement les prérequis
3.3 Constituer une équipe de professionnels compétents
3.4 Accès aux données pertinentes
3.5 Infrastructure technologique et outils appropriés
3.6 Conformité légale et réglementaire
3.7 Engagement des personnes dans l'organisation
3.7.1 Pourquoi l’engagement des parties prenantes est-il si important ?
3.7.2 Types de réunions pour promouvoir l’engagement de l'organisation
4. Analyse économique
4.1 Identification des frais
4.1.1 Frais dans la conception
4.1.2 Frais d'exploitation
4.2 Estimation des bénéfices
4.2.1 Amélioration de l’efficacité opérationnelle
4.2.2 Amélioration dans la prise de décisions
4.2.3 Augmentation des revenus
4.3 Analyse de sensibilité
5. Analyse des risques
5.1 Identification des risques
5.1.1 Risques techniques
5.1.2 Risques de sécurité
5.1.3 Risques liés aux ressources
5.2 Évaluation des risques
5.3 Atténuation des risques
5.4 Contrôle continu
6. Identifier les données
6.1 Définition des objectifs et des exigences
6.2 Identification des sources de données
6.3 Collecte et classification des données
6.4 Établissement de règles métier
6.5 Évaluation de la qualité des données
7. Identifier les flux de données
7.1 Définition des flux de données
7.1.1 Cartographie des flux de données
7.1.2 Transformation des données
7.1.3 Exemple : système de gestion de clients
7.2 Identification des sources de données
7.2.1 Saisie manuelle des données
7.2.2 Systèmes existants
7.2.3 Sources externes
7.2.4 Exemple : système de réservation de vols
7.3 Suivi de l'acheminement et de la transformation des données
7.3.1 Cartographie de l'acheminement des données
7.3.2 Exemple : système de gestion des commandes en ligne
7.4 Identification des destinations des données
7.4.1 Bases de données
7.4.2 Applications
7.4.3 Rapports et analyses
7.4.4 Stockage à long terme
7.4.5 Exemple : système de gestion des stocks
7.5 Documentation et modélisation
7.5.1 Documentation détaillée
7.5.2 Modélisation des données
7.5.3 Exemple : outils de modélisation de base de données
Modélisation de données
1. Introduction
2. Qu'est-ce que la modélisation des données ?
3. Types de modélisation de données
3.1 Modèle conceptuel de données
3.2 Modèle logique de données
3.3 Modèle physique de données
3.4 Techniques de modélisation
3.4.1 Modèle hiérarchique de données
3.4.2 Modèle relationnel de données
3.4.3 Modèle entité-association
3.4.4 Modèle orienté objet
3.4.5 Modèle dimensionnel
4. Étapes pour modéliser une base de données
4.1 Étape 1 : identifier les entités et leurs attributs
4.1.1 Entités
4.1.2 Attributs des entités
4.1.3 Propriétés des attributs
4.2 Étape 2 : identifier les relations entre les entités
4.2.1 Relations
4.2.2 Cardinalité
4.3 Étape 3 : identifier la technique de modélisation de base de données
4.4 Étape 4 : optimisation et itération
4.4.1 Optimisation
4.4.2 Itération
5. SQL vs NoSQL
5.1 SQL : Structured Query Language
5.2 NoSQL : Not Only SQL
5.3 Différences entre une base de données SQL et une base de données NoSQL
5.4 Quand choisir une base de données SQL ?
5.5 Quand choisir une base de données NoSQL ?
6. Outils pour effectuer la modélisation d'une base de données
6.1 Installation de DbSchema
6.2 Démarrage d’un nouveau projet
6.2.1 Se connecter à une base de données
6.2.2 Ouvrir un fichier SQL DDL
6.2.3 Partir de zéro : modèle logique
6.2.4 Partir de zéro : modèle physique
Normalisation de données
1. Introduction
2. Qu'est-ce que la normalisation de données ?
3. Définition des concepts techniques : types de clés, dépendances...
3.1 Types de clés
3.1.1 Clés primaires
3.1.2 Clés étrangères
3.2 Dépendances
3.3 Anomalies
3.3.1 Qu'est-ce qu'une anomalie ?
3.3.2 Types d'anomalies
3.3.3 Impact de la normalisation sur les anomalies
4. Les phases de normalisation de la base de données
5. Les formes normales
5.1 Base de données non normalisée
5.2 La première forme normale (1NF)
5.3 La deuxième forme normale (2NF)
5.4 La troisième forme normale (3NF)
5.5 La forme normale de Boyce-Codd (BCNF)
5.6 La quatrième forme normale (4NF)
5.7 La cinquième forme normale (5NF)
6. Règles de Codd
6.1 Règle 0 : règle fondamentale
6.2 Règle 1 : règle de l'information
6.3 Règle 2 : règle de l'accès garanti
6.4 Règle 3 : règle du traitement systématique des valeurs nulles
6.4.1 Qu'est-ce que NULL ?
6.4.2 Les valeurs vides mais pas NULL
6.4.3 Comparer une valeur NULL
6.5 Règle 4 : catalogue dynamique en ligne basé sur le modèle relationnel
6.6 Règle 5 : règle du sous-langage de données complet
6.6.1 Qu'est-ce qu’un langage ?
6.6.2 Qu'est-ce qu’un langage complet ?
6.6.3 Règles pour considérer un langage de base de données comme étant complet
6.7 Règle 6 : règle de la mise à jour des vues
6.8 Règle 7 : insertion, mise à jour et suppression de haut niveau
6.9 Règle 8 : indépendance physique des données
6.10 Règle 9 : indépendance logique des données
6.11 Règle 10 : indépendance de l'intégrité
6.12 Règle 11 : indépendance de la distribution
6.13 Règle 12 : règle de non-subversion
6.14 Relation entre les règles de Codd et les formes normales
7. Outils pour effectuer la normalisation de la base de données
7.1 Normalization Tool
7.2 Table Analyzer
7.3 Norma Tool
7.4 DBeaver
7.5 Remarque finale : aucun outil ne peut automatiser la normalisation
Création de la base de données
1. Introduction
2. Étapes à suivre pour la création de notre base de données
2.1 Concepts techniques
2.2 Analyse préalable à la création de notre base de données
3. Prérequis hardware
4. Installation du système d'exploitation
5. Systèmes de gestion de bases de données
6. Mise en place de la structure que nous avons modélisée
6.1 Création de notre première base de données : Ecole
6.2 Création des tables d'élèves, d'enseignants et de cours
6.3 Création des tables de relations : enseignant_cours et eleve_cours
6.4 Authentification
6.5 Autorisation
6.6 Chiffrement
6.7 Audit
6.8 La gestion des incidents
7. Haute disponibilité
7.1 Réplication des données
7.2 Clustering
Tests et validation
1. Introduction
2. Que sont les tests et pourquoi est-il nécessaire de les faire ?
3. Tests fonctionnels
3.1 L'importance des tests fonctionnels dans les bases de données
3.2 Étapes de réalisation des tests fonctionnels
3.3 Exemples de cas de tests fonctionnels
4. Tests de performance
4.1 Les objectifs des tests de performance
4.2 Étapes de réalisation des tests de performance
4.3 Types de tests de performance
4.4 Exemples des cas de test de performance
5. Tests de disponibilité
5.1 Étapes de réalisation des tests de disponibilité
5.2 Types de tests de disponibilité
6. Tests de qualité de données
6.1 Étapes de la réalisation des tests de qualité de données
6.2 Types de tests de qualité de données
7. Le processus du test
7.1 Planification des tests
7.2 Conception de cas de test
7.3 Exécution des tests et enregistrement des résultats
7.4 Analyse des résultats et optimisation
8. Automatisation du processus de test
8.1 Automatisation de la planification
8.2 Automatisation de l'exécution des tests et de l'enregistrement des résultats
8.3 Automatisation de l'analyse et de l'optimisation des résultats
8.4 Avantages de l'automatisation des tests
Maintenance et mise à jour
1. Introduction
2. Cycle de vie de la base de données
2.1 Phase de conception
2.2 Phase d'exploitation et de maintenance
2.3 Phase de mise à jour
2.4 Phase de mise hors service
3. Rôles dans la maintenance d'une base de données
3.1 Administrateur de base de données (DBA)
3.2 Développeur de base de données
3.3 Analyste de données
3.4 Ingénieur en sécurité des données
3.5 Responsable de la gestion des données
4. PCA et PRA
4.1 Que sont le PRA et le PCA ?
4.2 Plan de continuité d'activité (PCA) pour les bases de données
4.3 Plan de reprise d'activité (PRA) pour les bases de données
4.4 Conclusion
5. Installation de patchs et corrections
5.1 Principes fondamentaux des patchs et corrections dans les bases de données
5.2 Identification des vulnérabilités et des besoins en patchs
5.3 Planification du déploiement des patchs et des corrections
6. Sauvegardes et restaurations
7. Gestion des versions d'une base de données
7.1 Introduction à la gestion des versions
7.2 Stratégies de gestion des versions
7.3 Processus de gestion des versions
7.4 Outils de gestion des versions
8. Environnements de test, de préproduction et de formation
8.1 Environnement de test
8.2 Environnement de préproduction
8.3 Environnement de formation
8.4 Meilleures pratiques en matière de gestion des environnements
Glossaire
Index
Mario ALCAIDE
Mario ALCAIDE est architecte de bases de données au Service d'Incendie et de Secours du Bas-Rhin et dispose de plus de dix ans d'expérience dans le domaine de la data. Il a auparavant travaillé comme administrateur de bases de données en Espagne et en France, et il est titulaire de la certification Oracle Certified Professional (OCP). Avec ce livre, il a à cœur de partager ses connaissances pour aider les professionnels à concevoir des bases de données.