Vous êtes sur la page 1sur 119

Théories des Bases

de Données
Model relationnel des donnees

Octobre 2022

THEORIES DES BASES DE DONNEES 2


CONTENU DE LA
PRÉSENTATION
1. Un aperçu des modèles des données
2. Les principes du modèle relationnel
3. Définir une relation en SQL
4. Langage algébrique des requêtes
5. Contraintes sur les relation

THEORIES DES BASES DE DONNEES 3


MODÈLE RELATIONNEL
DES DONNÉES
 Le chapitre introduit le modèle relationnel des
données : le modèle dans un tableau a deux
dimensions, comme une “relation”.
 Les point développés sont:
 La terminologie de base pour les relations
 La présentation de comment le model relation
peut représenter les forme typiques des données
 Introduction d’une portion du langage SQL
 Introduction sur l’algèbre relationnel
THEORIES DES BASES DE DONNEES 4
UN APERÇU DES MODÈLES
DES DONNÉES
4.1.1 Qu’est-ce qu’un modèle de données?
 La notion de “modèle de données” est une des plus
important points dans l’apprentissage des systèmes de
base de données.
 Un modèle de données est une notation de description
des données ou l’information.
 La description consiste en trois parties:
 Structure des données : l’organisation logique des
données, la forme sous laquelle les utilisateurs vont les
percevoir ou les représenter. 5

THEORIES DES BASES DE DONNEES


UN APERÇU DES MODÈLES
DES DONNÉES
 Operations sur les données: les opérations dans la
programmation sont généralement tout ce qui
peut être programmé. Pour les bases de données,
il y a une limite d’opérations à effectuer: requêtes
et les modifications. Cette limitation permet aux
programmeurs de de décrire les opérations
utilisant un niveau élevé et le SGBD implémente
les opérations efficacement.
 Des contraintes d’intégrité, que l’on peut définir
sur les données, afin d’en assurer l’intégrité et la
cohérence avec le monde réel et les besoins des
applications
THEORIES DES BASES DE DONNEES 6
UN APERÇU DES MODÈLES
DES DONNÉES
4.1.2 Les différents modèles de bases de données :
1. le modèle réseau
Structure : graphe orienté, les nœuds sont des enregistrements. Ce modèle est
en mesure de lever de nombreuses difficultés du modèle hiérarchique grâce
à la possibilité d'établir des liaisons de type n-m en définissant des
associations entre tous les types d'enregistrements.
Contraintes d’intégrité : un identifiant pour chaque nœud, un mécanisme de
référence entre des nœuds
Manipulation : parcours de réseaux.

THEORIES DES BASES DE DONNEES 7


UN APERÇU DES MODÈLES
DES DONNÉES
2. le modèle hiérarchique
Structure : arborescente (forets)
Contraintes d’ intégrité : un
identifiant pour chaque nœud, un
mécanisme de référence entre des
nœuds
Manipulation : navigation
hiérarchique

THEORIES DES BASES DE DONNEES 8


UN APERÇU DES MODÈLES
DES DONNÉES
3. le modèle relationnel
 Structure : ensembles de
Exemple de tableau : Avion
relations, qui sont des
ensembles de tuples.
Graphiquement, une NumAV Description VilleArrivée
relation est un tableau. ET860 Boeing Bujumbura
 Contraintes d’ intégrité : KQ041 Boeing Nairobi
principalement les clés
primaires (identifiants de ET601 Airbus Guangzhou
tuples) et les clés étrangères
(liens entre les relations)
 Manipulation : algèbre
relationnel, calcul
relationnel, SQL.

THEORIES DES BASES DE DONNEES 9


UN APERÇU DES MODÈLES
DES DONNÉES
4. le modèle déductif
 Structure : quasiment la
même que le modèle
relationnel
 Contraintes d’ intégrité :
les mêmes que le modèle
relationnel
 Manipulation : langages
logiques, le principal est
Datalog. Contrairement
aux langages du modèle
relationnel, il admet la
récursivité.
THEORIES DES BASES DE DONNEES 10
UN APERÇU DES MODÈLES
DES DONNÉES
5. le modèle Entité/Association (E/A)
 Structure : Entités (avec des attributs) et associations entre des entités.
 Contraintes d’ intégrité : identifiants, cardinalités sur les associations
 Manipulation : aucun.

THEORIES DES BASES DE DONNEES 11


UN APERÇU DES MODÈLES
DES DONNÉES
6. Modèle semi-
structurel:
 Il utilise la représentation
des données sous forme
d’étiquettes. Ces étiquettes
définissent le rôle de
chaque pièces de bases.
 Les opérations suivent le
chemin de l’arbre allant
d’un élément a un autre de
même étiquettes ou des
étiquettes imbriquées.
 Les contraintes d’intégrité
concernent les types
THEORIES desDE DONNEES
DES BASES 12

valeurs dans les étiquettes


UN APERÇU DES MODÈLES
DES DONNÉES
 Parmi ces modèles, les plus importants sont :
 Le modèle relationnel , incluant l’extension en relationnel oriente objet
 Le modèle semi-structurel, incluant XML et les standards en relation
 Le premier est présent dans tous les Système de gestion de bases de
données commerciales, il est le sujet de ce chapitre. Le modèle
semi-structurel dont XML est la première expression, est un
propriété ajoutée aux SGBD relationnel et apparait dans divers
contextes.
 Les bases de donnes sont très vastes, donc l’efficacité de l’accès aux
données et leurs modifications sont d’une grande importance.
 La simplicité d’utilisation est aussi importante.
 Un seul modèle peut les satisfaire tous et c’est le cas du modèle
13
relationnel.
THEORIES DES BASES DE DONNEES
LES PRINCIPES DU MODÈLE
RELATIONNEL
 Le modèle relationnel offre un moyen de représentation de
données en un tableau de deux dimensions, appelé:
relations.
 Exemple : La relation Avion
NumAV Description VilleArrivée
ET860 Boeing Bujumbura Avion
KQ041 Boeing Nairobi
ET601 AirbUS Guangzhou

Attributs

THEORIES DES BASES DE DONNEES 14


LES PRINCIPES DU MODÈLE
RELATIONNEL
4.2.1 Les attributs:
 Les colonnes d’une relation sont
dites « Attributs ». Ils apparaissent
dans les en-têtes de colonnes.
 Ils
décrivent le sens des entrées
dans les colonnes en dessous.
Ex: l’attribut « NumAv »
enregistre le numéro de vol de
l’Avion
THEORIES DES BASES DE DONNEES 15
LES PRINCIPES DU MODÈLE
RELATIONNEL
4.2.2 Le schéma :
 L’ensemble du nom de la relation et des attributs
associés forme le schéma de la dite relation.
 On représente un schéma par le nom de la relation
suivie de la liste ses attributs entre parenthèses.
 Avion( NumAv, Description, VilleArrivee)

 Dans le modèle relationnel, une base de données peut


être constitué d’une ou plus relations. L’ensemble des
schémas des relation d’une base de données est dit le
schéma de la base de données relationnelle ou bien
THEORIES DES BASES DE DONNEES 16

tout simplement : schéma de la base de données.


LES PRINCIPES DU MODÈLE
RELATIONNEL
4.2.3 Tuples:
 Les lignes autres que la ligne d’en-tête (contenant
le nom des attributs), sont dits « tuples ».
 Chaque tuple a un élément (composant) pour
chaque attribut de la relation.
 Ex: Le premier des trois tuples de la relation Avion, a quatre
composants: ET860, Boeing, Bujumbura pour les attributs
NumAv, Description, VilleArrivée respectivement.

THEORIES DES BASES DE DONNEES 17


LES PRINCIPES DU MODÈLE
RELATIONNEL
 L’écriture des tuples en isolation (en dehors
de la relation), utilise les virgules pour séparer
les composants et les parenthèses pour les
entourer.
 Ex: (ET860, Boeing, Bujumbura)

 Lors de la représentation en isolation, les


attributs n’apparaissent et les indications
sur les attributs doivent être données.
 L’ordre des composants respecte l’ordre des
attributs.
THEORIES DES BASES DE DONNEES 18
LES PRINCIPES DU MODÈLE
RELATIONNEL
4.2.4 Domaines:
 Le modèle relationnel exige que chaque composant
d’un tuple soit atomique , c’est-à-dire de type
élémentaire tel que Entier (Integer) ou Chaine de
caractères (String). Les valeurs ne peuvent pas être de
forme des ensembles, structures, listes, tableaux ou
tout autre forme composées, qui peut être décomposée
en petit composants.

THEORIES DES BASES DE DONNEES 19


LES PRINCIPES DU MODÈLE
RELATIONNEL
 Le type élémentaire associé avec chaque attribut de
la relation est un domaine. Les composants de
chaque tuple de la relation doivent avoir la valeur
de type du domaine correspondant a la colonne
 On peut représenter les relations tout en indiquant
les domaines (type de données) pour chaque
attribut de la relation.
 Ex:
 Avion(NumAv: string, Description: string,
VilleArrivee: string)
THEORIES DES BASES DE DONNEES 20
LES PRINCIPES DU
MODÈLE RELATIONNEL
4.2.5 Représentations équivalentes d’une relation
 Les relations sont un ensemble de tuples, l’ordre des
attributs dans un tuple importe peu.
Exemple:
Les deux représentations sont équivalentes:

NumAV Description VilleArrivée NumAV Description VilleArrivée


ET860 Boeing Bujumbura ET601 Airbus Guangzhou
KQ041 Boeing Nairobi ET860 Boeing Bujumbura

ET601 Airbus Guangzhou KQ041 Boeing Nairobi

THEORIES DES BASES DE DONNEES 21


LES PRINCIPES DU
MODÈLE RELATIONNEL
 En plus on peut changer l’ordre des attributs comme on veut sant
changer de la relation.
 En changeant l’ordre des attributs on garde les atributs dans les en-
tetes des colonnes.
 L’ordre des colonne suit l’ordre des attributs. A la fin des
permutations le contenus des tulpes changent dans le meme sens des
attributs. NumAV Description VilleArrivée
NumAV Description VilleArrivée ET601 Airbus Guangzhou
ET860 Boeing Bujumbura ET860 Boeing Bujumbura
KQ041 Boeing Nairobi KQ041 Boeing Nairobi
ET601 Airbus Guangzhou

NumAV VilleArrivée Description


Les troisTHEORIES DES BASES DE DONNEES ET601 Guangzhou Airbus 22
représentations sont ET860 Bujumbura Boeing

équivalentes KQ041 Nairobi Boeing


LES PRINCIPES DU
MODÈLE RELATIONNEL
4.2.6 Les instances d’une relation
 Une relation est dynamique. Son contenu
change au fur du temps, par l’insertion des
nouveaux enregistrements, ou bien lors de
changement de données à propos d’un
enregistrement (tuple) tels que les
corrections ou les révisions, ou encore les
effacements de certains enregistrements de
la relation.

THEORIES DES BASES DE DONNEES 23


LES PRINCIPES DU
MODÈLE RELATIONNEL
 Le schéma est moins susceptible de changer.
Toutefois, on peut avoir besoin d’ajouter ou
supprimer les attributs, ce qui serait très
chers aux bases de données des compagnies
commerciales par exemples car de milliers
ou millions de tuples seront obliges d’être
réécrits. Tout comme il serait difficile de
générer de nouvelles valeurs appropriées
pour les nouveaux composants dans les
enregistrements existants.
THEORIES DES BASES DE DONNEES 24
LES PRINCIPES DU
MODÈLE RELATIONNEL
 L’ensemble des tuples d’une relation donnée est
une instance de cette relation.
 Exemple:
 Les trois tuples de la relation “Avion” forme une
instance de la relation.
 Par convention, une base de données n’a qu’une
seule version de chaque relation: l’ensemble des
tuples qui sont dans la relation actuellement. Cette
instance est dite : instance courante.
THEORIES DES BASES DE DONNEES 25
LES PRINCIPES DU
MODÈLE RELATIONNEL
4.2.7 Les clés d’une relation
 Une sorte des contraintes du model relationnel des bases de
données, est la contrainte clé.
 Une clé d’une relation est l’ensemble d’attributs ne pouvant
pas avoir de valeurs identiques pour dans tous les tuples de la
relation.
 Exemple: Pour la relation Avion nous pouvons définir la clé de la relation
constituée de l’attribut: NumAv.
 Nous supposons qu’il n’y a pas deux avions ayant le même numéro de
vol, tandis que la Description et la Villearrivée peuvent être identique
pourTHEORIES
deuxDES BASES DE DONNEES
vols distincts. 26
LES PRINCIPES DU
MODÈLE RELATIONNEL
 Nous indiquons l’attribut(s) formant
la clé par un soulignement dudit
attribut(s).
 Ex:
Avion (NumAv, Description,
VilleArrivee)
Pilote(IDPilote, NomPilote)

THEORIES DES BASES DE DONNEES 27


LES PRINCIPES DU
MODÈLE RELATIONNEL
 La clé est choisie librement, dans certains
cas on peut définir des clés artificielles pour
un bon contrôle de leurs suppositions.
 Ex: Dans une relation Employés,
l’introduction du numéro d’identification
d’un employé permet de distingue des
employés de même nom.

THEORIES DES BASES DE DONNEES 28


LES PRINCIPES DU
MODÈLE RELATIONNEL
4.2.9 Un exemple de schéma d’une base
de données:
 La base de données de gestion des vols
d’avions

Avions( Pilote( Vols(


NumAv: string, IdPilote: integer, VilleDepart:string
Description:string, NomPilote:string, VilleArrivee:string,
VilleArrivee:string Anciennete:integer IdPilote: Integer,
) ) NumAv: string
THEORIES DES BASES DE DONNEES 29
)
LES PRINCIPES DU
MODÈLE RELATIONNEL
 La relation Avion définit les données de la description de
l’avion avec une clé : NumAv qui désigne le numéro de vol.
Ainsi que deux autres attributs: Description qui décrit la
description physique de l’avion et VilleArrivee qui décrit la
ville d’arrivée du vol
 La relation Pilote qui définit l’identification des pilotes avec
le numéro d’identification du pilote comme clé et un autre
attribut du nom du pilote
 La relation Vols qui définit les vols effectues. La clé est
composes par l’attribut NumAv et IdPilote définis dans les
deux autres relation ajoutées de deux autres attributs
désignant les villes de départ et d’arrivée.
THEORIES DES BASES DE DONNEES 30
EXERCICES

1) Il y a différents attributs qui peuvent être créées pour servir


de clés des relations. Donnez en d’autres exemples (au
moins trois).
2) Proposez un schéma d’une base de données de gestion des
activités académiques d’une institution universitaire.
a. Définir les attributs de chaque relation en indiquant la
clé
b. Donnez au moins trois tuples pour chaque relation
c. La schéma relation de chaque relation
d. Le schéma de la base de données
THEORIES DES BASES DE DONNEES 31

e. Le domaine approprié de chaque attribut


DÉFINIR UNE RELATION EN
SQL
 SQL(Structured Query Language)
 Il est le principal langage de description et
manipulation des bases de données relationnelles.
 Il y a deux aspects de SQL:
 Le sous-langage de définition de données qui est
utilisé pour déclarer le schéma des bases de
données
 Le sous-langage de manipulation des données qui
est utilisé pour les requêtes (questionner à propos)
THEORIES DES BASES DE DONNEES 32
des bases de données et les modifications
DÉFINIR UNE RELATION EN
SQL
4.3.1 Relations en SQL
 SQL distingue trois types de relations:
 Les relations enregistrées sous forme de tableaux.
 Les Vues , qui sont des synthèse d'une requête
d'interrogation de la base. Elles ne sont pas enregistrées
(tableaux virtuels) mais elles sont construite et utilisées en
cas de besoins, pour éviter d’écrire des longues requêtes
souvent ou cacher certaines données à certains
utilisateurs.
 Tableaux temporels: qui sont construits par le langage SQL
lors duTHEORIES
traitement de requêtes et modification de
DES BASES DE DONNEES 33
données
seulement.
DÉFINIR UNE RELATION EN
SQL
4.3.2 Types de données
 Tous les attributs doivent posséder un type et les
types primitifs supportés par les systèmes SQL sont:
 Chaine de caractères d’une longueur fixe ou
variante. En SQL il est noté « CHAR(n) » pour
déclarer une chaine de caractères de longueur fixe
n. « VARCHAR(n) » aussi dénote une chaine de n
caractères variante.
 Chaine de bits de longueur Variante ou fixe. Ce
type est noté « BIT(n) » et dénote une chaine de
bits de longueur égale à n. Quand la longueur de
la chaine varie on utilise la notation « BIT
VARYING(n) ».

THEORIES DES BASES DE DONNEES 34


DÉFINIR UNE RELATION EN
SQL
 Le type INT ou INTEGER désignant les attributs aux
valeurs entières. Le type « SHORTINT » est aussi utilisé
mais dans ce cas le nombre de bit est réduit et dépend de
l’implémentation
 Nombres décimaux, sont représentés de plusieurs manières.
On peut utiliser « FLOAT » ou bien « REAL ». Ces termes
sont synonyme pour les nombres à virgule. On peut obtenir
plus de précision avec le type « DOUBLE PRECISION »
comme dans le langage C. SQL dispose d’autre type de
nombre décimaux avec précision de décimaux; comme
« DECIMAL(n, d) » qui permet d’avoir les valeurs de n
décimauxTHEORIES
avecDESlaBASES
virgule a la position d à partir de35 la droite.
DE DONNEES
DÉFINIR UNE RELATION EN
SQL
 Le type booléen désigne les attributs à valeur
logique. Les valeur possible d’un attribut de ce
type sont « TRUE » ou « FALSE ».
 Les dates et temps peuvent être représentés par
les types « DATES » et « TIME »
respectivement. Ces valeurs sont souvent de
chaine de caractères de format spécial. Ex:
DATE ‘2018-05-08’ . Pour le temps, la chaine de
caractère comprend deux digitaux précisant
l’heure (24-heures), double point, deux digitaux
pour les minutes, double points et deux digitaux
pour lesTHEORIES
secondes; on
DES BASES DE peut ajouter les tierces Ex:36
DONNEES

TIME ’15:00:02.5’.
DÉFINIR UNE RELATION EN
SQL
4.3.3 Simple déclaration de tableaux
 Une simple déclaration de tableau utilise le mot clé CREATE
TABLE suivi du nom de la relation et une liste d’attribut séparés
par des virgules et mis entre parenthèses.
Ex: CREATE TABLE Avions(
NumAv CHAR(10),
Description CHAR(30),
VilleArrivee CHAR(100)
);
CREATE TABLE Student (
Matricule CHAR(10),
Nom VARCHAR(255),
genre CHAR(1)
Adresse CHAR(100),
DateNaissance DATE
THEORIES DES BASES DE DONNEES 37
);
DÉFINIR UNE RELATION EN
SQL
4.3.4 Modifier le schémas d’une relation
 Pour effacer le schémas d’une relation on
utilise l’instruction “DROP TABLE R”.
 Dans ce cas la relation R ne fera plus partie
du schémas de la base de données, et on ne
peut plus accéder à ses tuples. Cette
instruction est utilisée pour effacer
entièrement la relation.

THEORIES DES BASES DE DONNEES 38


DÉFINIR UNE RELATION EN
SQL
 On peut vouloir modifier seulement le
schémas d’une relation existante. Ces
modifications sont exécutées par une
commande commençant par le mot clé :
ALTER TABLE et le nom de la relation. On
a alors plus options de modifications et les
plus importantes sont :
 ADD suivi d’attribut et son type de
données
 DROP suivi du nom de l’attribut a
THEORIES DES BASES DE DONNEES 39
effacer ou enlever.
DÉFINIR UNE RELATION EN
SQL
 Nous pouvons par exemple modifier la
relation Student en ajoutant le numéro de
téléphone avec :
 ALTER TABLE Student ADD Phone
CHAR(16).
 Comme résultat, la relation Student
obtient cinq attributs.

THEORIES DES BASES DE DONNEES 40


DÉFINIR UNE RELATION EN
SQL
 Nous pouvons par exemple modifier la
relation Student en enlevant (effaçant) la
date de naissance avec :
 ALTER TABLE Student DROP
DateNaissance
 Comme résultat, la relation Student
n’aura plus cet attributs et dans tous le
tuples les valeurs de cet attribut sont
effacés.
THEORIES DES BASES DE DONNEES 41
DÉFINIR UNE RELATION EN
SQL
4.3.5 Les valeurs par défaut
 En créant ou modifiant les tuples on peut ne
pas avoir toutes les valeurs. Généralement,
lorsqu’on déclare un attribut et son type de
données, on devrait préciser la valeur par
défaut en utilisant le mot de clé DEFAULT
suivi de la valeur appropriée.
 Cette valeur est soit NULL ou bien une
constante.
THEORIES DES BASES DE DONNEES 42
DÉFINIR UNE RELATION EN
SQL
 Par exemple, choisir le caractère “?” pour
un genre inconnue et la date “0000-00-00”
pour une date de naissance inconnue dans la
relation Student de départ alors on peut
changer les attributs comme :
genre CHAR(1) DEFAULT ‘?’,
DateNaissance DATE DEFAULT
DATE ‘0000-00-00’

THEORIES DES BASES DE DONNEES 43


DÉFINIR UNE RELATION EN
SQL
 En cas de l’ajout d’un attribut, on peut
préciser les valeurs par défaut pour les
inconnues.
 Ex: Comme dans le cas de l’ajout du
numéro de téléphone à la relation Student,
on peut donner la valeur ‘unlisted’ pour les
numéros inconnus.
ALTER TABLE Student ADD Phone
CHAR(16) DEFAULT ‘unlisted’;
THEORIES DES BASES DE DONNEES 44
DÉFINIR UNE RELATION EN
SQL
4.3.6 Déclarer les clés
 Il y a deux moyens de déclarer un attribut
clé ou un ensemble d’attributs clés dans la
commande de CREATE TABLE qui définit
le tableau enregistrés.
1. Déclarer un attribut comme clé dans la
liste des attributs
2. Ajouter à la liste d’ élément contenu
dans le schémas, une déclaration qui
parle d’un attribut particulier ou
ensemble d’attributs formant la clé.
 Quand la clé est un ensemble d’attributs on utilise la
deuxièmeTHEORIES
méthode, sinon les deux méthodes sont valable en45
DES BASES DE DONNEES

cas d’un seul attribut.


DÉFINIR UNE RELATION EN
SQL
 Il y a deux déclarations pour indiquer les clés:
 PRIMARY KEY ou bien UNIQUE
 La déclaration d’un ensemble d’attribut en clé a pour
effet:
 Deux tuples dans la relation ne peuvent pas avoir les
mêmes valeurs pour les attributs de l’ensemble de clé a
moins que l’un d’eux soit NULL. A toute tentative de
violation de la règle, le SGBD rejette l’action causant la
violation.
 En plus, si PRIMARY KEY est utilise alors aucun des
THEORIES DES BASES DE DONNEES 46
attributs de l’ensemble de clé n’a le droit d’avoir une
valeur nulle. La valeur nulle est permise avec UNIQUE.
DÉFINIR UNE RELATION EN
SQL
 Exemples :
CREATE TABLE Student
(
Matricule CHAR(10) PRIMARY KEY ,
Nom VARCHAR(255),
Genre CHAR(1),
Adresse CHAR(100),
DateNaissance DATE);
 Ou bien
CREATE TABLE Student
(
Matricule CHAR(10),
Nom VARCHAR(255),
Genre CHAR(1),
Adresse CHAR(100),
DateNaissance DATE,
THEORIES DES BASES DE DONNEES 47

PRIMARY KEY (Matricule)


);
DÉFINIR UNE RELATION EN
SQL
 En cas d’utilisation d’un ensemble d’attributs:
CREATE TABLE Student (
Matricule CHAR(10),
Nom VARCHAR(255),
Genre CHAR(1)
Adresse CHAR(100),
DateNaissance DATE,
PRIMARY KEY (Matricule, Nom)
);
 Le mot clé UNIQUE pouvait être utilisé aussi.
THEORIES DES BASES DE DONNEES 48
DÉFINIR UNE RELATION EN
SQL
4.3.7 Exercices
1. Soit un schéma de base de données suivant:
Produit( fabricant, modele, type)
PC(model, vitesse, ram, dd, prix)
Portable(model, vitesse, ram, dd, ecran, prix)
Imprimante(model, couleur, type, prix)
 La relation Produit renseigne sur le fabricant, le modèle
et le type (PC, Portable et Imprimante) de différents
produits. On suppose que le numéro de modèle est
unique pour tout produit pour tous les fabricants et
contient le code du fabricant.
THEORIES DES BASES DE DONNEES 49
DÉFINIR UNE RELATION EN
SQL
 La relation PC indique le numéro de modèle d’un
produit PC, sa vitesse (en Ghz), le RAM (en GB),
la capacité du disque dur (en GB), et le prix.
 La relation Portable est similaire au PC mais elle
ajoute les mesures de l’ écran en pouces( inches).
 La relation Imprimante enregistre pour chaque
imprimante le numéro de modèle, s’elle imprime
en couleur ou pas (vrai ou faux), son type
d’impression Laser ou inkjet ou typique, et le
prix.
THEORIES DES BASES DE DONNEES 50
DÉFINIR UNE RELATION EN
SQL
 Ecrire les déclarations suivantes:
a. Un schémas approprié pour la relation Produit
b. Un schémas approprié pour la relation PC
c. Un schémas approprié pour la relation Portable
d. Un schémas approprié pour la relation Imprimante
e. Modifier le schémas en (d) en effaçant l’attribut couleur
f. Modifier le schémas de la relation Portable en (c) en
ajoutant l’attribut de type du disque optique ( cd, dvd ou
autre)
THEORIES DES BASES DE DONNEES 51
LANGAGE ALGÉBRIQUE DES
REQUÊTES

 Le langage algébrique de requêtes est


un langage de manipulation du
modèle relationnel.
 L’algèbre relationnelle est moins
performant que les langages C ou
Java mais il est facile à programmer
et le compilateur peut facilement
créer un code optimise.
THEORIES DES BASES DE DONNEES 52
LANGAGE ALGÉBRIQUE DES
REQUÊTES

4.4.1 L’algèbre
 En général, l’algèbre consiste en
opérateurs et opérandes atomiques.
 Ex.: Dans l’algèbre arithmétique,
 lesopérandes atomiques sont les
variables x, y etc.
 Les opérateurs étant l’addition,
soustraction multiplication et division.
THEORIES DES BASES DE DONNEES 53
LANGAGE ALGÉBRIQUE DES
REQUÊTES

 Toute algèbre permet de construire des


expressions en appliquant les operateurs aux
opérandes atomiques et/ou autres
expressions de l’algèbre, et parfois on ajoute
des parenthèses pour groupe les operateurs
et les opérandes
 Ex:

 (x+y)*z

 ((x+7)/(y-3))+z
THEORIES DES BASES DE DONNEES 54
LANGAGE ALGÉBRIQUE DES
REQUÊTES

 L’algèbre
relationnelle est un
autre exemple d’algèbre. Ses
opérandes atomiques sont:
1. Les variables représentant les
relations
2. Les constantes représentant
les relations finies.
THEORIES DES BASES DE DONNEES 55
LANGAGE ALGÉBRIQUE DES
REQUÊTES

4.4.2 Aperçu d’une algèbre relationnelle


 Les opérations de l’algèbre relationnelle classique
sont en quatre classes:
a) Ensemble des opérations usuelles : union,
intersection et différence appliquées sur les
relations.
b) Opérations qui enlèvent des parties d’une
relation : “sélection” qui élimine quelques lignes
(tuples), et “projection” qui élimine quelques
colonnes.
THEORIES DES BASES DE DONNEES 56
LANGAGE ALGÉBRIQUE DES
REQUÊTES

c) Operations qui combinent les tuples de


deux relation, incluant le “produit
cartésien” qui combine les tuples de deux
relations de toutes façons possibles, et les
“jointures” qui combine sélectivement les
tuples de deux relations.
d) Une opération dite “renaming” qui
n’affecte pas les tuples d’une relation mais
change le schémas de la relation comme les
noms d’attributs et/ou le nom de la relation
elle-même.
 Les expressions de l’algèbre relationnelle
sont référencées comme requêtes (queries).
THEORIES DES BASES DE DONNEES 57
LANGAGE ALGÉBRIQUE DES
REQUÊTES

4.4.3 Opération des ensembles sur les


relations
 Les trois opérations communes des ensembles sont
l’union, l’intersection et la différence.
 Soient deux ensemble R et S:
 L’union (notée RS) est un ensemble des
éléments appartenant a R ou S ou tous les deux.
An élément apparait une seule fois dans l’union
même s’il appartient aux deux ensemble en
même temps.
THEORIES DES BASES DE DONNEES 58
LANGAGE ALGÉBRIQUE DES
REQUÊTES

 L’intersection (notée RS) est.


l’ensemble d’éléments appartenant
à la fois aux deux ensembles.
 La différence (notée R-S)est
l’ensemble d’éléments appartenant
à R et non a S.

THEORIES DES BASES DE DONNEES 59


LANGAGE ALGÉBRIQUE DES
REQUÊTES

 L’application de ces opérations des ensembles sur


les relations il faut que:
R et S aient des schémas avec des ensembles
d’attributs identiques et de même types
(domaines) pour chaque attribut.
 Avant de calculer théoriquement l’union,
intersection et différence entre les tuples de deux
relations, les colonnes de R et S doivent être
ordonnés afin que l’ordre des attributs des deux
THEORIES DES BASES DE DONNEES 60

relations soit le même.


LANGAGE ALGÉBRIQUE DES
Relation
REQUÊTES R
 Ex:
NumMatr NomPre Age Province Fac
15/01216 Ciza Jean 21 Kirundo FSI
14/02132 Kiyago Paul 19 Rutana FSEA Relation
15/02323 Karire Monia 19 Bururi IPA S

NumMatr NomPre Age Province Fac


15/02323 Karire Monia 19 Bururi IPA
15/01232 Butoyi Joane 20 Bubanza ISCO
THEORIES DES BASES DE DONNEES 61
14/03234 Heri Leon 21 Cankuzo Medecine
LANGAGE ALGÉBRIQUE DES RS
REQUÊTES
NumMatr NomPre Age Province Fac
15/01216 Ciza Jean 21 Kirundo FSI
14/02132 Kiyago Paul 19 Rutana FSEA
15/02323 Karire Monia 19 Bururi IPA
15/01232 Butoyi Joane 20 Bubanza ISCO
14/03234 Heri Leon 21 Cankuzo Medecine RS

NumMatr NomPre Age Province Fac


15/02323 Karire Monia 19 Bururi IPA
THEORIES DES BASES DE DONNEES 62
LANGAGE ALGÉBRIQUE DES
REQUÊTES
R-S

NumMatr NomPre Age Province Fac


15/01216 Ciza Jean 21 Kirundo FSI
14/02132 Kiyago Paul 19 Rutana FSEA
S-R

NumMatr NomPre Age Province Fac


15/01232 Butoyi Joane 20 Bubanza ISCO
14/03234 Heri Leon 21 Cankuzo Medecine

THEORIES DES BASES DE DONNEES 63


LANGAGE ALGÉBRIQUE DES
REQUÊTES

4.4.4 Projection (π)


 L’operateur de projection est utilisée pour
produire a partir de R une nouvelle relation
ayant seulement quelque colonnes de R.
 La valeur de l’expression π(A1,A2,A3,…,An)(R)
est une relation ayant seulement les attributs
A1, A2, …,An de la relation R.
 Le schémas de la nouvelle relation est
l’ensemble des attributs de la projection.
THEORIES DES BASES DE DONNEES 64
LANGAGE ALGÉBRIQUE DES
REQUÊTES

NumMatr NomPre Age Province Fac


15/01216 Ciza Jean 21 Kirundo FSI
14/02132 Kiyago Paul 19 Rutana FSEA
15/02323 Karire Monia 19 Bururi IPA

NumMatr NomPre Fac


15/01216 Ciza Jean FSI
14/02132 Kiyago Paul FSEA
THEORIES DES BASES DE DONNEES 65
15/02323 Karire Monia IPA
LANGAGE ALGÉBRIQUE DES
REQUÊTES

Age
21
19

THEORIES DES BASES DE DONNEES 66


LANGAGE ALGÉBRIQUE DES
REQUÊTES
4.4.5 Sélection ()
 L’opérateur de sélection applique sur une
relation R produit une nouvelle relation
composée d’un sous-ensemble des tuples de
R.
 Les tuples de la nouvelle relation sont ceux
satisfaisant la condition C qui impliquent les
attributs de R.
 L’opération de sélection se note : C(R)
 Le schémas de la nouvelle relation est le
THEORIES DES BASES DE DONNEES 67
même que celui de R
LANGAGE ALGÉBRIQUE DES
REQUÊTES

 Les opérandes de la condition C sont les


constantes ou les attributs de R
 La condition C est appliquée sur chaque
tuple t de R en remplaçant, pour chaque
attribut A apparaissant dans la condition C,
le composant de t pour l’attribut A.
 Si après remplacement pour tous les
attributs de C, la condition est VRAIE, alors
t est un des tuples
THEORIES DES BASES DE DONNEES 68
LANGAGE ALGÉBRIQUE DES
REQUÊTES

NumMatr NomPre Age Province Fac


15/01216 Ciza Jean 21 Kirundo FSI
14/02132 Kiyago Paul 19 Rutana FSEA
15/02323 Karire Monia 19 Bururi IPA

NumMatr NomPre Age Province Fac


14/02132 Kiyago Paul 19 Rutana FSEA
THEORIES DES BASES DE DONNEES 69
15/02323 Karire Monia 19 Bururi IPA
LANGAGE ALGÉBRIQUE DES
REQUÊTES

NumMatr NomPre Age Province Fac


14/02132 Kiyago Paul 19 Rutana FSEA

THEORIES DES BASES DE DONNEES 70


LANGAGE ALGÉBRIQUE DES
REQUÊTES

THEORIES DES BASES DE DONNEES 71


LANGAGE ALGÉBRIQUE DES
REQUÊTES

 Quand R et S sont des relations, le résultat est le même.


 Toutefois, comme les membres de R et S sont des tuples
composés de plus d’un élément alors le tuple du produit
cartésien de R et S est un tuple plus long avec un
composant provenant de R et un autre provenant S .
 Par convention, le composant provenant de R
(l’opérande de gauche) précède le composant
provenant de S dans l’ordre des attributs du résultat.

THEORIES DES BASES DE DONNEES 72


LANGAGE ALGÉBRIQUE DES
REQUÊTES
 Le schémas de la relation résultat du produit
cartésien est l’union des schémas de R et de S.
 Toutefois, s’il arrive que les deux relations aient
certains attributs en commun, il est nécessaire de
trouver de nouveaux noms pour au moins
chacune des paires de ces attributs identiques.
 Pour distinguer l’attribut A qui apparait dans R
et S, on peut utiliser R.A pour l’attribut A
provenant de R et S.A pour celui provenant de S.
THEORIES DES BASES DE DONNEES 73
LANGAGE ALGÉBRIQUE DES
REQUÊTES


 Exemple: Soient
les relations P et
Q suivant:
A P.B Q.B C D
A B B C D 1 2 2 5 6
1 2 2 5 6 1 2 4 7 8
3 4 4 7 8 1 2 9 10 11
9 10 11 3 4 2 5 6
3 4 4 7 8
THEORIES DES BASES DE DONNEES 74

3 4 9 10 11
LANGAGE ALGÉBRIQUE DES
REQUÊTES

THEORIES DES BASES DE DONNEES 75


LANGAGE ALGÉBRIQUE DES
REQUÊTES

THEORIES DES BASES DE DONNEES 76


LANGAGE ALGÉBRIQUE DES
REQUÊTES

 La construction du
tuple joint peut être
simulée par la figure ci-
contre.
 Les attributs de R et S
peuvent être dans
n’importe quel ordre

THEORIES DES BASES DE DONNEES 77


LANGAGE ALGÉBRIQUE DES
REQUÊTES


 Exemple1: Soient
les relations P et Q
suivant:

A B B C D A B C D
1 2 2 5 6 1 2 5 6
3 4 4 7 8 3 4 7 8
9 10 11

THEORIES DES BASES DE DONNEES 78


LANGAGE ALGÉBRIQUE DES
REQUÊTES


 Exemple2: Soient les
relations U et V
suivantes:

A B C B C D A B C D
1 2 3 2 3 4 1 2 3 4
6 7 8 2 3 5 1 2 3 5
9 7 8 7 8 10 6 7 8 10

THEORIES DES BASES DE DONNEES


9 7 8 10
79
LANGAGE ALGÉBRIQUE DES
REQUÊTES

THEORIES DES BASES DE DONNEES 80


LANGAGE ALGÉBRIQUE DES
REQUÊTES

 Le résultat de l’opération est construite comme


suit:
 Prendre le produit cartésien de R et S
 Choisir seulement les tuples remplissant la
condition C
 Comme pour le produit cartésien, le schémas du
résultat est l’union des schémas de R et S avec
“R.” ou “S.” comme préfixe aux attributs si
nécessaire pour indiquer le schémas d’origine.
THEORIES DES BASES DE DONNEES 81
LANGAGE ALGÉBRIQUE DES
REQUÊTES

 Exemple: Soient les 

relations U et V
suivantes:
A B C B C D
A U.B U.C V.B V.C D
1 2 3 2 3 4
1 2 3 2 3 4
6 7 8 2 3 5
9 7 8 7 8 10 1 2 3 2 3 5
1 2 3 7 8 10
 Si on pose la
condition C: A<D
THEORIES DES BASES DE DONNEES
6 7 8 7
82
8 10
9 7 8 7 8 10
LANGAGE ALGÉBRIQUE DES
REQUÊTES

 Dans l’exemple précèdent, la


condition C ne concerne qu’une seule
opération de comparaison.
 Il y a des cas, ou on doit avoir
plusieurs opérations de condition liées
par “AND”.
 On parle de « F-jointure »

THEORIES DES BASES DE DONNEES 83


LANGAGE ALGÉBRIQUE DES
REQUÊTES


 Exemple: Soient les
relations U et V
suivantes:
A B C B C D A U.B U.C V.B V.C D
1 2 3 2 3 4 1 2 3 7 8 10
6 7 8 2 3 5
9 7 8 7 8 10

Si on pose la condition
THEORIES DES BASES DE DONNEES 84
C: A<DU.BV.B
LANGAGE ALGÉBRIQUE DES
REQUÊTES

4.4.9 Combiner les opérations pour former une


requête
 L’algèbre relationnelle permet de former les
expressions de complexité arbitraire en appliquant
les opérations sur les résultats des autres opérations.
 Les constructions des expressions de l’algèbre
relationnelles concernent l’application des opérateurs
sur les sous-expressions en utilisant les parenthèses si
nécessaire pour montrer le regroupement des
THEORIES DES BASES DE DONNEES 85

opérandes.
LANGAGE ALGÉBRIQUE DES
REQUÊTES Si on veut
savoir:
 Soit la relation Etudiant telle que :
• la matricule,

NumMatr NomPre Age Province Fac • les noms et
15/01216 Ciza Jean 21 Kirundo FSI prénoms
14/02132 Kiyago Paul 19 Rutana FSEA • Age
des étudiants de
15/02323 Karire Monia 19 Bururi IPA
la FSI ayant
15/01234 Kamina Oddy 20 Bujumbura IPA
l'âge inférieur à
14/09087 Haguma Danny 21 Bubanza FSEA 20 ans
15/05643 Uwera Fanny 20 Kirundo IPA
14/08765 Maombi Joy 19 Bujumbura FSI
15/08732 Dushime
THEORIESPeace 18 Bururi
DES BASES DE DONNEES FSI 86

14/02314 Ngaji Gloria 20 Gitega FSI


LANGAGE ALGÉBRIQUE DES
REQUÊTES

 Le chemin de résolution est le suivant:


1) Choisir les tuples avec l’Age<20
2) Choisir les tuples avec la Fac=‘FSI’
3) Calculer l’intersection de 1) et 2)
4) Projeter la relation obtenue en 3) dans
les attributs Matricule, NomPre et
Age.
THEORIES DES BASES DE DONNEES 87
LANGAGE ALGÉBRIQUE DES
REQUÊTES

 Cette résolution
peut être
représentée sous
forme d’un
arbre :

THEORIES DES BASES DE DONNEES 88


LANGAGE ALGÉBRIQUE DES
REQUÊTES

THEORIES DES BASES DE DONNEES 89


LANGAGE ALGÉBRIQUE DES
REQUÊTES

4.4.10 Nommer et Renommer


 Pour contrôler les noms des
attributs utilisés dans les
opérations d’algèbre
relationnelle, il est convenable
d’employer les opérateurs qui
renomment clairement les
relations.
THEORIES DES BASES DE DONNEES 90
LANGAGE ALGÉBRIQUE DES
REQUÊTES

THEORIES DES BASES DE DONNEES 91


LANGAGE ALGÉBRIQUE DES
REQUÊTES

 Exemple: Soit la relation du 

produit cartésien des


relations R et S suivantes:
A R.B S.B C D
1 2 2 5 6
1 2 4 7 8
1 2 9 10 11
3 4 2 5 6
3 4 4 7 8
THEORIES DES BASES DE DONNEES 92

3 4 9 10 11
LANGAGE ALGÉBRIQUE DES
REQUÊTES

A B X C D
1 2 2 5 6
1 2 4 7 8
1 2 9 10 11
3 4 2 5 6
3 4 4 7 8
THEORIES DES BASES DE DONNEES 93

3 4 9 10 11
LANGAGE ALGÉBRIQUE DES
REQUÊTES

THEORIES DES BASES DE DONNEES 94


LANGAGE ALGÉBRIQUE DES
REQUÊTES

4.4.12 Une notation linéaire pour


les expressions algébriques
Dans les expressions complexes, on
peut simplifier en nommant
temporellement les relations
intermédiaires et écrire une séquence
des taches créant une valeur pour
chacun.
 L’ordre des tâches est flexible.
THEORIES DES BASES DE DONNEES 95
LANGAGE ALGÉBRIQUE DES
REQUÊTES

 La notation est la suivante:


 Un nom de la relation et mise entre parenthèses des
attributs pour cette relation. Le nom Answer sera
utilisée conventionnellement pour le résultant de
l’étape finale.
 Le symbole d’affectation est :=
 N’importe quelle expression algébrique à droite. On
peut soit utiliser un seul opérateur par tâche ou bien
combiner les opérations algébriques dans le côté de
droite THEORIES DES BASES DE DONNEES 96
LANGAGE ALGÉBRIQUE DES
REQUÊTES

 Exemple:
 Considérant l’expression sous forme d’arbre du 4.4.9,
pour la requête : πMatricule, NomPre, Age
(σAge<20)Etudiant∩σFac=‘FSI’Etudiant)
 Une sequence possible des taches:
 R(t,y,l,i,s)=σAge<20(Etudiant)

 S(y,t,l,i,s)=σFac=‘FSI’(Etudiant)

 T(y,t,l,i,s)=R∩S

THEORIES DES BASES DE DONNEES 97


CONTRAINTES SUR LES RELATION

 Le schéma en lui-même ne fait aucune


restriction sur les données qui
peuvent être stockées.
 Toutefois, l’application attendue de ce
schéma peut impliquer plusieurs de
ces restrictions.

THEORIES DES BASES DE DONNEES 98


CONTRAINTES SUR LES
RELATION

THEORIES DES BASES DE DONNEES 99


CONTRAINTES SUR LES
RELATION

THEORIES DES BASES DE DONNEES 100


CONTRAINTES SUR LES
RELATION

 La première contrainte de R=, pouvait


être écrite comme R
 Techniquement  n’est pas une expression
de l’algèbre relationnelle, mais comme il y a
des expressions dont la valeur est évaluée a
 comme dans R-R, donc il n’y a pas
d’erreur de l’utiliser comme une expression
de l’algèbre relationnelle.

THEORIES DES BASES DE DONNEES 101


CONTRAINTES SUR LES
RELATION

4.5.2 Contrainte d’intégrité référentielle


Cette contrainte affirme qu’une valeur apparaissant dans
un contexte donné apparaissent dans un autre contexte
associé.
Exemple:

 dans la relation Etudiant, si dans les tuples des


étudiants, il y a un étudiant dont le nom est p qui est
étudiant de la faculté f alors dans la relation des
étudiants de la faculté f l’ étudiant p doit y figurer,
sinon on se demanderait si réellement cet étudiant p
102

existe. THEORIES DES BASES DE DONNEES


CONTRAINTES SUR LES
RELATION

THEORIES DES BASES DE DONNEES 103


CONTRAINTES SUR LES
RELATION

104

THEORIES DES BASES DE DONNEES


CONTRAINTES SUR LES
RELATION

4.5.3 Contraintes clé.


Une contrainte clé d’une relation signifie qu’il
n’y a pas deux tuples de la relations ayant la
même valeur pour l’attribut ou l’ensemble
d’attributs choisi comme clé de la relation.
En d’autres termes, s’il y a deux tuples
identiques pour la clé ils doivent être identiques
pour tous les autres attributs restant.
THEORIES DES BASES DE DONNEES 105
CONTRAINTES SUR LES
RELATION

 Ex: Etudiant( NumMatr, Nom, age, genre, Fac)


 On retient NumMatr (numéro matricule)
comme la clé, c’est-à-dire qu’il n’ y a pas deux
étudiants ayant le même numéro de matricule
sinon tous les autres attributs doivent être
identiques.
 Si on prend deux tuple (t1, t2) de la relation
Etudiant, on ne doit pas avoir une paire ayant le
même numéro de matricule et différent Nom
THEORIES DES BASES DE DONNEES 106
CONTRAINTES SUR LES
RELATION

107

THEORIES DES BASES DE DONNEES


CONTRAINTES SUR LES
RELATION

4.5.4 Autres exemples de contraintes


 Il y d’autres exemples de contraintes pouvant être
exprimées en utilisant l’algèbre relationnelle qui
restreint le contenu des BD. Et la plus part
concerne les valeurs acceptables dans certains
contextes.
 Ex: Le fait que chaque attribut a un type qui
contraint sur les valeurs possibles de cet attribut
comme INT et CHAR à longueur fixe.
THEORIES DES BASES DE DONNEES 108
CONTRAINTES SUR LES
RELATION

THEORIES DES BASES DE DONNEES 109


CONTRAINTES SUR LES
RELATION

 En d’autres cas, on rencontre des contraintes plus


complexes sur les valeurs a apparaitre.
 Ex:
 Supposant pour être délégué général on doit
avoir une ancienneté au moins d’une année a
l’école.

THEORIES DES BASES DE DONNEES 110


CONTRAINTES SUR LES
RELATION

THEORIES DES BASES DE DONNEES 111


CONTRAINTES SUR LES
RELATION

THEORIES DES BASES DE DONNEES 112


EXERCICES
1. Soit un schéma de base de données suivant:
Etudiant(NumMatr, NomEt, age, genre, Fac, period)
Cours(CodeCours, NomCours, Enseignants)
Enseignant(CodeEns, NomEns, grade)
Points(NumMatr, CodeCours,max)
Sachant que :

Abbreviation Signification Abbreviation Signification


NumMatr Numero matricule codeEns Code enseignant
NomEt Nom etudiant NomEns Nom Enseignant
Fac Faculte Max Maximum obtenu
period ancienete
THEORIES DES BASES DE DONNEES 113
NumMatr NomEt Age Fac Genre period
15/01216 Ciza Jean 21 FSI M 1
14/02132 Kiyago Paul 19 FSEA M 2
15/02323 Karire Monia 19 IPA F 1
15/01234 Kamina Oddy 20 IPA M 1
13/09087 Haguma Danny 21 FSEA F 3
14/05643 Uwera Fanny 20 IPA F 2
16/08765 Maombi Joy 19 FSI F 0 Instance de la
15/08732 Dushime Peace 18 FSI M 1 relation
14/02314 Ngaji Gloria 20 FSI F 2 Etudiant
13/09074 Buname Angelo 21 Medecine M 3
13/09873 Nahori Bon 21 FSEA M 3
15/09980 Bayaga Come 20 FSI M 1
16/09854 Rabiro Heri 19 IPA M 0
114

THEORIES DES BASES DE DONNEES


CodeCours NomCours Enseignant
C1 Maths Mark Instance de
C2 Physique Joseph la relation
C3 Chimie Pierre Cours
C4 Francais Maggy
C5 Anglais Jeanne
C6 Algoritme Mark
C7 Electronique Joseph

CodeEns NomEns grade


Ens1 Joseph CC
Ens2 Pierre CC Instance de la
Ens3 Mark PA relation
Ens4 Jeanne PA Enseignant
115
Ens5 Maggy CC
THEORIES DES BASES DE DONNEES
NumMatr CodeCours max
15/01216 C1 18
15/01216 C4 16
14/02132 C2 20
15/02323 C1 17
15/02323 C4 15
15/01234 C1 18
1501234 C4 17 Instance de
13/09087 C3 18 la relation
13/09087 C6 19 Points
14/05643 C6 16
15/09980 C1 18
15/08732 C1 19
15/08732 C4 17
14/02314 C7 19
13/09074 C5 20
116
13/09873 C2 16
13/09873 C3 15
I. Ecris les expression algébriques permettant de savoir:
1. Quel étudiant ayant une ancienneté d’au moins 2 ans?
2. L’enseignant ayant au moins deux cours
3. La liste des maxima obtenus dans les cours enseignés par
Mark
4. Les étudiants qui ont fait le cours de Physique et leurs
points
5. La liste des étudiants masculins de l’IPA
6. La relation T sur l’identité des étudiants et les cours
étudies et points obtenus
7. Etudiants n’ayant fait aucun examen
8. Etudiant(NumMatr, Nom, Fac) ayant les points <16 en
Maths
II. Tracer l’expression arborescente de chaque expression
III. Exprimer les contraintes possibles en utilisant
l’inclusion ou expression vidant l’ensemble.
THEORIES DES BASES DE DONNEES 117
Références

 Jeffrey D. Ullman and Jennifer Widom. A First Course in


DATABASE SYSTEMS, Third Edition , Pearson Eduction,
2008
 E.F. Codd, A relational model for large shared data banks,
Comm. ACM 13:6, pp.377-387, 1970.

THEORIES DES BASES DE DONNEES 118


THEORIES DES BASES DE DONNEES 119

Vous aimerez peut-être aussi