Bonsoir à tous,
Le Modèle Relationnel de Données (RM), inventé par Ted Codd ([Codd1969], [Codd1970]) a continué à s’enrichir et évoluer harmonieusement sous la houlette de ses continuateurs, essentiellement Chris Date, compagnon de route de toujours de Ted, et Hugh Darwen. Suite aux travaux de Codd, durant la période 1973-1976, naquirent essentiellement deux langages relationnels, QUEL et SQL.
Date et Darwen ont proposé un langage pour étudier la mise en oeuvre du Modèle Relationnel de Données, à savoir Tutorial D. je cite (et traduis) :
« Tutorial D est un langage de programmation complet du point de vue du calcul, intégrant toutes les fonctionnalités des bases de données. Nous n’avons pas voulu qu’il soit perçu comme doté de « la puissance industrielle » ; il s’agit plutôt d’un langage « jouet » (« toy ») dont l’objet principal est de servir de support pour l’enseignement. En conséquence, ont été volontairement omises de nombreuses fonctionnalités qu’exigerait un langage véritablement industrialisé. (L’extension du langage pour la prise en compte de ces fonctionnalités serait un projet qui en vaudrait la peine, le transformant ainsi en ce qu’on pourrait appeler Industrial D.)... »
Par « langage de programmation complet du point de vue du calcul », on doit comprendre que des applications entières peuvent être ainsi développées, il ne s’agit pas d’un « sous-langage » de données hébergé par quelque langage hôte propre à fournir les possibilités de calcul nécessaires. Tutorial D est un langage « jouet » dans la mesure où rien n’est pris en compte en ce qui concerne par exemple les sessions et les connexions, les communications avec le monde extérieur (gestion des entrées/sorties, etc.), ou la gestion des exceptions et de leurs codes-retour. Date et Darwen sont beaucoup trop modestes, le qualificatif « jouet » ne colle pas, je dirais que Tutorial D est plutôt un langage de référence, et ― par comparaison avec le rigide SQL ― souple, élégant et intellectuellement très agréable quand on « joue » avec.
Un langage vraiment relationnel, disons de la famille D, peut très bien intégrer des fonctionnalités indépendantes du Modèle Relationnel, dans la mesure où elles n’en pervertissent pas l’esprit. Par exemple, D pourrait à l’instar de SQL proposer un générateur de type ARRAY ou MULTISET ([TTM2014], chapitre 10 / « RM Very strong suggestions », page 249), mais en aucune façon un concept en contradiction avec l’esprit du Modèle Relationnel tel que celui de pointeur (exemple : type REF de SQL). En effet, toute information, quelle qu’elle soit, doit être représentée dans la base de données exclusivement sous forme de valeurs prises par les attributs (NULL est de facto disqualifié), au sein de n-uplets (tuples) dans les relations (Information Principle de Codd).
A vous de jouer avec Tutorial D...
L’article que je propose : Tutorial D et algèbre relationnelle
A vous de jouer avec Tutorial D...
François








Répondre avec citation



Partager