II.3.2. Comparaison avec les bases de données
réseaux
Pour rappel, le modèle réseau est en mesure de
lever de nombreuses difficultés du modèle hiérarchique
grâce à la possibilité d'établir des liaisons de
type n-m en définissant des associations entre tous les types
d'enregistrements. Pour retrouver une donnée dans une telle
modélisation, il faut connaître le chemin d'accès ceci rend
encore les programmes dépendants de la structure de données.
D'une manière plus claire, Ils permettent de modéliser des
articles stockés dans des fichiers ainsi que les liens entre ces
articles. Ces modèles dérivent avant tout d'une approche
système au problème des bases de données qui tend à
voir une base de données comme un ensemble de fichiers reliés par
des pointeurs. Ils privilégient l'optimisation des
entrées-sorties. C'est pourquoi nous les appelons aussi
modèles d'accès.
Dans un modèle orienté-graphe, on utilise le
langage de modélisation NoSQL utilisant les algorithmes de plus court
chemin, de calcul de centralité, etc. mais dans le modèle
réseau, sont associés des langages de manipulation de
données sont basés sur le parcours de fichiers et de liens entre
fichiers, article par article, appelés langages navigationnels. Ces
langages sont très caractéristiques des modèles
d'accès. L'utilisation de algorithmes de la Théorie de graphes
dans les bases de données graphe permet de faciliter la manipulation
qu'en utilisant les bases de données réseaux bien qu'utilisant
tous les pointeurs physiques.
Du point de vue de la performance, les bases de données
orientées-graphe sont beaucoup plus performantes que les bases de
données réseaux car la syntaxe utilisée pour faire des
requêtes utilisent les algorithmes efficaces de la théorie des
graphes. Dans le cas d'une base de données réseaux, on fera
plusieurs accès à l'aide de pointeurs pour chercher
l' « ami d'un ami », mais dans le cas d'une base de
données orientée-graphe, il suffira de calculer
déjà le chemin géodésique d'une source vers tous
les autres sommets voisins de l'ami et après, atteindre cet ami à
partir des arcs optimaux (Principe d'optimalité de Richards Bellman).
Il faut noter que du point de vue de la modélisation,
les bases de données orientées-graphe et les bases de
données réseaux se modélisent toutes à l'aide des
graphes, sauf qu'il existe certaines possibilités non offertes pour le
cas des bases de données réseaux, par exemple les liaisons
bidirectionnelles.
En effet, les possibilités offertes pour
modéliser les associations entre objets constituent un des
éléments importants d'un modèle de données.
Historiquement, le modèle réseau est issu d'une conceptualisation
de fichiers reliés par des pointeurs. De ce fait, il offre des
possibilités limitées pour représenter les liens entre
fichiers. Avec les recommandations du CODASYL, il est seulement possible de
définir des associations entre un article appelé
propriétaire et n articles membres. Une instance d'association est le
plus souvent une liste circulaire d'articles partant d'un article
propriétaire et parcourant n articles membres pour revenir au
propriétaire. Ces associations, qui sont donc purement
hiérarchiques mais qui, utilisées à plusieurs niveaux,
peuvent permettre de former aussi bien des arbres, des cycles que des
réseaux, sont appelées ici liens (en anglais
set).
NOTA : Un lien (set) est un
type d'association orientée entre articles de type T1 vers articles de
type T2 dans laquelle une occurrence relie un article propriétaire de
type T1 à n articles membres de type T2.
Un type de lien permet donc d'associer un type d'article
propriétaire à un type d'article membre; une occurrence de lien
permet d'associer une occurrence d'article propriétaire à n
occurrences d'articles membres. Généralement, les articles
membres seront d'un type unique, mais la notion de lien peut
théoriquement être étendue afin de supporter des membres de
différents types.
Un lien se représente au niveau des types à
l'aide d'un diagramme de Bachman. Il s'agit d'un graphe
composé de deux sommets et d'un arc. Les sommets,
représentés par des rectangles, correspondent aux types
d'articles ; l'arc représente le lien de 1 vers n [BA69]. L'arc est
orienté du type propriétaire vers le type membre. Il est
valué par le nom du type de lien qu'il représente et chaque
sommet par le nom du type d'article associé.
Par exemple, les types d'articles VINS et PRODUCTEURS
décrits ci-dessus seront naturellement reliés par le type de lien
RECOLTE, allant de PRODUCTEURS vers VINS. Une occurrence reliera un producteur
à tous les vins qu'il produit. La figure 2.4 schématise le
diagramme de Bachman correspondant à ce lien.
PRODUCTEURS
VINS
Récolte
Figure 3.5. Exemple de diagramme de Bachman
|