You are on page 1of 9

INTRODUCTION

1. QUEST-CE QUUNE BASE DE DONNES ?


Les bases de donnes ont pris aujourdhui une place essentielle dans linformatique, plus particulirement en gestion. Au cours des trente dernires annes, des concepts, mthodes et algorithmes ont t dvelopps pour grer des donnes sur mmoires secondaires ; ils constituent aujourdhui lessentiel de la discipline Bases de Donnes (BD). Cette discipline est utilise dans de nombreuses applications. Il existe un grand nombre de Systmes de Gestion de Bases de Donnes (SGBD) qui permettent de grer efficacement de grandes bases de donnes. De plus, une thorie fondamentale sur les techniques de modlisation des donnes et les algorithmes de traitement a vu le jour. Les bases de donnes constituent donc une discipline sappuyant sur une thorie solide et offrant de nombreux dbouchs pratiques. Vous avez sans doute une ide intuitive des bases de donnes. Prenez garde cependant, car ce mot est souvent utilis pour dsigner nimporte quel ensemble de donnes ; il sagit l dun abus de langage quil faut viter. Une base de donnes est un ensemble de donnes modlisant les objets dune partie du monde rel et servant de support une application informatique. Pour mriter le terme de base de donnes, un ensemble de donnes non indpendantes doit tre interrogeable par le contenu, cest--dire que lon doit pouvoir retrouver tous les objets qui satisfont un certain critre, par exemple tous les produits qui cotent moins de 100 francs. Les donnes doivent tre interrogeables selon nimporte quel critre. Il doit tre possible aussi de retrouver leur structure, par exemple le fait quun produit possde un nom, un prix et une quantit. Plutt que de disserter longuement sur le concept de bases de donnes, prcisons ce quest un SGBD. Un SGBD peut tre peru comme un ensemble de logiciels systmes permettant aux utilisateurs dinsrer, de modifier et de rechercher efficacement des donnes spcifiques dans une grande masse dinformations (pouvant atteindre quelques milliards doctets) partage par de multiples utilisateurs. Les informations sont stockes I.1

sur mmoires secondaires, en gnral des disques magntiques. Les recherches peuvent tre excute partir de la valeur dune donne dsigne par un nom dans un ensemble dobjets (par exemple, les produits de prix infrieur 100 francs), mais aussi partir de relations entre objets (par exemple, les produits commands par un client habitant Paris). Les donnes sont partages, aussi bien en interrogation quen mise jour. Le SGBD rend transparent le partage, savoir donne lillusion chaque utilisateur quil est seul travailler avec les donnes. En rsum, un SGBD peut donc apparatre comme un outil informatique permettant la sauvegarde, linterrogation, la recherche et la mise en forme de donnes stockes sur mmoires secondaires. Ce sont l les fonctions premires, compltes par des fonctions souvent plus complexes, destines par exemple assurer le partage des donnes mais aussi protger les donnes contre tout incident et obtenir des performances acceptables. Les SGBD se distinguent clairement des systmes de fichiers par le fait quils permettent la description des donnes (dfinition des types par des noms, des formats, des caractristiques et parfois des oprations) de manire spare de leur utilisation (mise jour et recherche). Ils permettent aussi de retrouver les caractristiques dun type de donnes partir de son nom (par exemple, comment est dcrit un produit). Le systme de fichiers est un composant de plus bas niveau ne prenant pas en compte la structure des donnes. La tendance est aujourdhui intgrer le systme de fichiers dans le SGBD, construit au-dessus. En consquence, un SGBD se compose en premire approximation de trois couches embotes de fonctions, depuis les mmoires secondaires vers les utilisateurs (voir figure I.1) : La gestion des rcipients de donnes sur les mmoires secondaires constitue traditionnellement la premire couche ; cest le gestionnaire de fichiers, encore appel systme de gestion de fichiers. Celui-ci fournit aux couches suprieures des mmoires secondaires idales adressables par objets et capables de recherches par le contenu des objets (mcanismes dindexation notamment). La gestion des donnes stockes dans les fichiers, lassemblage de ces donnes en objets, le placement de ces objets dans les fichiers, la gestion des liens entre objets et des structures permettant dacclrer les accs aux objets constituent la deuxime couche ; cest le systme daccs aux donnes ou SGBD interne. Celui-ci repose gnralement sur un modle de donnes internes, par exemple des tables relies par des pointeurs. La fonction essentielle de la troisime couche consiste dans la mise en forme et la prsentation des donnes aux programmes dapplications et aux utilisateurs interactifs. Ceux-ci expriment leurs critres de recherches laide de langages bass sur des procdures de recherche progressives ou sur des assertions de logiques, en rfrenant des donnes drives de la base ; cest le SGBD externe qui assure dune part lanalyse et linterprtation des requtes utilisateurs en primitives internes, dautre part la transformation des donnes extraites de la base en donnes changes avec le monde extrieur.

I.2

P. A. SGBD externe

Terminaux

SGBD interne Gestionnaire M.S. de fichiers

SGBD interne

SGBD externe

P.A. = Programmes d'Application M.S. = Mmoires Secondaires

Figure I.1 Premire vue dun SGBD Ces couches de fonctions constituent sans doute seulement la moiti environ du code dun SGBD. En effet, au-del de ses fonctions de recherche, de rangement et de prsentation, un SGBD gre des problmes difficiles de partage et de cohrence de donnes. Il protge aussi les donnes contre les accs non autoriss. Ces fonctions qui peuvent paratre annexes sont souvent les plus difficiles raliser et ncessitent beaucoup de code. Pour tre complet, signalons quau-dessus des SGBD les systmes dinformations intgrent aujourdhui de plus en plus souvent des ateliers de gnie logiciel permettant de modliser les donnes dune base de donnes et de reprsenter les traitements associs laide de graphiques et de langages de spcifications. Ces outils daide la conception, bien que non intgrs dans le SGBD, permettent de spcifier les descriptions des donnes. Ils sappuient pour cela sur les modles de donnes dcrits dans cet ouvrage et supports par les SGBD.

2. HISTORIQUE DES SGBD


Les SGBD ont bientt quarante ans dhistoire. Les annes 60 ont connu un premier dveloppement des bases de donnes sous forme de fichiers relis par des pointeurs. Les fichiers sont composs darticles stocks les uns la suite des autres et accessibles par des valeurs de donnes appeles cls. Les systmes IDS.I et IMS.I dvelopps respectivement Honeywell et IBM vers 1965 pour les programmes de conqute spatiale, notamment pour le programme APOLLO qui a permis denvoyer un homme

I.3

sur la lune, sont les prcurseurs des SGBD modernes. Ils permettent de constituer des chanes darticles entre fichiers et de parcourir ces chanes. Les premiers SGBD sont rellement apparus la fin des annes 60. La premire gnration de SGBD est marque par la sparation de la description des donnes et de la manipulation par les programmes dapplication. Elle concide aussi avec lavnement des langages daccs navigationnels, cest--dire permettant de se dplacer dans des structures de type graphe et dobtenir, un par un, des articles de fichiers. Cette premire gnration, dont laboutissement est marqu par les recommandations du CODASYL, est base sur les modles rseau ou hirarchique, cest--dire des modles de donnes organiss autour de types darticles constituant les nuds dun graphe, relis par des types de pointeurs composant les arcs du graphe. Cette gnration a t domine par les SGBD TOTAL, IDMS, IDS 2 et IMS 2. Elle traite encore aujourdhui une partie importante du volume de donnes gres par des SGBD. La deuxime gnration de SGBD a grandi dans les laboratoires depuis 1970, partir du modle relationnel. Elle vise enrichir mais aussi simplifier le SGBD externe afin de faciliter laccs aux donnes pour les utilisateurs. En effet, les donnes sont prsentes aux utilisateurs sous forme de relations entre domaines de valeurs, simplement reprsentes par des tables. Les recherches et mises jour sont effectues laide dun langage non procdural standardis appel SQL (Structured Query Language). Celui-ci permet dexprimer des requtes traduisant directement des phrases simples du langage naturel et de spcifier les donnes que lon souhaite obtenir sans dire comment les accder. Cest le SGBD qui doit dterminer le meilleur plan daccs possible pour valuer une requte. Cette deuxime gnration reprend, aprs les avoir faits voluer et rendus plus souples, certains modles daccs de la premire gnration au niveau du SGBD interne, afin de mieux optimiser les accs. Les systmes de deuxime gnration sont commercialiss depuis 1980. Ils reprsentent aujourdhui lessentiel du march des bases de donnes. Les principaux systmes sont ORACLE, INGRES, SYBASE, INFORMIX, DB2 et SQL SERVER. Ils supportent en gnral une architecture rpartie, au moins avec des stations clients transmettant leurs requtes de puissants serveurs grant les bases. La troisime gnration a t dveloppe dans les laboratoires depuis le dbut des annes 80. Elle commence apparatre fortement dans lindustrie avec les extensions objet des systmes relationnels. Elle supporte des modles de donnes extensibles intgrant le relationnel et lobjet, ainsi que des architectures mieux rparties, permettant une meilleure collaboration entre des utilisateurs concurrents. Cette troisime gnration est donc influence par les modles objets, intgrant une structuration conjointe des programmes et des donnes en types, avec des possibilits de dfinir des sous-types par hritage. Cependant, elle conserve les acquis du relationnel en permettant une vision tabulaire des objets et une interrogation via le langage SQL tendu aux objets. Elle intgre aussi le support de rgles actives plus ou moins drives de la logique. Ces rgles permettent de mieux maintenir la cohrence des donnes en rpercutant des mises jour dun objet sur dautres objets dpendants. Les systmes objet-relationnels tels Oracle 8, DB2 Universal Database ou Informix Universal Server, ce dernier issu du systme de recherche Illustra, sont les premiers reprsentants des systmes de 3e gnration. Les systmes objets tels ObjectStore ou O2 constituent une voie plus novatrice vers la troisime gnration. Tous ces systmes tentent de rpondre I.4

aux besoins des nouvelles applications (multimdia, Web, CAO, bureautique, environnement, tlcommunications, etc.). Quant la quatrime gnration, elle est dj en marche et devrait mieux supporter Internet et le Web, les informations mal structures, les objets multimdias, laide la prise de dcisions et lextraction de connaissances partir des donnes. Certes, il devient de plus en plus dur de dvelopper un nouvel SGBD. On peut donc penser que les recherches actuelles, par exemple sur linterrogation par le contenu des objets multimdias distribus et sur lextraction de connaissances (data mining) conduiront une volution des SGBD de 3e gnration plutt qu une nouvelle rvolution. Ce fut dj le cas lors du passage de la 2e la 3e gnration, la rvolution conduite par lobjet ayant en quelque sorte choue : elle na pas russi renverser le relationnel, certes bouscul et adapt lobjet. Finalement, lvolution des SGBD peut tre perue comme celle dun arbre, des branches nouvelles naissant mais se faisant gnralement absorber par le tronc, qui grossit toujours davantage.

3. PLAN DE CET OUVRAGE


Ce livre traite donc de tous les aspects des bases de donnes relationnelles et objet, mais aussi objet-relationnel. Il est dcoup en quatre parties autonomes, elles-mmes divises en chapitres indpendants, en principe de difficult croissante. La premire partie comporte, aprs cette introduction, quatre chapitres fournissant les bases indispensables une tude approfondie des SGBD. Le chapitre II bauche le cadre gnral de l'tude. Les techniques de modlisation de donnes sont tout d'abord introduites. Puis les objectifs et les fonctions des SGBD sont dvelopps. Finalement, les architectures fonctionnelles puis oprationnelles des SGBD modernes sont discutes. L'ensemble du chapitre est une introduction aux techniques et problmes essentiels de la gestion des bases de donnes, illustres partir d'un langage adapt aux entits et associations. Le chapitre III se concentre sur la gestion des fichiers et les langages d'accs aux fichiers. Certains peuvent penser que la gestion de fichiers est aujourd'hui dpasse. Il n'en est rien, car un bon SGBD s'appuie avant tout sur de bonnes techniques d'accs par hachage et par index. Nous tudions en dtail ces techniques, des plus anciennes aux plus modernes, bases sur les indexes multiples et les hachages dynamiques multiattributs ou des bitmaps. Le chapitre IV traite des modles lgus par les SGBD de premire gnration. Le modle rseau tel qu'il est dfini par le CODASYL et implant dans le systme IDS.II de Bull est dvelopp. Des exemples sont donns. Le modle hirarchique d'IMS est plus succinctement introduit. Le chapitre V introduit les fondements logiques des bases de donnes, notamment relationnelles. Aprs un rappel succinct de la logique du premier ordre, la notion de bases de donnes logique est prsente et les calculs de tuples et domaines, la base des langages relationnels, sont introduits.

I.5

La deuxime partie est consacre au relationnel. Le modle et les techniques de contrle et doptimisation associes sont approfondis. Le chapitre VI introduit le modle relationnel de Codd et l'algbre relationnelle associe. Les concepts essentiels pour dcrire les donnes tels qu'ils sont aujourd'hui supports par de nombreux SGBD sont tout d'abord dcrits. Les types de contraintes d'intgrit qui permettent d'assurer une meilleure cohrence des donnes entre elles sont prciss. Ensuite, les oprateurs de l'algbre sont dfinis et illustrs par de nombreux exemples. Enfin, les extensions de l'algbre sont rsumes et illustres. Le chapitre VII est consacr l'tude du langage standardis des SGBD relationnels, le fameux langage SQL. Les diffrents aspects du standard, accept en 1986 puis tendu en 1989 et 1992, sont tout d'abord prsents et illustrs par de nombreux exemples. La version actuelle du standard accepte en 1992, connue sous le nom de SQL2, est dcrite avec concision mais prcision. Il s'agit l du langage aujourd'hui offert, avec quelques variantes, par tous les SGBD industriels. Le chapitre VIII traite des rgles d'intgrit et des bases de donnes actives. Le langage dexpression des contraintes dintgrit et des dclencheurs intgr SQL est tudi. Puis, les diffrentes mthodes pour contrler lintgrit sont prsentes. Enfin, les notions de base de donnes active et les mcanismes dexcution des dclencheurs sont analyss. Le chapitre IX expose plus formellement le concept de vue, dtaille le langage de dfinition et prsente quelques exemples simples de vues. Sont successivement abords : les mcanismes dinterrogation de vues, le problme de la mise jour des vues, lutilisation des vues concrtes notamment pour les applications dcisionnelles et quelques autres extensions possibles du mcanisme de gestion des vues. Le chapitre X prsente dabord plus prcisment les objectifs de loptimisation de requtes et introduit les lments de base. Une large part est consacre ltude des principales mthodes doptimisation logique puis physique. Les premires restructurent les requtes alors que les secondes dterminent le meilleur plan dexcution pour une requte donne. Loptimisation physique ncessite un modle de cot pour estimer le cot de chaque plan dexcution afin de choisir le meilleur. Un tel modle est dcrit, puis les stratgies essentielles permettant de retrouver un plan dexcution proche de loptimal sont introduites. La troisime partie dveloppe les approches objet et objet-relationnel. Les problmes fondamentaux poss par lobjet sont analyss en dtail. Le chapitre XI dveloppe l'approche objet. Les principes de la modlisation de donnes oriente objet sont tout d'abord esquisss. Puis, les techniques plus spcifiques aux bases de donnes objets, permettant d'assurer la persistance et le partage des objets, sont dveloppes. Enfin, ce chapitre propose une extension de lalgbre relationnelle pour manipuler des objets complexes. Le chapitre XII prsente le standard de l'ODMG, en l'illustrant par des exemples. Sont successivement tudis : le contexte et l'architecture d'un SGBDO conforme l'ODMG, le modle abstrait et le langage ODL, un exemple de base et de schma en ODL, le I.6

langage OQL travers des exemples et des syntaxes types de requtes, l'intgration dans un langage de programmation comme Java et les limites du standard de l'ODMG. Le chapitre XIII prsente le modle objet-relationnel, et son langage SQL3. Il dfinit les notions de base drives de lobjet et introduites pour tendre le relationnel. Il dtaille le support des objets en SQL3 avec de nombreux exemples. Il rsume les caractristiques essentielles du langage de programmation de procdures et fonctions SQL/PSM, appoint essentiel SQL pour assurer la compltude en tant que langage de programmation. Il souligne les points obscurs du modle et du langage SQL3. Le chapitre XIV prsente une synthse des techniques essentielles de loptimisation des requtes dans les bases de donnes objet, au-del du relationnel. Les nombreuses techniques prsentes sont issues de la recherche ; elles commencent aujourdhui tre intgres dans les SGBD objet-relationnel et objet. Une bonne comprhension des techniques introduites de parcours de chemins, dvaluation de cot de requtes, de placement par groupes, de prise en compte des rgles smantiques, permettra sans nul doute une meilleure optimisation des nouvelles applications. La dernire partie traite trois aspects indpendants importants des bases de donnes : extensions pour la dduction, gestion de transactions et techniques de conception. Le chapitre XV dcrit les approches aux bases de donnes dductives. Plus prcisment, il est montr comment une interprtation logique des bases de donnes permet de les tendre vers la dduction. Le langage de rgles Datalog est prsent avec ses diverses extensions. Les techniques doptimisation de rgles rcursives sont approfondies. Lintgration de rgles aux objets est exemplifie laide de langages concrets implments dans des systmes oprationnels. Le chapitre XVI essaie de faire le point sur tous les aspects de la gestion de transactions dans les SGBD centraliss. Aprs quelques rappels de base, nous traitons dabord les problmes de concurrence. Nous tudions ensuite les principes de la gestion de transactions. Comme exemple de mthode de reprise intgre, nous dcrivons la mthode ARIES implmente IBM, la rfrence en matire de reprise. Nous terminons la partie sur les transactions proprement dites en prsentant les principaux modles de transactions tendus introduits dans la littrature. Pour terminer ce chapitre, nous traitons du problme un peu orthogonal de confidentialit. Le chapitre XVII traite le problme de la conception des bases de donnes objetrelationnel. Cest loccasion de prsenter le langage de modlisation UML, plus prcisment les constructions ncessaires la modlisation de BD. Nous discutons aussi des techniques dintgration de schmas. Le chapitre dveloppe en outre les rgles pour passer dun schma conceptuel UML un schma relationnel ou objet-relationnel. La thorie de la normalisation est intgre pour affiner le processus de conception. Les principales techniques doptimisation du schma physique sont introduites. Enfin, le chapitre XVIII couvre les directions nouvelles dvolution des SGBD : datawarehouse, data mining, Web et multimdia. Ces directions nouvelles, sujets de nombreuses recherches actuellement, font lobjet dun livre complmentaire du mme auteur chez le mme diteur.

I.7

4. BIBLIOGRAPHIE
De nombreux ouvrages traitent des problmes soulevs par les bases de donnes. Malheureusement, beaucoup sont en anglais. Vous trouverez la fin de chaque chapitre du prsent livre les rfrences et une rapide caractrisation des articles qui nous ont sembl essentiels. Voici quelques rfrences dautres livres traitant de problmes gnraux des bases de donnes que nous avons pu consulter. Des livres plus spcialiss sont rfrencs dans le chapitre traitant du problme correspondant. [Date90] Date C.J., An Introduction to Database Systems, 5e edition, The Systems Programming Series, volumes I (854 pages) et II (383 pages), Addison Wesley, 1990. Ce livre crit par un des inventeurs du relationnel est tourn vers lutilisateur. Le volume I traite des principaux aspects des bases de donnes relationnelles, sans oublier les systmes bass sur les modles rseau et hirarchique. Ce volume est divis en six parties avec des appendices traitant de cas de systmes. La partie I introduit les concepts de base. La partie II prsente un systme relationnel type, en fait une vue simplifie de DB2, le SGBD dIBM. La partie III approfondit le modle et les langages de manipulation associs. La partie IV traite de lenvironnement du SGBD. La partie V est consacre la conception des bases de donnes. La partie VI traite des nouvelles perspectives : rpartition, dduction et systmes objets. Le volume II traite des problmes dintgrit, de concurrence et de scurit. Il prsente aussi les extensions du modle relationnel proposes par Codd (et Date), ainsi quune vue densemble des bases de donnes rparties et des machines bases de donnes. [Delobel91] Delobel C., Lcluse Ch., Richard Ph., Bases de Donnes : Des Systmes Relationnels aux Systmes Objets, 460 pages, InterEditions, Paris, 1991. Une tude de lvolution des SGBD, des systmes relationnels aux systmes objets, en passant par les systmes extensibles. Un intrt particulier est port sur les langages de programmation de bases de donnes et le typage des donnes. Le livre dcrit galement en dtail le systme O2, son langage CO2 et les techniques dimplmentation sous-jacentes. Un livre en franais. [Gardarin97] Gardarin G., Gardarin O., Le Client-Serveur, 470 pages, Editions Eyrolles, 1997. Ce livre traite des architectures client-serveur, des middlewares et des bases de donnes rparties. Les notions importantes du client-serveur sont dgages et expliques. Une part importante de louvrage est consacre aux middlewares et outils de dveloppement objet. Les middlewares objets distribus CORBA et DCOM sont analyss. Ce livre est un complment souhaitable au prsent ouvrage, notamment sur les middlewares, les bases de donnes rparties et les techniques du client-serveur. [Gray91] Gray J. Ed., The Benchmark Handbook, Morgan & Kaufman Pub., San Mateo, 1991. Le livre de base sur les mesures de performances des SGBD. Compos de diffrents articles, il prsente les principaux benchmarks de SGBD, en particulier le fameux benchmark TPC qui permet dchantillonner les performances des SGBD en transactions par seconde. Les conditions exactes du benchmark dfinies par le Transaction Processing Council sont prcises. Les benchmarks de luniversit du Madisson, AS3AP et Catell pour les bases de donnes objets sont aussi prsents. [Korth97] Silberschatz A., Korth H., Sudarshan S., Database System Concepts, 819 pages, Mc Graw-Hill Editions, 3e edition, 1997. I.8

Un livre orient systme et plutt complet. Partant du modle entit-association, les auteurs introduisent le modle relationnel puis les langages des systmes commercialiss. Ils se concentrent ensuite sur les contraintes et sur les techniques de conception de bases de donnes. Les deux chapitres qui suivent sont consacrs aux organisations et mthodes daccs de fichiers. Les techniques des SGBD relationnels (reprises aprs pannes, contrle de concurrence, gestion de transaction) sont ensuite exposes. Enfin, les extensions vers les systmes objets, extensibles et distribus sont tudies. Le dernier chapitre prsente des tudes de cas de systmes et deux annexes traitent des modles rseaux et hirarchiques. La nouvelle bible des SGBD en anglais. [Maier83] Maier D., The Theory of Relational Databases, Computer Science Press, 1983. Le livre synthtisant tous les dveloppements thoriques sur les bases de donnes relationnelles mens au dbut des annes 80. En 600 pages assez formelles, Maier fait le tour de la thorie des oprateurs relationnels, des dpendances fonctionnelles, multivalues, algbriques et de la thorie de la normalisation. [Parsaye89] Parsaye K., Chignell M., Khoshafian S., Wong H., Intelligent Databases, 478 pages, Wiley Editions, 1989. Un livre sur les techniques avances la limite des SGBD et de lintelligence artificielle : SGBD objets, systmes experts, hypermdia, systmes textuels, bases de donnes intelligentes. Le SGBD intelligent est la convergence de toutes ces techniques et intgre rgles et objets. [Ullman88] Ullman J.D., Principles of Database and Knowledge-base Systems, volumes I (631 pages) et II (400 pages), Computer Science Press, 1988. Deux volumes trs complets sur les bases de donnes, avec une approche plutt fondamentale. Jeffrey Ullman dtaille tous les aspects des bases de donnes, des mthodes daccs aux modles objets en passant par le modle logique. Les livres sont finalement trs centrs sur une approche par la logique des bases de donnes. Les principaux algorithmes daccs, doptimisation de requtes, de concurrence, de normalisation, etc. sont dtaills. A noter lauteur traite dans un mme chapitre les systmes en rseau et les systmes objets, quil considre de mme nature. [Valduriez99] Valduriez P., Ozsu T., Principles of Distributed Database Systems, 562 pages, Prentice Hall, 2e dition,1999. Le livre fondamental sur les bases de donnes rparties. Aprs un rappel sur les SGBD et les rseaux, les auteurs prsentent larchitecture type dun SGBD rparti. Ils abordent ensuite en dtail les diffrents problmes de conception dun SGBD rparti : distribution des donnes, contrle smantique des donnes, valuation de questions rparties, gestion de transactions rparties, liens avec les systmes opratoires et multibases. La nouvelle dition aborde aussi le paralllisme et les middlewares. Les nouvelles perspectives sont enfin voques.

I.9

You might also like