DUNOD2022

Affichages
De LIBD.


Bases de données - Concepts, utilisation et développement, 5e édition [Dunod, 2022]



Page en cours de construction


1. L'ouvrage

Cet ouvrage traite des différentes problématiques qui se posent aujourd'hui dans le domaine de l’utilisation et de la construction de bases de données relationnelles, relationnelles objet, NoSQL et leurs extensions. Il comprend trois parties :
  1. les concepts (le modèle de données, la normalisation, les techniques d’implémentation, les SGBD),
  2. l’utilisation (via les langages SQL2, SQL3 et les SGBD NoSQL) et
  3. la méthodologie (les modèles, l'analyse conceptuelle, la conception logique, la conception physique, la production de code, la rétro-ingénierie, les outils).
L’ouvrage propose deux niveaux de lecture complémentaires, tous deux destinés au lecteur autodidacte, à l'étudiant et à l'enseignant, et dépendant du niveau de départ de chacun :
Cette cinquième édition comprend de nombreuses mises à jour et extensions (le problème d'Halloween, les NFT, la technique skip-scan, l'opération SQL upsert, l'algorithme de consensus RAFT, un exemple du pattern MapReduce, etc.)
Elle inclut également un nouveau chapitre consacré à l'analyse de données via les fonctions SQL avancées : filter, group by rollup, group by cube, et surtout la fonction window.
L'ouvrage est accompagné d'un ensemble de ressources qui en font un éco-système pédagogique : des annexes, des diaporamas (en Powerpoint), des outils, une série de tutoriels, des bibliothèques de code, des bibliothèques d'applications et des études de cas. Ces ressources sont en accès libre sur ce site.


2. Les ressources

Un ensemble de ressources ont été développées pour faciliter et compléter l'apprentissage des concepts de l'ouvrage.

  • Les annexes
La plupart des chapitres de l'ouvrage sont accompagnés d'une annexe spécifique. Cette annexe propose, outre une collection d'exercices le plus souvent résolus, des développements plus détaillés des matériaux du chapitre et des compléments plus techniques ou plus récents. L'ensemble des annexes est disponible ici.
  • Les diaporamas
A chaque chapitre (à l'exception de quelques chapitres plus techniques) sont associés un ou plusieurs diaporamas Powerpoint à destination des enseignants et des étudiants. L'ensemble des diaporamas est disponible ici.
  • Les outils
L'approche pédagogique s'appuie sur trois outils importants :
  • SQLfast, environnement graphique pour l'apprentissage rapide et convivial des concepts des bases de données, du langage SQL et de la programmation d'applications interactives de bases de données.
  • SQLfast est recommandé pour travailler par la pratique la matière des chapitres 2, 6, 7, 8, 9, 10, 11, 15, 19 (validation par prototypage), 20, 21, 22, 23 (extraction des types et contraintes) et 24.
  • Il comprend aussi des tutoriels, une bibliothèque de codes et une bibliothèque d'application associés aux chapitres de l'ouvrage.
  • SQLfast inclut un moteur de tutoriels permettant le développement par l'enseignant de documents pédagogiques multimédias additionnels.
  • Le logiciel, sa documentation, ses tutoriels et ses bibliothèques sont téléchargeable à partir de cette page.
  • SQLpy, module qui offre au programmeur Python certaines des fonctions essentielles de l'environnement SQLfast. Il est téléchargeable, avec sa documentation et des exemples représentatifs à partir de cette page.
  • DB-MAIN, atelier d'analyse, d'ingénierie et de rétro-ingénierie de bases de données. Ce logiciel est recommandé pour pratiquer tous les chapitres consacrés à l'ingénierie des bases de données (soit 13, 14, 15, 17, 18 (UML), 19, 20, 21, 22, 23 (rétro-ingénierie) et 24. Il est téléchargeable à cette adresse.
Ces outils, ces applications et leur documentation sont disponibles gratuitement sur ce site.
  • Les tutoriels
Différentes catégories de tutoriels complètent les matériaux de l'ouvrage par des documents invitant les lecteurs/apprenants à une démarche active d'auto-apprentissage. Ils sont inclus dans la distribution SQLfast. Outre les guides relatifs à l'utilisation de SQLfast, on distingue :
  • Les tutoriels dérivés de l'ouvrage, couvrant notamment les chapitres 6, 7, 8, 9 et 10, et comprenant des exercices accompagnés de leurs solutions. Le nouveau chapitre 10 (SQL et l'analyse de données), vu sa richesse et sa complexité, fait l'objet d'un tutoriel plus détaillé, contenant un résumé des concepts, 60 exemples et exercices et leurs solutions.
  • Les tutoriels dérivés du manuel de l'utilisateur SQLfast et consacrés à la programmation d'applications de bases de données.
Les guides et les tutoriels sont rédigés dans un langage simple et intuitif (SQLtuto, dont la maîtrise ne demande qu'une vingtaine de minutes) qui permet aux enseignants de modifier rapidement les tutoriels existants et de développer leurs propres matériaux. Un tutoriel est un document multimédia composé notamment de titres, de paragraphes, de liens de navigation internes et externes, d'images et de fragments de code. Ces derniers servent d'illustration mais sont également exécutables par un simple clic.
Les guides et les tutoriels sont inclus dans la distribution SQLfast. La plupart d'entre eux existent en français et en anglais.
  • La bibliothèque de code
Les requêtes SQL apparaissant dans les chapitres de l'ouvrage et leurs annexes sont collectées dans des scripts qu'il est possible d'examiner, de modifier et d'exécuter.
Ces scripts sont inclus dans la distribution SQLfast.
  • La bibliothèque d'applications
Certains chapitres de l'ouvrage ont fait l'objet, à titre d'illustration, du développement d'applications interactives prêtes à l'usage. On citera notamment un module Blockchains (chapitre 11), les bases de données atypiques (chapitre 11), un générateur de prototypes interactifs de bases de données (chapitre 19, Evaluation d'un schéma), l'analyse d'une base de données existante de schéma inconnu (chapitre 23, Reconstruction du schéma logique) et Les animaux du zoo (chapitre 24).
Ces applications sont incluses dans la distribution SQLfast.
  • Les études de cas
Afin de démontrer la puissance des concepts et des technologies des bases de données (en particulier le langage SQL), une série d'études de cas non triviales ont été développées, documentées et implémentées sous le forme d'application prêtes à l'emploi. On citera notamment le prototypage rapide d'applications (RAD), les bases de données actives, les bases de données temporelles, la gestion de répertoires, le traitement et l'analyse de graphes, les jeux d'aventure, les automates cellulaires (le Jeu de la vie), les bases de données sans schéma, ordonnancement de tâches (tri topologique), le pilotage d'un rover sur Mars (calcul du plus court chemin) et logiciel d'auto-apprentissage du langage SQL.
Le code des applications implémentant les études de cas sont incluses dans la distribution SQLfast. Leur documentation est accessible à partir de cette page


3. Tables des matières

Un coup d'oeil rapide au contenu de l'ouvrage et des annexes.


4. Les parcours de lecture recommandés et leurs ressources

Chaque parcours définit un programme de cours recommandé. Y sont associés des chapitres spécifiques de l'ouvrage ainsi qu'un ensemble de ressources.

Ce programme comprend
  1. une introduction aux concepts des bases de données relationnelles,
  2. les bases du langage SQL
  3. une méthode simplifiée de développement d'une base de données relationnelle
  4. une étude de cas complètement résolue, code exécutable compris.
Aux chapitres du cours introductif, ce programme ajoute :
  1. les éléments de la théorie de la normalisation, les techniques d'implémentation, les SGBD
  2. les compléments du langage SQL, y compris le modèle relationnel objet, les SGBD non relationnels (dont les SGBD dits NoSQL), les block-chains et l'analyse de données
  3. une méthode approfondie de développement de bases de données comprenant, entre autres, le modèle Entité-association étendu, UML, l'analyse conceptuelle (y compris la normalisation et l'intégration de schémas), la conception logique de BD relationnelles et relationnelles objet, la conception physique, la génération de code et la rétro-ingénierie.
Outils personnels