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 :
- les concepts (le modèle de données, la normalisation, les techniques d’implémentation, les SGBD),
- l’utilisation (via les langages SQL2, SQL3 et les SGBD NoSQL) et
- 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. Cette dernière, particulièrement puissante mais complexe, fait également l'objet d'un important tutoriel actif d'une soixantaine de pages comprenant plus de 60 exemples de requêtes SQL de traitement statistique (illustrations et exercices). Ce tutoriel est disponible en français et en anglais et est compris dans la version 4.1 de SQLfast.
- L'ouvrage est accompagné de matériaux complémentaires disponibles en libre accès sur le site de l'ouvrage :
- une série d'annexes, totalisant 760 pages, approfondissant et complétant les matériaux de l'ouvrage
- une série de diaporamas (en Powerpoint) reprenant les aspects essentiels de l'ouvrage et destinés tant aux enseignants qu'aux apprenants
- une série de tutoriels SQLfast reprenant et commentant le code SQL (illustrations et exercices) extrait de l'ouvrage
- des études de cas illustrant des applications importantes des techniques de bases de données. Quelques exemples: divers algorithmes sur les graphes (traitement des arbres, nomenclatures de produits, algorithme du plus court chemin, tri topologique, jeux d'aventures textuels), automates cellulaires (le jeu de la vie), les bases de données actives, les bases de données temporelles, les block-chains, le prototypage rapide (RAD), le gestion de répertoires, classification symbolique (via les treillis de Galois ou FCA), etc. Chaque étude de cas fait l'objet d'une analyse approfondie ainsi que d'un programme complet.
- Les tutoriels et les études de cas sont inclus dans la distribution de SQLfast.
- Pour plus de détails et pour les mises à jour (à consulter régulièrement) :
-
2. Les ressources
Un ensemble de ressources ont été développées pour faciliter et compléter l'apprentissage des concepts de l'ouvrage.
- 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.
- 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.
- Outre les annexes (ou en remplacement de celles-ci), divers documents et ressources complémentaires sont proposés, notamment pour les matières plus techniques. En particulier, des modèles de calcul, sous la forme de feuilles de calcul, sont associés au chapitre 4.
- 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 applications complètes, prêtes à l'usage : Blockchains, générateur de prototypes interactifs de bases de données, Les animaux du zoo (extension et implémentation du chapitre 24), analyse d'une base de données existante de schéma inconnu, évaluateur automatique d'exercices SQL, bases de données sans schéma, etc.
- SQLfast inclut un moteur de tutoriels permettant le développement par l'enseignant de documents pédagogiques multimédias additionnels.
- Le logiciel, sa documentation et ses tutoriels 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.
- 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.
- 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.
- 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.
- 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 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 automates cellulaires (le Jeu de la vie), les bases de données sans schéma, le tri topologique, calcul du plus court chemin dans un graphe 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 des principaux ouvrages.
-
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
- une introduction aux concepts des bases de données relationnelles,
- les bases du langage SQL
- une méthode simplifiée de développement d'une base de données relationnelle.
- Aux chapitres du cours introductif, ce programme ajoute :
- les éléments de la théorie de la normalisation, les techniques d'implémentation, les SGBD,
- les compléments du langage SQL, y compris le modèle relationnel objet, ainsi que les SGBD non relationnels (dont les SGBD dits NoSQL),
- 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.