Une liaison multibases[1],[2] permet à un composant logiciel de se coupler à une ou plusieurs bases de données relationnelles.

Un serveur multibases est intégré dans le SGBD. Le standard ISO RDA, SQL*NET d'Oracle, NETLIB de MS SQL Server, ESQL/DRDA pour DB2 d'IBM sont des exemples de tels serveurs.

Le composant logiciel peut accéder aux bases de données via un client multibases. La norme ISO RDA[3], ou un client CLI du SAG[4] comme ODBC[5] de Microsoft ou JDBC[6] de SUN sont des exemples de tels clients.

Problème principal avec les multibasesModifier

Le problème principal est la jointure[7] de deux tables appartenant à des bases de données différentes se trouvant dans des SGBD différents. Le problème réside dans le fait que pour joindre des tables, il faut disposer de celles-ci sur la même machine. La solution consiste donc à «télécharger» les tables puis à effectuer la jointure en local sur le poste client. Cette solution n'est pas problématique si la jointure se fait sur des sous-ensembles des deux tables (sélections préalables) mais est désastreuse en termes de performance si elle nécessite une jointure sur un vaste ensemble de lignes de chaque table, par exemple la totalité de celles-ci.

Notes et référencesModifier

  1. Witold Litwin: An Overview of the Multidatabase System MRDSM. ACM Annual Conference - The range of computing: mid-80's perspective 1985: 524-533
  2. Witold Litwin, Abdelaziz Abdellatif: Multidatabase Interoperability. IEEE Computer 19(12): 10-18 (1986)
  3. Remote Database Access
  4. SQL Access Group ; consortium fondé en 1988 et réunissant 44 éditeurs de SGBD ayant comme objectif de définir un standard d'interopérabilité entre clients et SGBD
  5. Open DataBase Connectivity
  6. Java DataBase Connection
  7. Witold Litwin: MALPHA: A Relational Multidatabase Manipulation Language. ICDE 1984: 86-93