You are on page 1of 9

Informatique et Santé Collection dirigée par P. Degoulet et M.

Fieschi Paris, Springer-Verlag France Nouvelles Technologies et Traitement de l'Information en Médecine Rédacteurs : H. Ducrot, E. Martin et J. -R. Scherrer Volume 4 - 1991

Les systèmes de gestion de bases de données orientés-objet et la gestion des données multimédia
François Bancilhon

O2 Technology, BP 105, 78153 Le Chesnay Cedex
Abstract

This paper presents the principles of object-oriented databases systems (OODBS) and their application to multimedia applications. We first recall the recent evolution of database technology. We present the main characteristics of OODBSs and we show how these apply to multimedia data management. Finally, we give a short description of an example of an OODBS, the O2 System.
Informatique et Santé, 1991 (4) : 59-70

1 Introduction
Le problème de la gestion des données multimédia se pose de façon particulièrement aiguë dans les systèmes de gestion de base de données (SGBD). En effet, ces systèmes ont été développés pour des applications orientées vers la gestion et ne permettent de stocker de façon naturelle que des données de type factuel ou alphanumérique. Les systèmes de gestion de bases de données ont fait récemment l'objet de nouveaux développements. Parmi ceux-ci, l'un des plus prometteurs est l'apparition du concept de Système de Gestion de Bases de Données Orienté-Objet (SGBDOO). Ces systèmes répondent notamment au problème de la gestion de données multimédia.

2 Un peu d'histoire
Un Système de Gestion de Base de Données (SGBD) offre des facilités de stockage, d'accès, de manipulation de grands volumes de données. Les SGBD garantissent également la cohérence des données (en cas de mise à jour simultanée par plusieurs utilisateurs), leur intégrité (en cas d'opération incorrecte par un programme ou un utilisateur), leur fiabilité et leur récupération (en cas de panne matérielle ou logicielle) et leur confidentialité (en cas d'accès malveillant ou accidentel). Historiquement, plusieurs générations de systèmes se sont succédées. Les premières applications informatiques nécessitant les fonctions d'un SGBD furent les applications de gestion : gestion de stocks, comptabilité, paye, etc. Les deux premières générations de SGBD (réseaux et relationnels) ont donc été conçues à la mesure de ces applications.

Or. Ontologic. les données sont modélisées par des structures de type graphe (modèle réseau) ou arbre (modèle hiérarchique). Parallèlement. Vbase [4]. Parmi les plus importants.) nécessitant l'utilisation de bases de données. faciles d'utilisation et puissants. 1 Data Base Task Group . Les vertus de la programmation par objet sont largement reconnues : puissance des concepts. Les systèmes IDS II. productique. Ils offrent l'intégration complète des concepts de la programmation par objet et des bases de données. comme des images radiographiques ou des textes annotés. ainsi que de méthodes de conception d'applications basées sur des méthodologies systématiques. En France. 1978). réutilisation du code (notamment par le biais de boites à outils) et maintenance aisée du code. A partir de ce prototype. Enfin. La technologie des SGBD relationnels est parvenue à un degré de standardisation et de maturité tel que les systèmes sont difficilement différentiables tant en fonctionnalités qu'en performances. une compagnie originellement créée pour commercialiser des stations de travail. La "navigation" constitue le principal inconvénient de ces systèmes : on manipule les données en suivant des pointeurs physiques vers l'information recherchée. La première apparition du concept date de 84 avec la proposition de David Maier et George Copeland de construire un SGBD à partir de Smalltalk [8]. Parallèlement. • l'absence de langage de programmation intégrant la manipulation de la base de données et la programmation classique. IDMS et Adabas font partie des systèmes CODASYL diffusés à ce jour. Servio Logic construit un produit commercial. 1973. comme des dossiers médicaux structurés. Dans ces systèmes. Avec IMS et son modèle dit hiérarchique. Gemstone. La productivité du programmeur en est considérablement améliorée. 2.2 Les années 80 : les systèmes relationnels Le modèle relationnel représente toutes les informations sous forme de tables et offre quelques opérations simples pour manipuler ces tables. génie logiciel. la communauté scientifique s'intéresse aux SGBD permettant de stocker des objets à structure complexe et de nombreux prototypes voient le jour. réalisé par Klaus Dittrich à l'Université de Karlsruhe. La simplicité du modèle en tant qu'interface externe a permis la définition de langages de requêtes simples. etc. Les programmes sont donc dépendants de l'organisation physique des fichiers sur le disque et les applications doivent donc être profondément modifiées à chaque réorganisation physique. mis sur le marché en 88. en particulier dans celui des interfaces homme-machine. IRIS. les langages orientés-objet constituent le support privilégié du développement du dialogue homme-machine. en Europe. Ces vertus ont été mises en relief dans de nombreux domaines. Le langage d'interrogation SQL a fait l'objet d'une nonne et constitue un standard de fait auquel aucun vendeur ne peut maintenant échapper. les années 80 ont vu apparaître de nouvelles applications (CAO.3 Les années 90 : les systèmes orientés-objet Les systèmes relationnels constituent une première réponse aux problèmes de la gestion traditionnelle. citons Damokles.2. ou multimédia. Ces nouvelles applications ont mis en évidence les insuffisances majeures des systèmes relationnels : • l'inadéquation du modèle relationnel à représenter directement des données complexes. Les SGBD orientés-objet sont la réponse directe aux problèmes des nouvelles applications. mis sur le marché à peu près au même moment et retiré de la vente un an plus tard pour de nombreuses raisons. puis la nonne ANSI (1981) ont normalisé le modèle de données et les systèmes qui le supportent. Dans le laboratoire de Hewlett Packard. démarré en 83 [10]. • l'absence d'intégration des outils bases de données et des outils de programmation. PAO.1 Les années 70 : les systèmes de première génération. IBM est le seul acteur important à n'avoir pas respecté cette norme. "réseaux" ou "hiérarchiques" Les travaux du DBTG (1) (rapports CODASYL de 1971. évolue progressivement vers un produit de type SGBD orienté-objet. 2. réalise un produit. Ils offrent de bonnes performances pour manipuler les données complexes. • la pauvreté graphique et ergonomique des outils d'interface homme-machine. un projet de prototypage d'un SGBD de type fonctionnel. multimédia. Graphaël en collaboration avec l'Université de Compiègne travaille sur la persistance dans Lisp. programmation modulaire. • les performances insuffisantes dans la manipulation de données complexes. Ils répondent au problème de pauvreté du modèle en en proposant un plus riche et extensible.

Ces compagnies mettent des produits sur le marché en fin 90 et début 91. France en 86. Les fonctionnalités essentielles d'un SGBD sont au nombre de 6. Pour cela. Object Design. 3. Texas en 85.Deux grands projets de recherche en SGBD orientés-objet débutent: le projet ORION de MCC. générique (indépendant d'une application spécifique) et optimisable (un optimiseur doit pouvoir transformer les requêtes en un code efficace).3 Le partage des données Le système doit permettre à plusieurs utilisateurs de manipuler les données concurremment.5 La confidentialité des données Le système doit assurer la confidentialité des données. Les données sont persistantes si elles survivent à l'exécution des programmes. Le système doit supporter des mécanismes de cession et de retrait de droits. mais une interface graphique peut être une autre possibilité. Il nous faut donc définir l'aspect " orienté-objet" du système et c'est ce que nous faisons avec les règles suivantes. non un système orienté-objet en soi. Il doit supporter la notion de transaction comme unité d'opération atomique sur la base. d'indexation. 3. mais plutôt les caractéristiques . 3 Définition d'un SGBD Il importe tout d'abord de définir un SGBD indépendamment d'une technologie (hiérarchique. d'écriture et d'exécution sur les entités de la base. Des mécanismes de reprise sur panne mémoire centrale et de reprise sur panne disque doivent être disponibles. il doit reconnaître la notion d'utilisateur. 3. et le projet Altaïr. Une transaction doit être atomique. à Austin. 3. Le langage de requête doit être déclaratif (on spécifie ce que l'on veut savoir et non la façon dont l'information doit être évaluée).4 La fiabilité des données Le système doit assurer la fiabilité des données. on ne doit pas avoir à écrire un programme. d'optimisation de requêtes et de gestion de zone tampon et de cache. On doit pouvoir spécifier des points de reprise et y retourner. Cela signifie que. L'ensemble de ces 6 règles représente le consensus de la communauté base de données sur ce qu'est un SGBD. 3. Versant et Objectivity sont créées aux USA en 89. il doit utiliser des techniques éprouvées de regroupement. c'est-à-dire soit exécutée complètement soit pas du tout. Notons que l'ensemble des SGBD du marché satisfait peu ou prou à ces règles. Pour cela. Un langage de requête est une façon de satisfaire ce besoin. Il doit au minimum assurer la sériabilité des transactions. à Rocquencourt. Il est cependant important de noter que ces règles définissent.6 L'interrogation ad hoc Le système doit permettre à l'utilisateur d'interroger la base de façon simple et naturelle. 3.2 La gestion du disque Le système doit pouvoir efficacement gérer une hiérarchie de mémoire Il doit le faire avec des performances acceptables. Des start-up de nouvelle génération.1 La persistance Le système doit assurer la persistance des données. lui associer des droits de lecture. 4 Définition d'un SGBD orienté-objet Un SGBD orienté-objet est un SGBD qui supporte un modèle de données orienté-objet. pour extraire des informations de la base de données. relationnelle ou objet) spécifique. ainsi que O2 Technology en France en 90.

Ensuite. c'est-à-dire que tout constructeur doit pouvoir être appliqué à tout objet.5 Les types ou les classes Le système doit permettre de regrouper les objets en classes ou de les typer. Dans un SGBD. des ensembles de n-uplets d'atomes (des relations). Ils ont alors souvent contourné la difficulté de plusieurs façons : en associant systématiquement à chaque variable de la partie donnée une méthode (opération en jargon orientéobjet) de lecture et une méthode d'écriture.d'un système orienté-objet qu'il parait bon d'importer dans un SGBD. un objet recouvre les notions de données et d'opérations. L'ensemble de ces règles est maintenant admis par la communauté scientifique et commerciale comme un consensus minimal. Un type contient donc la description de l'interface des objets. Un objet consiste en une interface et un contenu. doivent être traitées de la même façon à l'intérieur des programmes. Cette dernière restriction a souvent gêné les habitués du monde des bases de données qui sont par nature "orientés-données" plutôt que orientés-objet.. les chaînes de caractères et les bitmaps. Tout d'abord. ou en mettant dans la partie interface non seulement les opérations. On peut ainsi générer des n-uplets d'atomes. des opérations de l'interface. 4.4 L'encapsulation Le système doit supporter la notion d'encapsulation. des n-uplets de n-uplets (des structures hiérarchiques). mais aussi les données. c'est-à-dire que toute donnée de tout type doit pouvoir persistent Elle doit être facultative. La partie opération décrit l'implémentation. que deux objets distincts peuvent avoir un composant commun et qu'un objet peut être cyclique. Us constructeurs sont le constructeur ensemble. C'est-à-dire que les données. Ceci signifie notamment que l'égalité et l'identité d'objet sont deux notions distinctes. c'est-à-dire que l'on doit pouvoir manipuler des données temporaires et des données persistantes. Notamment. 4. qu'elles soient persistantes ou non. 4. Un objet complexe est un objet construit à partir d'objets atomiques par l'application répétée de constructeurs d'objets. Elle doit être transparente. Les objets ayant des caractéristiques communes doivent être regroupés dans une classe ou un type qui représente l'abstraction commune de ces objets.3 L'identité d'objet Les objets doivent avoir une identité indépendamment de leur valeur. Le typage fort des données permet de révéler des erreurs et anomalies à la compilation plutôt qu'à l'exécution. 4. des ensembles de n-uplets d'atomes ou de d'ensembles de n-uplets.2 Les objets complexes Le système doit permettre de gérer des objets complexes. la seule façon d'opérer sur un objet est via une des opérations de l'interface. la description de la structure de la partie donnée et les procédures ou fonctions implémentant les opérations spécifiées dans l'interface. L'interface est la description d'un ensemble d'opérations que l'on peut effectuer sur l'objet. il est impossible d'accéder directement aux données de l'objet. les réels. Les objets atomiques sont les entiers. c'est-à-dire une façon de fabriquer de nouveaux objets (l'usine à objets) et l'idée de l'ensemble des objets qui ont été générés par cette classe autrement dit l'extension de la classe (le hangar à objets) La notion de type est introduite comme méthode de structuration de l'information ainsi que comme moyen d'assurer la fiabilité des programmes. le constructeur liste et le constructeur n-uplet. Elle contient l'idée d'un générateur d'objets.. et ainsi de suite. Les constructeurs doivent pouvoir être appliqués de façon orthogonale. c'est-à-dire être lui-même un de ses propres composants. sous forme de code. Elle sert en outre à l'optimisation des performances : dans un système à typage fort.1 La persistance Le système doit assurer la persistance des données. les caractères. la notion de type sert aussi comme outil de structuration de l'information. Cette persistance doit être orthogonale au système de type. 4. les booléens. Le contenu consiste en une partie mémoire et une partie opération. Le principe de l'encapsulation regroupe deux idées. Une classe est une notion légèrement différente de celle de type. sans passer par les opérations de l'interface. l'information . La partie mémoire décrit les données de l'objet. (des relations N172).

L'approche orienté-objet n'exclut pas bien entendu l'intérêt d'autres SGBD. Il est en revanche possible que les classes système soient mise en œuvre de manière différente. ils offrent une meilleure réutilisation du code.7 La surcharge et le lien dynamique Le système doit permettre la redéfinition des opérations. Les systèmes relationnels. Le mécanisme de surcharge est basé sur la redéfinition. 2.9 L'extensibilité Le système doit permettre l'extension par l'utilisateur de l'ensemble des classes ou types prédéfinis.sur les types permet d'une part de choisir une structure de données optimale pour cette représentation. Ceux-ci peuvent être soit des classes ou objets génériques (par exemple la classe "Quantité' ou la classe "Daté'). la maintenance et l'évolution des programmes. 5 L'apport des SGBD orientés objet Qu'apportent les Systèmes de Gestion de Bases de Données Orientés-Objet par rapport aux systèmes classiques ? Leurs apports peuvent se classifier d'une part du point de vue de la programmation des applications. les SGBDOO bénéficient de la technologie orientée-objet et donc facilitent la conception. les SGBDOO permettent de gérer directement des objets à structure complexe (sans avoir à les traduire sous forme de relations) ainsi que des objets multimédia tels des graphiques. Cette limitation ne saurait s'appliquer à un SGBDOO dont le langage doit être complet et doit permettre l'écriture de tout programme possible. 4. du son. Si les langages de programmation sont de façon générale des langages complets au sens de Turing (c'est-à-dire qu'ils permettent d'exprimer tous les programmes possibles). des textes. De plus. il n'en va pas de même pour les langages de requêtes des SGBD. d'autre part d'effectuer une compilation profonde du code manipulant cette structure. Cet ensemble de classes et d'objets doit pouvoir être étendu à volonté par l'utilisateur. Cela signifie en général que la structure de la classe contient plus d'informations ou des informations plus spécifiques. 4. Une même opération peut alors prendre plusieurs significations selon la classe de l'objet auquel elle s'applique. Une classe hérite d'une autre classe si elle est plus spécifique ou plus spécialisée. Enfin. et d'autre part pour le stockage des données de type nouveau. Il s'agit certainement là d'un des concepts centraux de la technologie objet. etc. Ceux-ci sont en effet incomplets en ce sens qu'ils ne permettent d'exprimer qu'un nombre limité de questions sur la base. . 4. par le poids de leur histoire et de leur part de marché sont fait pour durer (de même que leur apparition n'a pas fait disparaître les systèmes de première génération). ils bénéficient de l'intégration directe de la base de données et du langage de programmation évitant ainsi ce qu'on nomme le "dysfonctionnement" entre le langage de programmation et le langage de manipulation de données. "Lign" et "Surface" pour des applications de type cartographique). des bitmaps. En ce qui concerne la programmation. soit des classes et objets spécifiques à un domaine d'applications déterminé (par exemple les classes "Point". La technologie orientée-objet permet l'extensibilité et permet ainsi de définir et d'utiliser de nouveaux types de données. 1. Du point de vue de la nature des données. Il permet de redéfinir pour une sous-classe une opération héritée de sa super-classe. et que les opérations associées sont plus nombreuses.6 L'héritage Le système doit permettre de définir une hiérarchie de classes ou de types. Le système doit être fourni avec un ensemble de classes (ou de types) et d'objets prédéfinis. le développement. il doit être impossible de faire la différence entre les classes utilisateur et les classes système. 4. l'encapsulation définit un protocole rigoureux pour son utilisation et l'héritage permet de personnaliser le composant à son usage propre.8 La complétude Le système doit permettre la programmation complète d'applications. C'est l'encapsulation et l'héritage qui font du modèle objet le candidat parfait à la réutilisation du logiciel et à la définition de composant logiciel : l'objet (données+programmes) est la bonne abstraction du composant logiciel. c'est-à-dire la capacité de résoudre le nom d'une opération à l'exécution et non à la compilation. Pour le programmeur. Le support de la surcharge implique en général un lien dynamique.

• volume : parce que les systèmes objets visent particulièrement le support des données multimédia. booléens. document. génie logiciel. • ouverture : il n'est pas possible de définir de façon statique et définitive l'ensemble des types de données multimédia. • dynamicité : l'appellation données multimédia est relativement impropre car des opérations spécifiques sont attachées à ces données.D'autres approches concurrentes. Son intérêt est alors d'offrir une meilleure productivité au développeur d'applications dans les phases de conception. présentent des avantages intéressants pour des domaines d'application spécifiques. La notion de type abstrait de données est donc plus adéquate pour les modéliser que la notion habituelle de données. graphique. 6 La gestion des données multimédia Par données multimédia. codage. image. on entend en général les données de type alphanumérique. ou bits) ou à des objets.). Les méthodes sont les opérations que l'on peut appliquer à l'objet. les gestionnaires physiques qui les sous-tendent sont adaptés à la manipulation de données atomiques de grandes tailles (plusieurs méga-octets) • dynamicité la notion d'objet définie comme ayant une mémoire et un ensemble d'opérations est particulièrement bien adaptée au support des données multimédia qui se définissent comme des types avec des opérations associées. une image doit pouvoir être affichée. par exemple un environnement CAO (de mécanique. Les systèmes orientés-objet répondent bien à chacun de ces besoins. 2.) Le système permet en outre à l'utilisateur d'étendre cet ensemble en y rajoutant les classes spécifiques dont il a besoin. Par exemple.1 Le modèle de données Un objet en O2 a une valeur. textuel et sonore. O2 peut être utilisé de deux façons : 1. caractères. 7. réels. le support des objets complexes permet d'implémenter directement des objets multimédia à structure complexe qui comportent des informations de type divers et l'identité d'objet permet notamment le partage d'un même objet entre deux objets multimédia. ensemble et liste à des valeurs atomiques (entiers. . déplacée. L’identité d'objet permet notamment de partager un même composant entre plusieurs objets ou d'avoir des objets cycliques. • ouverture et diversité : un SGBD orienté-objet est en général livré avec une "boite à outils" de classes prédéfinies. etc. électronique. pictoriel. 7 O2 un exemple de SGBD orienté-objet O2 est un système de gestion de bases de données orienté-objet doté d'un environnement complet et d'outils d'interface homme-machine. Comme le composant SGBD d'un ensemble complexe. Cet ensemble de classe inclut en général les types de base nécessaires (texte. Les données multimédia posent plusieurs types de problèmes • volume : ces données occupent des volumes importants (une image par exemple peut représenter plusieurs mégaoctets) • diversité de nature : elles sont de natures très variées (graphique et image sont en fait des objets de structure et de comportement très différents) . etc. diminuée. Comme un environnement complet de développement d'applications. une identité et un ensemble de méthodes. factuel. notamment celles des SGBD déductifs. éditée etc. En outre. L'ensemble doit donc être considéré comme extensible. Son intérêt est alors de gérer des objets complexes efficacement. maintenance et évolution et de permettre le développement d'applications de qualité en terme d'interfaces. La valeur peut être une valeur complexe construite en appliquant les constructeurs n-uplet. chaînes. agrandie.

} Le langage de requêtes. le système O2 a été conçu comme un système ouvert utilisable à partir d'applications écrites en différents langages. h. soit en rajoutant de nouvelles méthodes.equipement Système ouvert Tout programmeur doit être libre d'écrire des applications dans le langage de son choix.nom = "Paris" and "scannerl" in h. O2C O2C est une extension naturelle de C permettant de déclarer des objets O2. mais peut aussi être utilisé interactivement. soit en définissant un sous-type de valeur. ceci permet à une application C++ d'accéder à une base O2 existante. on peut rendre persistants les objets qu'elle manipule et les stocker dans une base O2 grâce à quelques fonctions simples. mais ADA et Fortran sont des candidats évidents. Inversement. composition d'attributs. Voici la formulation de la requête permettant d'obtenir les noms et le nombre de lits des hôpitaux parisiens disposant d'un scanner : select tuple (h.ville. Voici par exemple la définition de la classe Hôpital: class Hopital type tuple(nom string. construction de valeurs complexes. tarif : tuple(chirurgie : Money. nombre-de-lits : integer.nombre_de_lits) from h in Hopital where h. de façon autonome. dans le cas du langage C++ (2) .adresse. de pouvoir y créer des objets. de leur envoyer des messages et de manipuler leurs valeurs complexes.3 Les fonctionnalités bases de données O2 Offre les mécanismes standards de gestion de transactions (exécutions concurrentes des transactions fondées sur le verrouillage à deux phases) et la gestion des reprises à chaud et à froid. Les classes peuvent être spécialisées. self->tarif->soins-intensifs *= taux. Voici le corps de la méthode qui permet d'augmenter les tarifs d'un hôpital : method body augmenter (integer increment) in class Hopital { self->tarif->chirurgie *= taux . 7. Ainsi. soins-intensifs : Money" method public augmenter(integer increment) end 7. en ce sens que l'accès associatif à un ensemble d'objets se fait par un bloc select-from-where. O2Query O2Query est un langage de requêtes simple et puissant permettant de manipuler (interrogation et mise à jour) les objets O2 suivant leur structure et leurs méthodes. adresse : Adresse. soit en spécialisant les anciennes. L’exemple qui suit montre ses possibilités : prédicats de test sur des ensembles. . pour une application C++ déjà réalisée. et de leur envoyer des messages. O2Query est parfaitement intégré dans O2C. Ces mécanismes sont assurés par 2 Les deux premières connexions envisagées sont C++ et C. C'est pourquoi.Les objets ayant même type de valeur et même ensemble de méthodes sont regroupés dans une même classe.2 Les langages Le langage d'écriture de méthodes. Le langage est de type fonctionnel et a un "look" SQL.nom. equipement : list(string).

Une première version du prototype final a été présentée publiquement en mars 89 et la version complète du système a été démontrée à la communauté scientifique en octobre 89. . O2 est pourvu également d'un mécanisme de protection des informations (confidentialité. souris). Le GIP. Siemens-Nixdorf. Le produit O2 est ainsi le résultat de 4 itérations de conception.4 Les autres outils Les outils d'interface O2Look O2Look est un ensemble d'outils permettant au développeur de réaliser rapidement des interfaces d'une grande qualité (graphisme.5 Développement et état actuel O2 a été conçu et réalisé dans le cadre du Groupement d'intérêt Public (GIP) Altaïr. Un premier prototype jetable a été présenté aux partenaires en décembre 87. Afin d'optimiser la réalisation des applications. O2 fonctionne en deux modes : un mode développement. réalisation et évaluation. En septembre 89. droits d'accès) et de manipulation multi-base. O2Look permet au programmeur de visualiser des objets éditables et activables à l'écran.. Ce produit a été mis en beta-test en décembre 90 et est maintenant disponible commercialement. Ce sont les caractéristiques essentielles de ce produit. fonctionne depuis septembre 1986 et a été créé pour une durée de 5 ans. Les trois premières années ont été consacrées au prototypage du système. éditer et se promener dans le schéma et la base. Une boite à outils fournissant des classes et des objets prédéfinis (Date. Le système est implémenté en C et C++. Cet objectif sera pleinement réalisé en septembre 1991 quand le GIP fermera ses portes. Une version mono-machine du prototype a été diffusée à une quarantaine de sites universitaires et industriels depuis juillet 89. Le langage de requêtes en mode interactif permet enfin de visualiser le contenu de la base. Il offre deux types de service : un service "prêt à porter" d'affichage standard des objets à l'écran et un service "sur mesure" d'affichage personnalisé par le développeur. maintenir. 7. Son objectif majeur était de concevoir et de développer un SGBD de nouvelle génération. commercialiser et supporter le produit O2. Il comprend de nombreux outils couvrant l'ensemble du cycle de développement : un navigateur pour visualiser. Enfin. dont les partenaires sont l'INRIA. a été créée en Novembre 90 avec pour but de développer.. le système sera ensuite immédiatement porté sur stations à base de processeur MIPS. Nous pensons qu'ils sont promis à un grand avenir car : • La pression de l'offre est forte. universités et constructeurs font rapidement progresser la technologie. O2Look est réalisé en C++ en utilisant Motif. 8 Conclusion Les SGBD orientés-objet sont donc un développement nouveau et particulièrement séduisant des systèmes de bases de données. que nous avons présentées ici. Bull. menus. O2 est conçu et optimisé pour opérer sur une configuration serveurs/postes de travail.un gestionnaire d'objets qui gère les échanges entre le serveur et les stations sur le réseau. O2 Technology. Les premières versions sont opérationnelles sur Sun et HP. Pour cette activité une évaluation complète du prototype a été effectuée qui a conduit à un certain nombre de changements majeurs dans la conception du produit. un chargeur permet de récupérer des données d'une base existante ou d'un fichier ASCII. un débogueur pour mettre au point l'application. De nombreuses start-ups sont activement en train de mettre des produits sur le marché. De nombreux laboratoires de recherche. et O2Tools est écrit en O2C en utilisant O2Look. le GIP a été scindé en deux groupes : un groupe Recherche qui a poursuivi les activités à long terme et un groupe Développement qui construit le produit. 7. O2 garantit la séparation des niveaux logique et physique : l'administrateur d'une base O2 peut spécifier les caractéristiques physiques de la base indépendamment des autres aspects. et un mode exécution. Une société commerciale. L'environnement de programmation O2Tools O2Tools est un environnement graphique complet de développement d'applications pour O2. ) et un générateur de rapports facilitent la réalisation d'applications usuelles. dans lequel on privilégie la vitesse d'exécution de l'application. le CNRS et l'Université de Paris-Sud. . Money. Ces caractéristiques sont essentiellement le regroupement (l'administrateur de la base peut donner des "conseils" au système sur la façon de regrouper les données sur disque pour minimiser le nombre d'entrées/sorties) et les index sur les ensembles d'objets. dans lequel on privilégie la souplesse et la facilité d'évolution de l'application.

An object-oriented DBMS for design support applications. The HyperModel Benchmark. gestion de données multi-média) puis. Deux et al. Benchmarking Database Systems: A Systematic Approach. Report. [9] G-Base version 3. Ontologic Inc. Development of an object-oriented DBMS Report CS/E-86-005. ACM TOOIS. June 1984. Sigmod Record. 5(l):48-69. Oregon Graduate Center. avril 86 [12] Rubenstein WB. [11] Maier D. 1987. Lyngbaek P. December 1989. Data model issues for objectoriented applications. 1987. In: Proc Very Large Data Base Conférence septembre 1983. Purdy A. 5(1):3-26. 1987. avril 1985. Beech D. Kubicar MS and Cattell RGG. Shan MC. Kent W. 1990. 16(2):387-394. Kyoto. ACM TOOIS. Dans de nombreux domaines d'applications. Benchmarking Simple Database Operations. Venise.• • La pression de la demande est forte. Making Smalltalk a Database System. Iris : an object-oriented database management system. Derrett N. Kim W. Woelk D. march 1990. [7] O. aborder des marchés plus traditionnels de la gestion. De nombreux utilisateurs sont d'ailleurs en train d'évaluer la technologie des SGBDOO. SIGMOD. Mahbod B. [3] Atkinson . S. 14(2):316-325. Graphael. [2] Anon et al. Références [1] Anderson TL. EDBT. Boston. Garza J. Measure of Transaction Processing Power. Connors T. San Francisco. à plus long terme. In: Proc. DeWitt D. Davis JW. In: Proc. 40-57. Ryan TA. Porter HT and Schneider B. DOOD'89. CAO. [6] Bitton D. Bancilhon F. The Story of O2. DeWitt DJ and Turbyfil C. [4] Atwood T. Sigmod Record. Berre AJ. Maier D and Zdonik. may 1987. [8) Copeland G and Maier D. Cate HP. Stein J. IEEE Transactions on Knowledge and Data Engineering. Dittrich K. Chow EC. Les SGBD orientés-objet devraient donc d'abord se développer dans des niches spécifiques (informatique scientifique et technique. In: Proc. In: Proc ACM/Sigmod. 1984. [10] Fishman D. Mallison M. 1988. Neimat MA. 317-331. The Object-Oriented Database Manifesto. Chou HT. Ballou N and Kim HJ. 2(l): 91-108. Datamation. génie logiciel. une demande claire et exprimée de SGBD n'est actuellement que peu ou mal satisfaite par les technologies traditionnelles. Hoch CG. [5] Banerjec J. Introductory guide. . Otis A.