WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Gestion d'informations. Mutation vers les bases de données relationnelles et le langage SQL.


par Jacques MUDUMBI
Université de Yaoundé 1 - Master 2017
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

III.3.2. EXTRA : un modèle de données pour EXODUS

Le modèle de données pour EXODUS [12] est un SGBD extensible développé à l'université de Wisconsin (USA). De ce modèle, chacun s'accordera à reconnaitre qu'il s'agit d'une boite à outils devant permettre d'implanter des SGBD et ce pour n'importe quel modèle de données. En vue de le concrétiser, un modèle de données, nommé EXTRA et un langage de requêtes, nommé EXCESS, sont proposés dans [13].

C'est un modèle d'objets complexes assez proche de ceux proposés dans Galileo [10] ou dans Fad [10], dans lequel tous les objets sont des valeurs. Il est même fréquent que l'introduction d'un constructeur ref permet de manipuler explicitement les références aux valeurs de la base. En ce sens, la notion de type permet de définir structurellement ces valeurs.

50

Il sied de dire que seules les valeurs générées à partir des types du schéma peuvent être référencées. Cette diversité des valeurs générées sont introduites par le constructeur own dans la définition où leur type intervient. En somme, ces valeurs sont divisées en deux catégories : les valeurs référençables et celles qui ne le sont pas. Les valeurs référençables sont introduites par own ref alors que les autres le sont par own seulement. Le constructeur own introduit dans tous les cas une dépendance existentielle pour la valeur ainsi désignée.

Signalons néanmoins que la manipulation des valeurs de la base rend transparente la notion de référence. Comme l'accès à une valeur par un nom qui la désigne directement ou par un nom qui désigne une référence vers cette valeur se fait de la même manière pour l'utilisateur. Il est alors possible de dire que le système infère automatiquement, par rapport au schéma, le fait qu'il accède à cette valeur par la fonction í ° ñ ou í ° ñ ° ñ (pour les valeurs référencées). Prenons un cas pratique, si nous supposons que "pers"est un nom qui désigne une valeur de type "personne", nous accédons de la même manière "pers.Nom" et "pers.Epoux.Nom" alors que "pers.Epoux" désigne une référence vers une valeur de type "personne".

Au final, il s'avère que la différence étant explicite dans le schéma, car elle est prise en compte lors de l'opération d'affectation. Seulement tel n'est pas forcément le cas ; de ce fait nous en distinguons deux types : l'affectation de valeur (copy to...) et l'affectation d'une référence à une valeur (insert into...).

En revanche, nous pouvons étendre les domaines de base avec les ADT (types de données abstraits). Les ADT sont des classes persistantes définies à partir du langage E [14] (extension de C++). Un cas pratique de leur utilisation est le champ "DateNais" dans le type

En cela O2 offre donc un modèle d'objets complexes faisant intervenir de manière orthogonale les constructeurs n-uplet (tuple), ensemble (set) et séquence (list). Nous n'avons

51

"personne" dont le type Date est un ADT. Un ADT définit donc une valeur encapsulée par différentes méthodes qui lui sont attachées.

Cela revient à dire que toutes les valeurs créées sont persistantes. Et que nous avons donc un seul espace d'instanciation dont les données sont manipulées à travers un langage de requêtes (EXCESS) du même niveau qu'un langage comme SQL. Ce langage de manipulation n'est pas complet ; nous n'avons pas dans ce système une intégration entre un langage général et les aspects base de données.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Qui vit sans folie n'est pas si sage qu'il croit."   La Rochefoucault