Langages hôtes
Bases de données relationnelles
H2038 v1 Archive

Langages hôtes
Bases de données relationnelles

Auteur(s) : Claude CHRISMENT, Jacques LUGUET, Geneviève PUJOLLE, Gilles ZURFLUH

Date de publication : 10 févr. 1997

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Sommaire

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’article

INTRODUCTION

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.

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h2038

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

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...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Langages hôtes

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre