|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2006 Messages : 37 ![]() |
salut a tous
Je voudrais savoir dans quel cas on choisit d'utiliser une SGBD Objet à la place d'un SGBD relationel merci |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : novembre 2005 Messages : 266 ![]() |
Si je ne m'abuse la frontière entre ces deux types de SGBD est quasiment tombée maintenant, puisqu'on parle de SGBDRO (relationnel objet) : en effet les SGBDR ont désormais de plus en plus d'aspects objet.
Je crois cependant que LDAP est considéré comme SGBDOO me trompe-je ? |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() ![]() Inscription : janvier 2005 Messages : 311 ![]() |
On choisit d'utiliser un SGBD Objet à la place d'un SGBD relationnel quand on désire stocker des structures de données complexes sans les transformer en tables.
Il faut bien maîtriser quand même les techniques de normalisation pour ne pas stocker des données qui seraient redondantes. Le problème est qu'il existe peu de SGBD objet qui soient aussi opérationnels que le moindre SGBD relationnel. Il faut aussi bien connaître les concepts objets pour bénéficier au mieux des avantages de cette technologie. |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : septembre 2005 Messages : 73 ![]() |
Hello Sala,
Je vais essayé de te résumer les avantages d'un SGBDO par rapport à un SGBD traditionnel en espérant que cela t'aidera dans ta question. Un SGBDO ajoute au langage de programmation les capacités d'une base de données. Le langage de la base de données et le langage de programmation ne sont ainsi plus dissociés, ce qui résout en grande partie le problème de dysfonctionnement des langages de programmation, c'est à dire, les opérations de conversion d'une type de données vers un autre. Ces opérations sont couteuses et représentent une charge de travail supplémentaire. Un SGBDO utilise de plus des OID permettant d'identifier de manière unique un objet dans la base de données. Plusieurs implémentations de ces OIDs sont possibles et les mécanismes de gestion de ces OIDs diffèrent selon les SGBDOs. Un OID permet de référencer un objet comme un pointeur. Les relations entre les objets se font donc plus simplement et beaucoup plus rapidement qu'un SGBD traditionnel devant utiliser des clés, donc des valeurs pour effectuer des jointures complexes et souvent couteuse en ressource. un mécanisme d'optimisation des SGBDOs permet de convertir un OID en un pointeur mémoire, permettant ainsi de lier les objets chargés en mémoire entre eux. On obtient ici des performances identiques aux structures de mémoires du C par exemple. Un SGBDO permet donc de modéliser des modèles de données bien plus complexes. La sémantique des SGBD traditionnel restent simples mais efficaces. un SGBDO complexifie le modèle mais apporte bien plus de sémantique: * Objets permettant le regroupement de données similaires * Hiérarchie simple ou complexe * Généralisation et spécialisation * Encapsulation * Attributs virtuels * Procédures associées * Structures de données évoluées: * Listes, tableaux, ensembles triés, ... On parle souvent des performances assez pauvres d'un SGBDO. Tout dépend du domaine d'application dans lequel il est utilisé. Un SGBD traditionnel sera utilisé pour des applications ayant besoin de transactions courtes et rapides. Un SGBDO se place dans un contexte d'exportation des données à long terme, plusieurs heures, voir des jours, semaines. Les applications utilisant des SGBDO sont traditionnellement des application d'ingénierie (logiciel, mécanique, électronique) ou des application de bureautique. Les SGBDOs apportent de plus de nouveaux mécanismes de gestion de la concurrence avec la gestion des versions, ou la gestion de configuration. La norme ODMG a apporté un standard permettant une certaine pérénité des SGBDOs. L'OQL est un langage de requêtes proche de la syntaxe du SQL et apporte énormément de concepts assez puissants dans l'intérrogation de bases de données objets. OQL permet d'utiliser tous les concepts objets dans un langage de requêtes. Les résultats d'une requêtes ne sont plus simplement un tuple de données, mais peuvent être des collections, des listes, des tableaux, un objet unique. Il est possible d'appeler des procédures des objets directement dans les requêtes. Plusieurs types de SGBDO : * Langage de programmation de bases de données: Ce sont typiquement les SGBDOs que nous connaissons le plus (DB4O, Matisse, Objectivity, ...) * Les gestionnaires d'objets et les générateurs de bases de données * Les systèmes de bases de données relationnel étendus (Oracle par exemple avec les TADs). Je me suis laissé un peu emporté, je suis en pleine rédaction d'un essai de probatoire pour le CNAM sur les SGBDOs. N'hésite donc pas pour les questions. Cdlt, |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com