RÉSUMÉ▲
La référence en langue française sur les bases de données
Les bases de données jouent un rôle sans cesse croissant dans les systèmes d'information d'entreprise, qu'il s'agisse d'applications de gestion traditionnelles (comptabilité, ventes, décisionnel…) ou d'applications intranet, e-commerce ou de gestion de la relation client. Comprendre les principes des bases de données, les langages d'interrogation et de mise à jour, les techniques d'optimisation et de contrôle des requêtes, les méthodes de conception et la gestion des transactions devient une nécessité pour tous les professionnels et futurs professionnels de l'informatique.
Complet et didactique, l'ouvrage se caractérise par des définitions précises des concepts, une approche éclairante des algorithmes et méthodes, de nombreux exemples d'application, une bibliographie commentée en fin de chaque chapitre et un recueil d'exercices en fin d'ouvrage. Il traite aussi bien des bases de données relationnelles que des bases de données objet et objet-relationnelles.
Au sommaire
Les fondements. Principes et architecture des SGBD (systèmes de gestion de bases de données) • Fichiers, hachage et indexation • Bases de données réseau et hiérarchiques • Logique et bases de données. Bases de données relationnelles. Le modèle relationnel : règles d'intégrité et algèbre relationnelle • Le langage SQL2 • Contraintes d'intégrité et déclencheurs • Gestion des vues • Optimisation des requêtes. Bases de données objet et objet-relationnelles. Le modèle objet et la persistance des objets • Le standard de l'OMG : ODL, OQL et OML • L'objet-relationnel et SQL3 • Optimisation des requêtes objet. Au-delà du SGBD. Bases de données déductives • Gestion des transactions • Conception des bases de données : schémas conceptuel et logique avec UML, dépendances fonctionnelles, formes normales…• Bases de données et décisionnel, Web et bases de données, bases de données multimédias.
I. BIOGRAPHIE AUTEUR▲
Georges Gardarin
Chercheur renommé dans le domaine des bases de données et professeur à l'université Paris VI puis à l'université de Versailles Saint-Quentin, Georges Gardarin a créé et dirigé successivement un projet de recherche INRIA sur les BD relationnelles parallèles (1980-89), le laboratoire PRiSM de Versailles (1990-99), qui regroupe une centaine de spécialistes en réseaux, bases de données et parallélisme, et enfin la société e-XMLmedia (2000-2002), éditeur de composants XML. Il est aujourd'hui professeur à l'université de Versailles et participe à des projets de recherche européens en médiation de données hétérogènes.
II. COPYRIGHT▲
EDITIONS EYROLLES |
Cet ouvrage a fait l'objet d'un reconditionnement à l'occasion |
En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans autorisation de l'Éditeur ou du Centre Français d'Exploitation du Droit de Copie, 20, rue des Grands-Augustins, 75006 Paris.
© Groupe Eyrolles 1999
© Groupe Eyrolles 2003, pour la nouvelle présentation, ISBN 2-212-11281-5
III. REMERCIEMENTS▲
Je tiens à exprimer mes vifs remerciements à tous ceux qui, par leurs travaux, leurs idées, leurs présentations, leurs collaborations ou leurs relectures, ont participé de près ou de loin à la réalisation de cet ouvrage, en particulier :
Catherine Blirando, Christophe Bobineau, Luc Bouganim, Mokrane Bouzeghoub, Tatiana Chan, Jean-Luc Darroux, Thierry Delot, Françoise Fabret, Béatrice Finance, Dana Florescu, Élisabeth Métais, Philippe Pucheral, Fei Sha, Éric Simon, Tuyet Tram Dang Ngoc, Patrick Valduriez, Yann Viémont, Fei Wu, Karine Zeitouni.
Une mention particulière à Hélène qui m'a supporté pendant tous ces nombreux week-ends et vacances passés à rédiger.
À ma petite fille, Marie, née à la fin de la gestation de ce livre, avec l'espoir que les bases de données l'aideront à mieux vivre et comprendre.
IV. AVANT-PROPOS▲
J'ai commencé à travailler dans le domaine des bases de données en 1968 à l'université de Paris VI (non, pas en lançant des pavés), alors que le modèle réseau pointait derrière les fichiers séquentiels puis indexés. Sous la direction de Michel Rocher qui fut plus tard directeur d'Oracle France, avec Mireille Jouve, Christine Parent, Richard Gomez, Stefano Spaccapietra et quelques autres, nous avions développé une famille de Systèmes de Fichiers pour Apprendre Les Autres : les SFALA. Nous enseignions essentiellement les méthodes d'accès séquentielles, indexées, hachées, et surtout le système. Bientôt (en 1972), nous avons introduit les Systèmes de Données pour Apprendre Les Autres (SDALA). Il y eut un SDALA basé sur le modèle réseau, puis bientôt un basé sur le modèle relationnel. Aujourd'hui, on pourrait faire un SDALA objet, multimédia, et bientôt semi-structuré…
Le premier système de gestion de données que j'ai construit à l'hôpital Necker gérait un disque SAGEM à têtes fixes de 256 kilooctets ! Ceci me semblait énorme par rapport aux 8 ko de mémoire. Le système gérait les dossiers des malades avec des fichiers hachés. C'était en 1969, alors que j'étais encore élève à l'ENSET et stagiaire à TITN. Le deuxième le fut à OrdoProcesseurs, une société française qui vendait des miniordinateurs français. C'était en 1974 et les disques atteignaient déjà 10 Mo. Le troisième le fut à l'INRIA au début des années 1980 : c'était l'un des trop rares systèmes relationnels français commercialisés, le SGBD SABRE. Les disques dépassaient déjà 100 mégaoctets ! Aujourd'hui, les disques contiennent plusieurs gigaoctets et l'on parle de pétabases (10 puissance 15 octets). Demain, et demain est déjà là, avec l'intégration des réseaux et des bases de données, tous les serveurs de données du monde seront interconnectés et l'on gérera des volumes inimaginables de données en ligne par des techniques plus ou moins issues des bases de données…
Alors que les bases de données semblaient au début réservées à quelques applications sophistiquées de gestion, toute application moderne utilise aujourd'hui une base de données sous une forme ou sous une autre. Certes, il y a encore beaucoup de données dans des fichiers, mais l'équilibre - où plutôt le déséquilibre - se déplace. Toute application de gestion non vieillotte utilise une BD relationnelle, les BD objet percent dans les applications à données complexes, et les serveurs Web s'appuient de plus en plus sur des bases de données. Pourquoi ? Car les BD offrent le partage, la fiabilité, les facilités de recherche et bientôt la souplesse et l'intelligence avec le support de données multimédia et semi-structurées, et de techniques venues de l'intelligence artificielle, telles le data mining. Les BD sont de plus en plus distribuées, intégrées avec les réseaux Intranet et Internet. D'où leur généralisation.
Voilà donc un domaine que j'ai eu la chance de traverser depuis sa naissance qui a créé beaucoup d'emplois et qui va continuer à en créer dans le millénaire qui vient. Le vingt et unième siècle devrait être celui des sciences et techniques de l'information, au moins à son début. Certains m'objecteront que l'on a créé beaucoup de formulaires, alourdi la gestion et plus généralement la société, et aussi détruit les petits emplois. Peut-être, mais ce n'est pas l'objectif, et ceci devrait être corrigé (notamment avec les formulaires en ligne). D'autres objecteront que nous créons (avec Internet notamment) une civilisation à deux vitesses : je le crains malheureusement, et voilà pourquoi il est très nécessaire de simplifier et démystifier, par exemple en écrivant des livres essayant de mettre ces techniques à la portée de tous.
Dans le domaine des bases de données, comme dans beaucoup d'autres, la France a gâché beaucoup de chances, mais reste encore très compétitive, au moins en compétences sinon en produits. En fait, depuis septembre 1997, l'industrie française ne possède plus de SGBD important. Auparavant, elle avait possédé SOCRATE, IDS II, SABRE (un SGBD important pour l'auteur), et enfin O2. À vrai dire, le seul bien vendu fut IDS.II, un produit issu des États-Unis. Mais enfin, nous avions la maîtrise de la technologie…
Ce livre présente une synthèse des principes et des techniques actuelles en matière de base de données. Il traite des bases de données relationnelles et des bases de données objet. Ces paradigmes sont au cœur des systèmes d'information d'aujourd'hui. Ils sont essentiels pour les entreprises et méritent d'être connus de tout étudiant à l'Université ou en École d'ingénieur.
Ce livre est accompagné d'un compagnon plus petit traitant des nouvelles techniques : data warehouse, data mining, BD Web et BD multimédia. Il s'agit là des nouveaux thèmes en vogue du domaine, qui vont sans doute profondément révolutionner l'informatique de demain. Nous avons choisi de ne pas intégrer ces sujets à ce livre, mais à un volume séparé, car ils ne sont pas encore stabilisés, alors que le relationnel et l'objet - ainsi que le mélange des deux, connu sous le nom objet-relationnel - le sont beaucoup plus.
En résumé, cet ouvrage est le fruit d'une expérience de trente ans d'enseignement, de formation et de conseil à l'université et dans l'industrie. Il aborde tous les sujets au cœur des systèmes d'information modernes. Chaque chapitre traite un thème particulier. À l'aide de notions précisément définies - une technique d'enseignement inventée par Michel Rocher dans les années 1970, procédant par définitions informelles -, nous clarifions des concepts souvent difficiles.
En annexe de cet ouvrage, vous trouverez une cinquantaine de textes d'exercices qui dérivent de sujets d'examens proposés aux étudiants à Paris VI ou à Versailles depuis 1980, adaptés et modernisés.
Avec cet ouvrage, nous espérons mettre entre les mains des générations actuelles et futures d'enseignants, d'ingénieurs et de chercheurs une expérience pratique et théorique exceptionnelle en matière de bases de données.
V. NOTATIONS▲
Afin de présenter la syntaxe de certains langages, nous utiliserons les notations suivantes :
- [a] signifie que l'élément a est optionnel ;
- [a]… signifie que l'élément a peut-être répété 0 à n fois (n entier positif) ;
- {a b} signifie que les éléments a et b sont considérés comme un élément unique ;
- {a | b} signifie deux choix possibles : a ou b ;
- < a > signifie que a est un paramètre qui doit être remplacé par une valeur effective.