UML 2 pour les bases de données
14
© Éditions Eyrolles
Chaque enregistrement d’une table objet-relationnelle sera considéré comme un objet sur lequel
on pourra exécuter des méthodes définies au même niveau que sa structure.
Dans cette conception, l’accès aux données a été privilégié via les pilotes. Cette solution évite
toute redondance dans la base, mais pénalise l’accès aux données par les compagnies (la question « Quels sont les pilotes de la compagnie Air-France ? » entraînera le parcours de tous les
pilotes).
Les vues SQL3 des tables SQL2 peuvent simuler cette conception [SOU 04]. Une vue pourra
privilégier l’accès tantôt par une table, tantôt par une autre.
Bilan
Les SGBD objet et objet-relationnels trouvent leur origine dans les langages de programmation
objet. Il s’agit pour eux de ne permettre la manipulation des données qu’en utilisant une
méthode. L’objectif principal de l’approche objet est d’augmenter le niveau d’abstraction. La
technologie objet vise à réduire les différences entre le langage de programmation et la base de
données d’une part, et entre le monde à modéliser et le modèle de données d’autre part. Le
concept de l’objet induit ainsi une certaine idée de complémentarité entre les applications qui
manipulent des objets différents (métier, d’interface, de connexion réseau, etc.) et les données
stockées dans des SGBD. L’objet intervient dans la spécification, la programmation et l’accès
aux données.
Néanmoins, bien que SGBD et langages de programmation aient des points communs, ils
diffèrent par un aspect fondamental. En effet, un programme est censé résoudre un problème
donné, alors qu’une base de données a pour objectif de répondre à un ensemble de problèmes qui
sont en partie inconnus au moment de la création de la base. Ainsi, l’intégration de nombreux
services dans les objets d’une base de données nécessite au préalable l’identification exhaustive
de ces mêmes services, au moins à un niveau de généricité suffisant pour pouvoir les dériver
ultérieurement.
L’approche objet-relationnelle est innovante, mais n’est pas encore utilisée couramment dans les
nouvelles applications, car elle est peut-être trop récente et les concepts objet sont plus intéressants dans la programmation elle-même qu’au niveau des structures de données à stocker. Le
modèle relationnel a mis plus de 15 ans à s’imposer, laissons donc du temps à cette approche
prometteuse pour qu’elle s’affirme. En effet, l’approche objet-relationnelle ne repose pas sur
de nouveaux concepts, mais préserve tout ce qui a fait le succès des systèmes relationnels en y
ajoutant des extensions.
Par défaut, la tendance s’orienterait ces dernières années vers des techniques de mapping
(transformations automatiques de structures de données objet côté client en enregistrements de
tables relationnelles côté serveur). Bien qu’il existe des tentatives de normalisation venant
14
© Éditions Eyrolles
Chaque enregistrement d’une table objet-relationnelle sera considéré comme un objet sur lequel
on pourra exécuter des méthodes définies au même niveau que sa structure.
Dans cette conception, l’accès aux données a été privilégié via les pilotes. Cette solution évite
toute redondance dans la base, mais pénalise l’accès aux données par les compagnies (la question « Quels sont les pilotes de la compagnie Air-France ? » entraînera le parcours de tous les
pilotes).
Les vues SQL3 des tables SQL2 peuvent simuler cette conception [SOU 04]. Une vue pourra
privilégier l’accès tantôt par une table, tantôt par une autre.
Bilan
Les SGBD objet et objet-relationnels trouvent leur origine dans les langages de programmation
objet. Il s’agit pour eux de ne permettre la manipulation des données qu’en utilisant une
méthode. L’objectif principal de l’approche objet est d’augmenter le niveau d’abstraction. La
technologie objet vise à réduire les différences entre le langage de programmation et la base de
données d’une part, et entre le monde à modéliser et le modèle de données d’autre part. Le
concept de l’objet induit ainsi une certaine idée de complémentarité entre les applications qui
manipulent des objets différents (métier, d’interface, de connexion réseau, etc.) et les données
stockées dans des SGBD. L’objet intervient dans la spécification, la programmation et l’accès
aux données.
Néanmoins, bien que SGBD et langages de programmation aient des points communs, ils
diffèrent par un aspect fondamental. En effet, un programme est censé résoudre un problème
donné, alors qu’une base de données a pour objectif de répondre à un ensemble de problèmes qui
sont en partie inconnus au moment de la création de la base. Ainsi, l’intégration de nombreux
services dans les objets d’une base de données nécessite au préalable l’identification exhaustive
de ces mêmes services, au moins à un niveau de généricité suffisant pour pouvoir les dériver
ultérieurement.
L’approche objet-relationnelle est innovante, mais n’est pas encore utilisée couramment dans les
nouvelles applications, car elle est peut-être trop récente et les concepts objet sont plus intéressants dans la programmation elle-même qu’au niveau des structures de données à stocker. Le
modèle relationnel a mis plus de 15 ans à s’imposer, laissons donc du temps à cette approche
prometteuse pour qu’elle s’affirme. En effet, l’approche objet-relationnelle ne repose pas sur
de nouveaux concepts, mais préserve tout ce qui a fait le succès des systèmes relationnels en y
ajoutant des extensions.
Par défaut, la tendance s’orienterait ces dernières années vers des techniques de mapping
(transformations automatiques de structures de données objet côté client en enregistrements de
tables relationnelles côté serveur). Bien qu’il existe des tentatives de normalisation venant
