Vous êtes sur la page 1sur 15

THEORIE DES BASES DE DONNEES

RELATIONNELLES – 2018 – (3ECTS) – DAS

SEMAINE 1: SYSTEME DE GESTION DES BASES


DE DONNEES
LE SYSTEME DE GESTION DE FICHIERS
Définition:1- Définition d'un fichier
Un fichier est une suite d'informations binaires stockées de manière permanente sur
un support de stockage. Il dispose d'un nom et d'une extension qui détermine le
type de fichier auquel il appartient. Dans le cadre de la gestion des données, le
fichier permet le stockage de plusieurs enregistrements.

Définition:2. Définition d'un système de Gestion des Fichiers (SGF)


Un Système de Gestion des Fichiers (SGF) a pour rôle de définir des primitives sur
les fichiers c'est à dire définir les permissions d'ouverture, de fermeture, de lecture
et d'écriture dans un fichier.

3- Limites d'un Système de Gestion des Fichiers


Bien que les Systèmes de Gestion des Fichiers soient utilisés pour la manipulation des
fichiers, ceux-ci présentent quelques insuffisances à savoir :
 La redondance des données : Il y a redondance lorsque la même information est
dupliquée (soit dans le même fichier ou dans des fichiers différents),ceci a pour
conséquence d'augmenter le volume du fichier.
 Les difficultés d'accès aux données : Lorsque l'on veut effectuer une recherche sur
les données d'un fichier, il le fait soit par programmation ou édite le fichier pour
achever la recherche manuellement. En cas de recherche complémentaire sur
d'autres critères, le même procédé est repris.
 La dépendance entre la structure de données et le traitement : Ici, la structure des
données est définie dans le programme. Ainsi, toute modification de la structure des
données passe par la maîtrise de la programmation.
 Le problème de fiabilité : Les données saisies ne sont pas toujours fiables car les
contraintes de saisie ne sont généralement pas prises en compte dans les fichiers.
pour parer à cela, des modules de programmes spécifiques au fichier sont créés.
 Accès simultanés impossibles : il est impossible ici que plusieurs utilisateurs aient
accès aux données vu qu'elles sont rattachées au traitement. Ceci dit, pour y
accéder, il faut être un programmeur averti.

EVLUATION
1 - Quelle est la particularité d'un fichier ?

Il contient des données volatiles car dès que la machine est hors
tension, il se vide de son contenu

Il permet le stockage des données de manière permanente

Il peut à tout moment changer de type

2 Correction
Il contient des données volatiles car dès que la machine est hors
tension, il se vide de son contenu

Il permet le stockage des données de manière permanente

Il peut à tout moment changer de type

2 - Dans un système de gestion de fichiers, il y a une entre la structure de


données et le traitement.

Correction
Dans un système de gestion de fichiers, il y a une dépendance entre la
structure de données et le traitement.

3 - Dans un Système de Gestion de Fichiers

Il est possible que plusieurs personnes manipulent le fichier au


même moment.

Il est possible qu'une personne manipule plusieurs fichiers au même


moment.

Il n'est pas possible qu'un fichier soit manipulé par plusieurs


utilisateurs au même moment.
Correction
Il est possible que plusieurs personnes manipulent le fichier au
même moment.

Il est possible qu'une personne manipule plusieurs fichiers au même


moment.
Il n'est pas possible qu'un fichier soit manipulé par plusieurs
utilisateurs au même moment.

LES BASES DE DONNEES


Définition:1 - Définition d'une Base de Données
Une Base de Données est un ensemble structuré de données, disposant d'un
nom et servant pour les besoin d'une ou de plusieurs applications. La Base de
Données ne doit pas être confondue à la banque de données qui n'effectue
qu'un simple stockage de données non structurées sur un support de
stockage.

2 - Caractéristiques d'une base de données


 Une base de données définie une structure de données organisée afin de
rendre son exploitation efficace.
 Elle assure une indépendance entre la structure de données et le traitement.
 Elle évite la redondance des données grâce aux contraintes définies sur les
champs (propriétés) des tables.
 Elle autorise l'accès simultané aux données c'est à dire que plusieurs
utilisateurs peuvent au même moment accéder à la même base de données
 Elle définit les types d'accès aux données à des types utilisateurs.

EVALUATION

Enoncé
Une base de données :

effectue une collecte de données structurées comme les banques de


données.

autorise un accès simultané aux données.

permet de créer des tables, des champs et permet également


d'effectuer des enregistrements.

En plus d'effectuer des enregistrements, elle ne fait que créer des


tables et des champs.

Correction
effectue une collecte de données structurées comme les banques de
données.
autorise un accès simultané aux données.

permet de créer des tables, des champs et permet également


d'effectuer des enregistrements.

En plus d'effectuer des enregistrements, elle ne fait que créer des


tables et des champs.

Énoncé
En matière de gestion de données de type enregistrement :

il est préférable d'enregistrer les données dans une base de données


plutôt que de le faire dans un fichier.

les bases de données offrent autant de possibilités que les fichiers

la gestion des redondances est prise en compte dans les fichiers


contrairement aux bases de données.

Correction
il est préférable d'enregistrer les données dans une base de
données plutôt que de le faire dans un fichier.

les bases de données offrent autant de possibilités que les


fichiers

la gestion des redondances est prise en compte dans les


fichiers contrairement aux bases de données.

DEFINITION ET IDENTIFICATION DES


DIFFERENTS TYPES DE SGBD
Définition:1- DEFINTION
Un Système de Gestion des Bases de Données (SGBD) est un environnement de
travail qui assure la création et la gestion d'une ou de plusieurs bases de données.
Pour réaliser ces tâches, il se sert du Langage de Définition des Données (LDD ou
DDL en Anglais) pour effectuer la description des tables de la base de données, il se
sert également du Langage de Manipulation des Données (LMD ou DML en Anglais).
2- LES DIFFERENTS TYPES DE SGBD
 Le système de gestion des bases de données hiérarchique : Il assure la gestion des
données en tenant compte de la hiérarchie des graphes. Il fait partie des SGBD de
première génération. Comme exemple de SGBD hiérarchique nous pouvons citer IMS
(Information Management System) d'IBM.
 Le système de gestion des bases de données réseau ou CODASYL : Il présente une
évolution du SGBD hiérarchique et fait également partie des SGBD de première
génération. SOCRATE et IDS(Integrated Data Strore) sont des illustrations du SGBD
réseau.
 Le système de gestion des bases de données relationnel : Il constitue aujourd'hui,
le SGBD standard car le plus utilisé pour l'implémentation et l'administration des
bases de données. Il constitue le type de SGBD de deuxième génération et dispose
d'une pléthore de SGBD, nous pouvons citer entre autres, ORACLE, MYSQL, SQL
SERVER, ACCESS etc.
 Le système de gestion des bases de données objet : SGBD de troisième génération,
il permet d'implémenter les modèles objets, iln'est pas aussi répandu que le SGBD
relationnel car connaît un avènement récent. Nous pouvons citer en exemples les
SGBD O2, ORION, VERSANT.

EVALUATION
Un Système de Gestion des Bases de Données

assure la collecte de plusieurs bases de données.

Se sert du langage de manipulation de données pour créer ses bases


de données.

Se sert du langage de définition de données pour créer ses bases de


données.

Ne fait que définir les droits d'accès sur une base de données.

Dans l'évolution des SGBD, la dernière génération de SGBD connu est le SGBD de
type , qui a fait son avènement après le SGBD .

Correction
Dans l'évolution des SGBD, la dernière génération de SGBD connu est le SGBD de
OBJET
type , qui a fait son avènement après le SGBD Relationnel.
Correction
Votre réponse So
SGBD Hiérarchique SGBD H
IMS IMS
SGBD de type CODASYL SGBD de ty
IDS IDS
SGBD Relationnel SGBD R
SQL SERVER SQL SERVER
SGBD Objet SGB
ORION
ORION

LES MODELES DE DONNEES


Définition:DEFINITION
Un modèle est un ensemble d'objets ou de représentations permettant de formaliser
un schéma. les modèles permettent d'effectuer une analyse de données devant
aboutir à l'implémentation d'une base de données à l'aide d'un SGBD.
Ainsi, nous distinguons plusieurs types de modèles de données.

1- LE MODELE HIERARCHIQUE
 Ce modèle permet une description des données sous forme d'arborescence.
 Les données sont organisées sous forme de graphes.
 L'accès aux données se fait par liens de chaînage.
Illustration

2- LE MODELE DE TYPE RESEAU OU CODASYL


 c'est un modèle évolué du modèle hiérarchique.
 Il utilise des pointeurs entre les enregistrements mais ne tient pas compte de la
hiérarchie des données.
Illustration

3- LE MODELE ENTITE -ASSOCIATION


 Ce modèle représente un objet du réel perçu.
 Cet objet est présenté sous la forme d'entité.
 L'entité décrit l'aspect de cet objet.
Illustration

4- LE MODELE RELATIONNEL
 C'est un modèle standard utilisé pour la création de bases de données.
 Les données sont organisées sous forme de tables.
 Il définit les relations entre les tables à partir de leurs clés.
Illustration

5- LE MODELE OBJET
 Le modèle objet a fait son avènement après le modèle relationnel.
 Ses données sont représentées sous forme d'objets interagissants entre eux.
Illustration

Navigation : |
EVALUATION
Énoncé
Dans les modèles de données :

Correction
le modèle hiérarchique est pratiquement identique au modèle
relationnel.

le modèle CODASYL est une évolution du modèle relationnel.

le modèle CODASYL est une amélioration du modèle Hiérarchique.


Énoncé
Choisir la bonne réponse

Correction
Le modèle de type réseau effectue la description des données sous
la forme d'une arborescence.

Le modèle objet utilise des pointeurs entre les enregistrements mais


ne tient pas compte de la hiérarchie des données

Dans le modèle Relationnel, les données sont organisées sous forme


de tables.

Énoncé
Dans l'ordre d'apparition des modèles,

Correction
le modèle relationnel précède le modèle CODASYL

le modèle relationnel a fait son apparition juste après le modèle


Hiérarchique.

Le modèle Objet est le plus récent

LES FONCTIONS D'UN SGBD


Fonction de description de données : Un SGBD décrit la structure des tables
dans la base de données.
Fonction de stockage de données : Un SGBD assure l'enregistrement de
manière cohérente d'un nombre important de données.
Fonction d'administration de bases de données : Un SGBD permet
d'effectuer des opérations courantes de mises à jour (mises à jour des données
et mises à jour de la structure de la base de données). il autorise également la
planification de sauvegardes et de restauration de données.
Fonction d'intégrité : Un SGBD permet d'appliquer des contraintes d'intégrité
sur les champs des tables afin d'assurer une cohérence au niveau des donnée (
par exemple la prise en compte des clés étrangères en rapport avec les clés
primaires, l'élimination des doublons, la saisie de données uniques dans les
champs autres que les clés primaires etc.)
Fonction de sécurité : Un SGBD permet de définir les droits d'accès aux
données pour chaque utilisateur.
Fonction d'indépendance : Un SGBD permet de dissocier la structure des
données du traitement.
Fonction de distribution : Un SGBD permet également la réplication des
données.

Correction
distribution
Un SGBD qui permet la réplication des données a une fonction de .
securité
Un SGBD qui attribut les droits d'accès utilisateurs a une fonction de
sécurité.

Correction
Un SGBD qui permet de dissocier la structure des données du traitement a une
d'indépendance
fonction .
Un SGBD qui permet d'appliquer des contraintes d'intégrité sur les champs a une
d'intégrité
fonction .

EVALUATION 6
CLIENT(matcli,nomcli,pnomcli)
ARTICLE(artid, artlib,#marqid)
ACHETER(#matcli, #artid, dateachat)
MARQUE(marqid, marqlib)
Cochez la ou les requêtes qui retournent la liste des clients qui ont acheté les produits de
marque 'SONY' ou de marque 'SAMSUNG'
Veuillez choisir au moins une réponse :
1. R1= ACHETER X ARTICLE(ACHETER.artid= ARTICLE.artid)
R2= R1 X CLIENT(R1.matcli = CLIENT.matcli)
R3= R2 X MARQUE(R2.marqid = MARQUE.marqid)
R4= SELECTION.R3(marqlib ='SAMSUNG')
R5= PROJECTION.R4(matcli, nomcli, pnomcli)
R6= SELECTION.R3(marqlib ='SONY')
R7= PROJECTION.R6(matcli, nomcli, pnomcli)
R8= R5 U R7
2. R1= ACHETER X ARTICLE(ACHETER.artid= ARTICLE.artid)
R2= R1 X CLIENT(R1.matcli = CLIENT.matcli)
R3= R2 X MARQUE(R2.marqid = MARQUE.marqid)
R4= SELECTION.R3(marqlib ='SAMSUNG')
R5= PROJECTION.R4(matcli, nomcli, pnomcli)
R6= SELECTION.R3(marqlib ='SONY')
R7= PROJECTION.R6(matcli, nomcli, pnomcli)
R8= R5 R7
3. R1= ACHETER X ARTICLE(ACHETER.artid= ARTICLE.artid)
R2= R1 X CLIENT(R1.matcli = CLIENT.matcli)
R3= R2 X MARQUE(R2.marqid = MARQUE.marqid)
R4= SELECTION.R3(marqlib ='SAMSUNG' OU marqlib ='SONY')
R5= PROJECTION.R4(matcli, nomcli, pnomcli)
R6= SELECTION.R3(marqlib ='SONY')
R7= PROJECTION.R6(matcli, nomcli, pnomcli)
R8= R5 U R7
4. R1= ACHETER X ARTICLE(ACHETER.artid= ARTICLE.artid)
R2= R1 X CLIENT(R1.matcli = CLIENT.matcli)
R3= R2 X MARQUE(R2.marqid = MARQUE.marqid)
R4= SELECTION.R3(marqlib ='SAMSUNG' OU marqlib ='SONY')
R7= PROJECTION.R6(matcli, nomcli, pnomcli)

Page suivante

CLIENT(matcli,nomcli,pnomcli)
ARTICLE(artid, artlib,#marqid)
ACHETER(#matcli, #artid, dateachat)
MARQUE(marqid, marqlib)
laquelle de ces requêtes retourne la liste des clients qui ont acheté les produits de marque
'SONY' et ceux de marque 'SAMSUNG'
Veuillez choisir une réponse :
1. R1= ACHETER X ARTICLE(ACHETER.artid= ARTICLE.artid)
R2= R1 X CLIENT(R1.matcli = CLIENT.matcli)
R3= R2 X MARQUE(R2.marqid = MARQUE.marqid)
R4= SELECTION.R3(marqlib ='SAMSUNG')
R5= PROJECTION.R4(matcli, nomcli, pnomcli)
R6= SELECTION.R3(marqlib ='SONY')
R7= PROJECTION.R6(matcli, nomcli, pnomcli)
R8= R5 U R7
2. R1= ACHETER X ARTICLE(ACHETER.artid= ARTICLE.artid)
R2= R1 X CLIENT(R1.matcli = CLIENT.matcli)
R3= R2 X MARQUE(R2.marqid = MARQUE.marqid)
R4= SELECTION.R3(marqlib ='SAMSUNG' ET marqlib ='SONY')
R5= PROJECTION.R4(matcli, nomcli, pnomcli)
3. R1= ACHETER X ARTICLE(ACHETER.artid= ARTICLE.artid)
R2= R1 X CLIENT(R1.matcli = CLIENT.matcli)
R3= R2 X MARQUE(R2.marqid = MARQUE.marqid)
R4= SELECTION.R3(marqlib ='SAMSUNG')
R5= PROJECTION.R4(matcli, nomcli, pnomcli)
R6= SELECTION.R3(marqlib ='SONY')
R7= PROJECTION.R6(matcli, nomcli, pnomcli)
R8= R5 R7
Page précédente Page suivante

CLIENT(matcli,nomcli,pnomcli)
ARTICLE(artid, artlib,#marqid)
ACHETER(#matcli, #artid, dateachat)
MARQUE(marqid, marqlib)
laquelle de ces requêtes retourne la liste des clients qui ont acheté tous les produits de
marque SAMSUNG ?
Veuillez choisir une réponse :
1. R1= ACHETER X ARTICLE(ACHETER.artid= ARTICLE.artid)
R2= R1 X CLIENT(R1.matcli = CLIENT.matcli)
R3= R2 X MARQUE(R2.marqid = MARQUE.marqid)
R4= SELECTION.ARTICLE(marqlib ='SAMSUNG')
R5= PROJECTION.R4(matcli, nomcli, pnomcli, artid,artlib)
R6= ARTICLE X MARQUE(ARTICLE.marqid = MARQUE.marqid)
R7= SELECTION.R6(marqlib='SAMSUNG')
R8= PROJECTION(artid,artlib)
R9= R5 IMAGE R8
2. R1= ACHETER X ARTICLE(ACHETER.artid= ARTICLE.artid)
R2= R1 X CLIENT(R1.matcli = CLIENT.matcli)
R3= R2 X MARQUE(R2.marqid = MARQUE.marqid)
R4= SELECTION.R3(marqlib ='SAMSUNG')
R5= PROJECTION.R4(matcli, nomcli, pnomcli, artid,artlib)
R6= ARTICLE X MARQUE(ARTICLE.marqid = MARQUE.marqid)
R7= SELECTION.R6(marqlib='SAMSUNG')
R8= PROJECTION(artid,artlib)
R9= R5 / R8
3. R1= ACHETER X ARTICLE(ACHETER.artid= ARTICLE.artid)
R2= R1 X CLIENT(R1.matcli = CLIENT.matcli)
R3= R2 X MARQUE(R2.marqid = MARQUE.marqid)
R4= SELECTION.R3(marqlib ='SAMSUNG')
R5= PROJECTION.R4(matcli, nomcli, pnomcli, artid,artlib)
R6= R5 / ARTICLE

Page précédente Page suivante

HABITATION(habitid, habitnom)
CLIENT(matcli,nomcli,pnomcli,#habitid)
COMMANDE(refcom, datecom, #matcli)
PRODUIT(refprod, libprod, prixprod)
PASSER(#refcom,#refprod, qtecom)
Laquelle des requêtes proposées retourne la liste des clients qui ont commandé les
produits X mais qui n'ont pas commandé de produit Y le '20/05/2018' ?
Veuillez choisir une réponse :
1. R1= PASSER X COMMANDE(PASSER.refcom=COMMANDE.refcom)
R2= R1 X CLIENT(R1.matcli = CLIENT.matcli)
R3= R2 X PRODUIT(R2.refprod = PRODUIT.refprod)
R4= SELECTION.R3(datecom='20/05/2018' ET libprod='X')
R5= SELECTION.R3(datecom='20/05/2018' ET libprod='Y')
R6= PROJECTION.R4(matcli, nomcli, pnomcli)
R7= PROJECTION.R5(matcli, nomcli, pnomcli)
R8= R6 - R7
2. R1= PASSER X COMMANDE(PASSER.refcom=COMMANDE.refcom)
R2= R1 X CLIENT(R1.matcli = CLIENT.matcli)
R3= SELECTION.R2(datecom='20/05/2018' ET libprod='X')
R4= SELECTION.R2(datecom='20/05/2018' ET libprod='Y')
R5= R3 - R4
3. R1= PASSER X COMMANDE(PASSER.refcom=COMMANDE.refcom)
R2= R1 X CLIENT(R1.matcli = CLIENT.matcli)
R3= R2 X PRODUIT(R2.refprod = PRODUIT.refprod)
R4= SELECTION.R3( libprod='X')
R5= SELECTION.R3(libprod='Y')
R6= PROJECTION.R4(matcli, nomcli, pnomcli)
R7= PROJECTION.R5(matcli, nomcli, pnomcli)
R8= R6 - R7

Page précédente Terminer le test...

SEMAINE 2 ARCHITECTURE D'UN SYSTEME DE


GESTION DES BASES DE DONNEES

I - LES NIVEAUX DE DESCRIPTION


DE DONNEES
1. Le niveau conceptuel
Il s'agit ici de décrire les niveaux de présentation de données dans un Système de Gestion
des Bases de données.
Il correspond à la description des données et des liens existant entre elles en tenant
compte des contraintes de gestion (Dictionnaire des données), sans souci
d'implémentation.
c'est le niveau conçu par l'analyse, il fait intervenir le modèle entité-association.
Ce niveau permettra de définir :
 Les types de données élémentaires qui définissent les propriétés élémentaires d'un
objet( exemple : nom, prenoms etc.).
 Les types de données composées qui font intervenir un ensemble de propriétés
portant sur des objets de même nature appelés entités (Exemple PRODUIT,
commande etc.)
 Les types de données composées qui permettent de décrire les associations.
2. Le niveau interne
Il correspond à la description de la structure des données dans les moindres détails et de
son implémentation sur un support de stockage.
Il permet de décrire les données telles qu'elles seront stockées à la machine dans la base
de données.
Ce niveau fait intervenir le modèle relationnel aboutissant au modèle physique des
données qui précède l'implémentation d'une base de données.
a. Illustration d'une table élaborée dans le modèle physique des données
Exemple : Structure de la table ETUDIANT.
Cette table a pour attributs(propriétés) :
Le matricule étudiant (matetud)
le nom étudiant (nometud)
les prénoms étudiant (pnometud)
le contact étudiant (contetud)

NOM TABLE : ETUDIANT


CLE PRIMAIRE : matetud
TYPE D'ORGANISATION : direct
MODE D'ACCES : direct
TAILLE : 71
CODE DESIGNATION TYPE LONGUEUR
matetud Matricule étudiant AN 10
nometud Nom étudiant AN 20
pnometud Prénoms étudiant AN 30
contetud Contact étudiant AN 11
b. Description des éléments constituant le modèle physique des données.
NOM TABLE : Définit le nom de la table décrite.
CLE PRIMAIRE : Définit l'attribut permettant d'identifier une occurrence de la table
décrite.
TYPE D'ORGANISATION : Définit l'organisation des données dans la table, c'est à dire
la manière dont ces données seront enregistrées. Ainsi, nous distinguons trois types
d'organisation :
 Organisation séquentielle : c'est une organisation qui n'a aucun critère de
rangement des données (pas de clé primaire), les enregistrements sont effectués les
uns à la suite des autres sans identifiant. L'exemple ici peut être l'enregistrement
d'un étudiant sans matricule.
 Organisation relative ou directe : Contrairement à l'organisation séquentielle,
elle a un critère de rangement (une clé primaire). chaque enregistrement est
référencé. L'exemple dans notre cas est celui du matricule étudiant.
 Organisation séquentielle indexée : Elle est d'abord relative et la définition de
sa clé primaire tient compte de celle d'un champ de la table appelé table d'index.
Par exemple, si l'étudiant est de sexe masculin (M), la définition de son matricule
peut être fonction de ce champ, et ceci donnerait par exemple (M0001).
MODE D'ACCES : Il détermine la manière dont les données pourront être accessibles ;
ils sont fonction du type d’organisation. Ceci dit :
 Lorsque l'organisation est directe ou séquentiel indexé, nous pouvons directement
accéder à une information à partir de sa clé primaire, on parle de mode d'accès
direct.
 Lorsque l'organisation est séquentielle, le mode d'accès est séquentiel car pour
accéder à une information, il faut passer par tous les enregistrements qui la précède.
TAILLE : Elle correspond à la longueur maximale d'un enregistrement, c'est à dire à la
somme des longueurs maximales des différents champs. la taille est exprimée en octet
car un caractère est égal à un octet.

3. Le niveau externe
Ce niveau présente la manière dont les données se présentent dans une application (bien
entendu, après son implémentation et son déploiement) pour chaque utilisateur ou pour
chaque groupe d'utilisateurs. Il intervient dans l'exploitation des données par les
utilisateurs.ces différents écrans présentant des données différentes issues de la même
base de données sont appelées vues externes. Les vues présentent généralement une
partie des données d'une même base en fonction du type d'accès. De même, la même
information pourra présenter des vues différentes.

II - LES LANGAGES DE DONNEES


1- LES LANGAGES RELATIONNELS
Ce sont des langages qui permettent d'effectuer des traitements.
Au sens du relationnel, un langage d'interrogation de base de données est complet,
lorsqu'il permet au moins l'utilisation d'un certain nombre d'opérateurs à savoir :
 Les opérateurs ensemblistes (l'union, la différence, le produit cartésien)
 Les opérateurs relationnels (la projection et la sélection)
De plus, ces langages doivent , en pratique s'étendre à d'autres fonctionnalités telles
que :
 La possibilité de créer des tables, d'effectuer des insertions, des modifications et des
suppression.
 La possibilité d'utiliser des fonctions d'agrégation telles que la somme, la moyenne,
le maximum etc.
 La possibilité de gérer les accès pour assurer une protection des bases de données.
Comme exemples de langages relationnels, nous pouvons citer entre autres :
 L'algèbre relationnelle
 Le calcul relationnel par n-uplet
 Le calcul relationnel par domaine

2- LES LANGAGES PRATIQUES


Ce sont des langages de requêtes qui jouent deux rôles essentiels à savoir :
 Le rôle de langage de définition des données : Il contient des commandes de
création, de modification et de suppression de relations (tables) ainsi que les
commandes de gestion des accès. Il est généralement destiné à l'administrateur de
bases de données.
 Le rôle de langage de manipulation de données : il s'agit des commandes de
recherches et de mises à jour des données telles que l'insertion, la modification, la
sélection et la suppression des données.
Comme exemples de Langages pratiques, nous pouvons citer entre eux :
 SQL (Structured Query Language)
 QUEL (Query Language)
 SEQUEL (Structured English as a Query Language)
 QBE (Query By Example)