Présentation
Auteur(s)
-
Claude CHRISMENT : Docteur ès sciences - Professeur d’informatique à l’Université Toulouse-III
-
Jacques LUGUET : Docteur ès sciences - Professeur d’informatique à l’Université Toulouse-III
-
Geneviève PUJOLLE : Maître de conférences à l’Université Toulouse-I
-
Gilles ZURFLUH : Docteur ès sciences - Professeur d’informatique à l’Université Toulouse-I
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleINTRODUCTION
Le modèle de données relationnel, proposé en 1970, a permis l’émergence de logiciels capables de gérer des bases de données selon un mode original : les données sont structurées sous forme de tables selon des règles appelées formes normales ; ces tables sont manipulées grâce à des langages ne nécessitant pas de connaissances informatiques (langages SQL et QBE). Apparus au début des années 80, ces systèmes relationnels se généralisent dans l’industrie au cours des années 90.
Les SGBD relationnels ont représenté une avancée significative en matière de gestion des données. Les apports majeurs du modèle relationnel par rapport aux modèles antérieurs (hiérarchique et réseau) sont :
-
la simplicité du concept de table ;
-
le processus de normalisation qui permet d’éliminer les redondances des données ;
-
les langages de manipulation déclaratifs.
De plus, grâce au concept de méta-base, un SGBD relationnel autorise l’évolution des schémas de bases de données en cours d’exploitation. Cependant, ces systèmes s’avèrent souvent inadaptés à la gestion de données à structure complexe ; on a alors recours aux SGBD orientés objet.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
5. Langages hôtes
Un langage hôte est un langage de programmation classique, tel que Cobol, Fortran, Pascal ou C, qui accepte des primitives du langage de manipulation et d’interrogation de la base de données. Les déclarations et les instructions associées à la gestion de l’échange entre un programme et le SGBD sont signalées par des marqueurs, par exemple EXEC SQL BEGIN [marqueur de début] et EXEC SQL END [marqueur de fin]. Pour gérer l’échange avec le SGBD, le programme hôte comprend trois éléments (figure 9) :
-
une zone d’échange ou de communication avec le SGBD qui contient les n-uplets à inscrire dans la base ou les n-uplets récupérés à partir de la base ;
-
une table interface qui contient un code anomalie signalant si une opération de transfert ou de manipulation d’information s’est correctement déroulée ou non ;
-
les primitives de manipulation : insertion, modification, suppression, récupération de n-uplets de la base de données.
Les langages hôtes ne permettent généralement de manipuler les n-uplets de la base qu’un par un alors que le SGBD manipule des ensembles de n-uplets. Il faut donc synchroniser le fonctionnement du programme et celui du SGBD. Pour cela, il a été introduit le concept de curseur qui permet de manipuler un ensemble de n-uplets élément par élément, le curseur étant matérialisé au niveau interne par un pointeur désignant le n-uplet courant en cours de traitement.
L’exemple qui suit présente ces concepts à travers un exemple de programme rédigé en langage C (langage hôte) dans lequel ont été intégrées des déclarations et des primitives SQL (et notamment la notion de curseur). Le programme permet de récupérer dans une table de la base des informations sur des fournisseurs (nom, adresse, ventes). Pour chaque fournisseur, il y a affichage des informations correspondantes.
/************************************************/
/ Exemple d’un programme en PRO*C /
/************************************************/
#include <stdio.h>
#include <ctype.h>
/* Déclaration des variables hôtes */
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR uid[20];/*définition de l’usager pour la connexion*/
char nom[10];/*nom du fournisseur */
char adresse[30];/* adresse du fournisseur */
float...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Langages hôtes
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive