Dzotech SA

Base de données à concept générique

BDCG

Modèles de données générique

Une architecture d'une élégance rare

A la différence d'une base de données classique qui est modélisée en fonction du problème à résoudre, notre BDCG (Base de Données à Concept Générique) est capable de gérer "a priori" toutes les données provenant des événements et transactions de la vie réelle.

On cherchera ainsi en vain une table "Clients" dans notre base de données générique, puisqu'on ne saurait figer ainsi la notion de "Client". Cette notion étant très fluctuante selon le contexte, on parlera plutôt de "Partenaire" ayant un ou plusieurs "Arrangements" avec un autre "Partenaire", "Arrangements" conclus sous certaines "Directives" et "Conditions", liés à certaines "Ressources" et "Adresses".

Pour ce qui est de l'identification des "Partenaires" ou "Ressources", on utilise un assemblage ordonné de composants de types identiques ou différents. Ainsi, un "Partenaire" de type «Individu», peut avoir un nom officiel composé de plusieurs noms de famille, d'un prénom usuel et de plusieurs prénoms, voire d'un surnom. L'historique de toutes les modifications de noms est conservé, donnant ainsi la possibilité de retrouver les "Partenaires" par leurs noms actuels ou anciens. Cette façon particulière de gérer les noms est une des caractéristiques de notre base de données à modèle générique. Elle permet d'appréhender, sans modification de la structure de la base de données, toutes les manières de nommer une personne dans le monde réel.


La conception d'une telle base de données repose ainsi sur moins d'une dizaine d'entités.

Les principales sont :

  • le Partenaire est l'acteur principal de la vie réelle. S'il est souvent une personne, il peut tout aussi bien être une organisation, une entreprise, une association, un État ou une collectivité.
  • l'Arrangement est à la base de toutes relations formelles ou informelles entre Partenaires. Il peut représenter aussi bien un mariage qu'un contrat de vente, une commande d'un client qu'un pacte successoral.
  • la Ressource représente tous les objets que nous côtoyons dans la réalité. Ce peut-être un pétrolier ou une feuille de papier, un catalogue de produits, une habitation, une image ou un son.
  • l'Événement est la seule entité qui est en relation avec toutes les autres. C'est normal, car tout dans la vie est «Événement». Par ex. arrivée d'un courrier, demande d'un tiers, impression d'une facture, communication, etc..
  • l'Adresse est prise au sens large et permet de décrire les situations géographiques d'un Partenaire ou d'une Ressource (domicile, lieu de stockage) aussi bien que leurs situations logiques (no de téléphone, chemin d'accès à un fichier, etc..).

Les principales caractéristiques d'une telle base de données sont:

  • Une structure indépendante des données à traiter, partant une structure stable
  • La possibilité de représenter des données très complexes avec un modèle de données simple
  • Une notion très puissante de préexistence des adresses. Une adresse (par ex. une habitation), tout comme dans la réalité, n'existe qu'une seule fois dans la base données
  • Une notion, tout aussi puissante, d'aires géographiques permettant de décrire des quartiers, aires de représentant et de stockage, etc.
  • Des relations qualifiées, c'est-à-dire la possibilité de non seulement lier les entités, mais encore de décrire le type de lien, sa durée de vie, voire son intensité
  • L'existence de relations récursives sur les entités de base. On peut ainsi par ex. décrire la généalogie complète d'une famille de façon très simple
  • Une notion d'unité de mesure utilisant elle aussi des relations récursives enrichies de possibilités de conversion et pouvant servir à créer, par exemple, une puissante tabelle des cours
  • L'implémentation des noms et des adresses permet de créer à l'intérieur d'une entreprise une gestion cohérente de toutes les «adresses» (au sens où on l'entend en général), et ce indépendamment de la structure adoptée pour ces dernières par les différents départements de l'entreprise
  • L'introduction de distinctions importantes : par ex., dans la gestion des ventes, on fait la distinction entre le produit (description d'un article avec ses caractéristiques nominales telles que poids, dimensions, volume, etc.) et l'article que l'on vend, qui lui, possède ses caractéristiques propres (poids mesuré, no de série, etc.). Cet article hérite cependant du produit les caractéristiques non redéfinies !