Vous êtes sur la page 1sur 6

1 Introduction

Introduction Base de Données


2 Modélisation d’une base de données

Fred Hémery
3 Système de Gestion de Base de Données Relationnelles
IUT Béthune
Département
Réseaux & Télécommunications
4 Le modèle relationnel
Base de Données (I4) — 05/06
5 L’algèbre relationnelle

logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 1 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 2 / 44

Qu’est-ce qu’une base de données Les différentes couches d’un SGBD

C’est un outil qui permet de gérer un volume important de données


Un Système de Gestion de Bases de Données (SGBD) est composé de
I modification,
plusieurs couches
I création,
I consultation,
I Un système de gestion de fichiers qui est indépendant du matériel utilisé
I suppression
I Le SGBD interne qui se charge du placement et de l’organisation des
données à l’intérieur du système de fichiers (liens, références entre
Une interface entre les utilisateurs et la représentation physique des données)
données I Le SGBD externe qui se charge de la présentation des données aux
Un ensemble de logiciels et/ou de matériels permettant la manipulation utilisateurs à l’aide d’outils et de langages de manipulation de données
aisée d’un volume important d’information

logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 3 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 4 / 44

Les différentes couches d’un SGBD Les apports d’un SGBD

Indépendance physique
I L’utilisateur ne voit pas les disques supports, les fonctions d’accès aux
données qui sont spécifiques au système d’exploitation
I Cela évite de traiter la maintenance de l’application en cas de modification
de la structure des enregistrements
Indépendance logique
I Chaque utilisateur peut avoir une vision particulière des données

logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 5 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 6 / 44

Les apports d’un SGBD Les apports d’un SGBD

Langage de manipulation de données pour des non spécialistes Administration centralisée des données
I utilisation d’un langage qui permet d’exprimer ce que l’on veut faire sans I cohérence des données par des contraintes d’intégrité
indiquer comment ce sera fait I sauvegarde
Accès aux données efficace
I partage des données (accès concurrents)
I sécurité d’accès aux données
I une organisation efficace des données en fonction du langage de I Exemple de contraintes d’intégrité
manipulation F un livre ne pourra pas être emprunté que par un adhérent de la bibliothèque
I utilisation optimisée des périphériques F seuls les utilisateurs membres du rôle enseignant peuvent modifier les notes
I utilisation d’algorithmes de recherches efficaces des étudiants

logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 7 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 8 / 44
La modélisation des données La modélisation à partir d’un diagramme de classe UML

Avant de pouvoir stocker les données, il faut avoir une réflexion sur leurs
organisations à partir d’une description (sous forme de cahier des Le diagramme de classes UML permet de modéliser les informations en
charges) textuelle. utilisant les concepts objets.
On parle de phase d’analyse, de conception de la base de données Un objet regroupe un ensemble de propriétés qui sont manipulées par
Plusieurs méthodes existent : des méthodes. De plus un objet à une identité propre.
I Merise Une propriété : donnée élémentaire et indécomposable du Système
I Actuellement, on parle de méthodes de conception orientée objets comme d’Information Par exemple une date, un prix, une note, . . .
RUP (Rational Unified Process), ...
Une entité : représente un objet réel dans le S.I. ayant une existence
Chaque méthode utilise un langage de description de l’organisation des
propre. Par exemple une personne, une voiture, un contrôle, . . . Elle
données
regroupe des propriétés.
I Merise et les modéles Entité-Association ou Entité-Relation
I RUP et le diagramme de classes du langage UML

logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 9 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 10 / 44

La modélisation à partir d’un diagramme de classe UML Le diagramme de classes UML

Une association est un lien logique entre plusieurs entités. Le nombre


d’entités intervenants caractérise sa dimension.
Une entité est modélisée par un objet en UML, par exemple : I réflexive : sur la même entité
I binaire : entre deux entités
I ternaire : entre trois entités
I n-aire : entre n-entités
Une association peut identifier une action entre les entités en relation.

logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 11 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 12 / 44

Le diagramme de classes UML Le diagramme de classes UML

Associations réflexives
La multiplicité est le nombre d’instances dans la classe de l’entité qui vont
être reliées par l’association.
les différentes multiplicités : Les entités "association" sont des
associations qui ont des propriétés
1 1 et 1 seule
0..1 zéro ou 1
∗ zéro ou plusieurs Associations binaires
M M entités
M ..N entre M et N
entités

logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 13 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 14 / 44

Le diagramme de classes UML Présentation générale


Un SGBDR (Système de Gestion de Bases de données Relationnelles)
organise les données en tables. Il est basé sur l’algèbre relationnelle
(théorie des ensembles). Introduit par T. CODD (1970, IBM San José).
Définitions :
Domaine Ensemble fini ou infini de valeurs possibles. Par
exemple le domaine des entiers, le domaine des
couleurs de l’arc en ciel.
Schéma relationnel R, noté R (A1 , A2 , . . . , An ), est constituée d’un nom R
et d’une liste d’attributs A1 , A2 , . . . , An .
Attribut Représente le nom du rôle joué par le domaine D
dans le schéma relationnel R
Degré Représente le nombre d’attributs n d’un schéma
relationnel
Un exemple : Le schéma relationnel de degré 3 décrivant une liste de
personnes avec leur age.
PERSONNE(nom, prenom, age)
logo si on précise le domaine de chaque attribut logo
PERSONNE(nom:String, prenom:String, age:int)
(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 15 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 17 / 44
Présentation générale Présentation générale

Un exemple de produit cartésien :


Définitions :
D (fruit ) = {Orange, Banane, Cerise} (1)
Relation ou état relationnel noté r (R ) est un ensemble de
n − tuples noté r = (t1 , t2 , . . . , tm ). Chaque n − tuple est D (couleur ) = {Rouge, Jaune} (2)
une liste ordonnée de valeurs t =< v1 , v2 , . . . , vn > où
Le produit cartesien D (fruit ) ∗ D (couleur ) donne
chaque valeur vi ∈ D (Ai ) (est un élément du domaine
de l’attribut Ai ).
Produit cartésien définit l’ensemble complet des n − tuples, on note Orange Rouge
D (A1 ) ∗ D (A2 ) ∗ . . . ∗ D (An ) le produit cartésien des Orange Jaune
domaines D (Ai ) du schéma relationnel R de degré n. Banane Rouge
On notera que r (R ) ⊆ (D (A1 ) ∗ D (A2 ) ∗ . . . ∗ D (An )). Banane Jaune
Cerise Rouge
Cerise Jaune
logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 18 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 19 / 44

Présentation générale Présentation générale

la relation d’un schéma relationnel est un sous ensemble du produit la relation d’un schéma relationnel est un sous ensemble du produit
cartésien de plusieurs domaines. Elle est caractérisée par son nom. cartésien de plusieurs domaines. Elle est caractérisée par son nom.
On parle d’intention d’un schéma lorsque l’on évoque les attributs. On parle d’intention d’un schéma lorsque l’on évoque les attributs.
On parle d’extension d’un schéma lorsque l’on évoque l’ensemble des On parle d’extension d’un schéma lorsque l’on évoque l’ensemble des
n-uplets (la relation r (R ), le sous-ensemble du produit cartésien) n-uplets (la relation r (R ), le sous-ensemble du produit cartésien)

intention
z }| {
Personne Nom Prénom Personne Nom Prénom
Lefebvre Jean Lefebvre Jean
Martin Robert Martin Robert
Durand Jules Durand Jules

logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 20 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 20 / 44

Présentation générale Présentation générale

Une clé K d’un schéma relationnel R est constituée de un ou plusieurs


la relation d’un schéma relationnel est un sous ensemble du produit
attributs. Elle a la propriété suivante : si on prend deux n − uplets
cartésien de plusieurs domaines. Elle est caractérisée par son nom.
quelconques de r (R ), ti et tj , la valeur de la clé sera différente. De plus,
On parle d’intention d’un schéma lorsque l’on évoque les attributs. elle doit être minimale, c’est à dire que si on retire un attribut de la clé, la
On parle d’extension d’un schéma lorsque l’on évoque l’ensemble des propriété précédente ne doit plus être vérifiée.
n-uplets (la relation r (R ), le sous-ensemble du produit cartésien) Dans un schéma relationnel R, on peut avoir plusieurs clés. On les
appelle les clés candidates.
intention La clé primaire est l’une des clés candidates.
z }| {
 Par exemple dans le schéma relationnel en intension Personne(nom,
Personne Nom Prénom  prénom), L’(ou les) attribut(s) souligné(s) constitue(nt) la clé primaire du
Lefebvre Jean

extension schéma relationnel.
Martin Robert
Une base de données relationnelle est constituée de l’ensemble des



Durand Jules
schémas relationnels associé à un ensemble de contraintes d’intégrités
d’entités (à l’intérieur d’un schéma), référentielles (entre les schémas).
logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 20 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 21 / 44

Le modèle relationnel Du modèle conceptuel au modèle relationnel

Le vocabulaire est le même que pour l’algèbre relationnelle


I Domaine : ensemble de valeurs que peut prendre un attribut
I Attribut : une colonne de la relation, une propriété
I Tuples, n-uplets : une ligne
I Relation : ensemble des tuples Les règles de transformation entre le modèle conceptuel (diagramme de
classes UML) au modèle relationnel
Introduction de contraintes
I classe =⇒ relation
I Contrainte de domaine (par exemple une note est comprise entre 0 et 20) I propriété =⇒ un attribut
I Contrainte de clé (unicité de la valeur d’une clé dans l’ensemble des tuples I identité objet (implicite, gérée par le langage) =⇒ ajoute un attribut qui
de la relation)
devient l’identifiant (clé primaire) de la table. Il est possible de choisir une
I Contrainte de valeur non nulle (la valeur d’un attribut ne peut pas être nulle)
clé primaire parmi les attributs de la relation si on peut garantir l’unicité.
I Contrainte d’intégrité référentielle : elle est spécifiée entre deux relations.
Elle précise que tout tuple qui référence une autre relation doit référencer
un tuple existant de cette relation.
I Contrainte d’intégrité sémantique (salaire employé < salaire PDG) et
I Contrainte de dépendance fonctionnelle (la valeur de l’attribut X =⇒ la
valeur de l’attribut Y )
logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 22 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 23 / 44
Du modèle conceptuel au modèle relationnel Du modèle conceptuel au modèle relationnel
Les associations : en fonction de la multiplicité
Les associations
) : en fonction de la multiplicité ∗ ⇐⇒ ∗ Dans ce cas on crée une relation supplémentaire
1 ⇐⇒ 1
La clé primaire de la relation dont la classe asso-
1 ⇐⇒ ∗
ciée a un rôle dans l’association avec la multiplicité
égale à 1 devient un attribut (clé étrangère) dans la Livre Id Titre
relation dont la classe associée a un rôle dans l’as- Auteur Id Nom Prénom
1 Le vol du corbeau
1 Lefebvre Jean
sociation avec la multiplicité égale à 1 ou N. 2 La souris du desert
2 Martin Robert
3 Le bain de l’éléphant
3 Durand Jules
4 Le troupeau de gnus

Aecrit IdLivre IdAuteur


1 1
Auteur Id Nom Prénom Livre Id Titre IdAut.
1 Lefebvre Jean 1 Le vol du corbeau 1
2 2
2 Martin Robert 2 La souris du desert 2 3 2
3 Durand Jules 3 Le bain de l’éléphant 2 4 3
logo 4 1 logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 24 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 25 / 44

L’algèbre Relationnelle L’algèbre Relationnelle

Permet de formaliser les opérations sur les ensembles


L’algèbre relationnelle repose sur 5 opérateurs de base qui sont
combinés ensuite pour faciliter le travail de l’utilisateur Présentation d’un exemple de base de données
I La selection σ I materiel(ref, description, tarif,Achat,Qualité)
I La projection π I option(refMat, libelle, prix)
I Le produit cartésien ∗ I client(id, nom, prenom, adresse, ville)
I L’union I location(idClient, refMat, debut, reduction)
I La différence −
Le ou les opérandes d’un opérateur est(sont) une(des) relation
Le résultat d’un opérateur est une relation

logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 26 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 27 / 44

L’algèbre Relationnelle L’algèbre Relationnelle

La selection σ
Présentation d’un exemple de base de données
La selection σF (R ) s’applique à une relation R. Elle et extrait de cette
option refMat libelle prix
P12 Foret Béton 5 materiel ref description tarif Achat Qual. relation les tuples qui satisfont un critère de selection F .
P12 Batterie 10 P12 perceuse 20 01/01/96 A
C81 Nettoyeur 45 C81 compresseur 75 01/06/97 B Le critère F peut être :
E33 Protection 11 E33 échafaudage 45 01/01/98 A
E33 Rallonge 2m 15 P04 poste de soudure 35 01/06/98 A
I La comparaison entre un attribut de la relation, a, et une constante cst.
P04 Masque 3 Cette comparaison s’écrit a θ cst, où θ appartient à {<, =, >, ≥, ≤}
I La comparaison entre deux attributs, a1 , a2 , qui s’écrit a1 θ a2 avec les
mêmes opérateurs de comparaison que précédemment.
location id refMat debut Réd. I Par exemple : exprimer la requête qui donne tous les clients d’Arras :
1 E33 2003-05-15 5
2 C81 2003-05-05 2
client id nom prenom Adresse Ville
3
2
P12
E33
2003-04-18
2003-04-25
0
5
1 Martin Robert rue des Lilas Bethune σville=0 Arras0 (client )
2 Dupont Jules Av Liberté Arras
2 P04 2003-03-28 10
3 Durand Robert Pl. République Lens
1 C81 2003-06-08 3
3 P04 2003-05-02 2
client id nom prenom Adresse Ville
2 C81 2003-06-10 3 2 Dupont Jules Av Liberté Arras

logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 28 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 29 / 44

L’algèbre Relationnelle L’algèbre Relationnelle

Le produit cartésien ∗
La projection π
Le produit cartésien est une opération binaire. Le produit cartésien entre
La projection πa1 ,a2 ,...,ai (R ) s’applique à une relation R.
deux relations R et S se note R ∗ S. Il permet de créer une nouvelle
Elle ne garde que les Attributs a1 , a2 , . . . , ai . Donc contrairement à la
relation ayant pour schéma la juxtaposition des schémas de R et S. De
sélection, on ne supprime pas des lignes, mais des colonnes.
plus chaque tuple de R est associé avec un tuple de S.
Par exemple : exprimer la requête qui donne le nom et le prénom des
Par exemple :
clients
R ∗S A B C D
a b c d
S C D
R A B a b u v
Le nombre de lignes du résultat doit a b
c d
a b x y
u v
correspondre au nombre de lignes de la x y
x y
x
x
y
y
c
u
d
v
πnom,prenom (client ) relation de départ, sauf si deux lignes x y x y

client nom prenom qui étaient distinctes se retrouvent Le nombre de lignes dans le résultat est exactement de |R | ∗ |S |
Martin Robert
Dupont Jules
identiques. (|R | indique le nombre de lignes dans la relation R)
Durand Robert client prenom
πprenom (client ) Robert En cas de conflit dans le nom des attributs, on utilise la notation pointée.
Jules
(R .A, R .B, S .C, S .D)
logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 30 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 31 / 44
L’algèbre Relationnelle L’algèbre Relationnelle

L’union ∪
La différence −
L’union est une opération binaire. L’union entre deux relations R et S se
La différence est une opération binaire. La différence entre deux relations
note R ∪ S. Pour pouvoir être utilisée, les relations R et S doivent avoir le
R et S se note R − S. Pour pouvoir être utilisée, les relations R et S
même schéma. Elle permet de créer une nouvelle relation ayant le même
doivent avoir le même schéma. Elle permet de créer une nouvelle relation
schéma que R ou S. La relation résultat contient les tuples de la relation
ayant le même schéma que R ou S. La relation résultat contient les
R plus les tuples de la relation S, sans doublon.
tuples de la relation R qui ne sont pas des tuples de la relation S.
Par exemple :
Par exemple :
R ∪S A B
S A B S A B
R A B a b R A B
c d c d R −S A B
a b x y a b
u v u v a b
x y c d x y
x y x y
u v

logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 32 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 33 / 44

L’algèbre Relationnelle L’algèbre Relationnelle

Un exemple de jointure externe Θ :


Les opérations dérivées Arrivage Cru Année Région
Les opérations dérivées sont des opérations obtenues en composant les Estimation Région Appréciation Volnay 1989 Bourgogne
Bourgogne Bonne Volnay 1990 Bourgogne
opérations précédentes.
Bordeaux Bonne Médoc 1990 Bordeaux
I La θ − jointure consiste à rapprocher selon un qualificateur Q deux Beaujolais Moyenne Tockay 1995 Alsace
relations R et S sur lesquelles on a effectué un produit cartésien. Chanturgues 1990 Auvergne
θ − jointure = σQ (R ∗ S )
Par exemple si l’on veut connaître les options disponibles pour chaque Estimation Θ Arrivage Cru Année Région Appréciation
matériel en location on donnera la requête suivante : Volnay 1989 Bourgogne Bonne
θmateriel .ref =option.refMat (materiel ∗ option)
Volnay 1990 Bourgogne Bonne
I La jointure externe Θ est une Opération de jointure entre deux relations R
et S pour obtenir une relation contenant aussi les tuples ne participant pas
Médoc 1990 Bordeaux Bonne
à la jointure et pour lesquels on donne une valeur nulle pour chaque Tockay 1995 Alsace −
attribut de l’autre relation. Chanturgues 1990 Auvergne −
− − Beaujolais Moyenne
logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 34 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 35 / 44

L’algèbre Relationnelle L’algèbre Relationnelle

La division ÷ : Opération entre deux relations R et S dont l’une contient


T
L’intersection : Opération entre deux relations R et S de même schéma les attributs de l’autre. Soit Z = {Az1 , Az2 , . . . , Azn } l’ensemble des
qui crée une relation T de même schéma que R ou S et qui contient les attributs de R et soit X = (Ax1 , Ax2 , . . . , Axm ) l’ensemble des attributs de S
alors X ⊆ Z , on notera Y = (Z − X ).
tuples appartenant à la fois à R et à S.
I Le résultat est une relation T dont le schéma contient les attributs de R qui
T = (R ∩ S ) = R − (R − S ) = S − (S − R )
ne sont pas dans S (c’est à dire Z − X ).
I Pour qu’un tuple t apparaisse dans T , les valeurs dans t doivent apparaître
dans R de manière associée avec chacun des tuples de S.
I L’opérateur de division peut s’écrire de la manière suivante avec les
opérateurs de base :

T = R ÷S
T1 = πY (R )
T2 = πY ((S ∗ T1 ) − R )
T = T1 − T2
logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 36 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 37 / 44

L’algèbre Relationnelle L’algèbre Relationnelle


Les opérations de calcul
La division ÷ : un exemple Compte (count) est une opération qui permet de dénombrer les lignes
d’une relation qui ont une (ou plusieurs) même valeur d’attribut en
R A B T1 = πY (R ) B T2 =
πY ((S ∗ T1 ) − R )
commun. La relation en résultat ne contient que les attributs de
a1 b1 b1 B
a2 b1 b2 b2 regroupement Xi avec leur occurrence dans la relation.
a3 b1 b3 b3 Si aucun attribut de regroupement n’est donné, on renvoie le nombre de
a4 b1 b4
a1 b2 (S ∗ T1 ) A B tuples dans la relation.
a3 b2 a1 b1 On notera CountXi ,...,Xn (R ) avec Xi , . . . , Xn les attributs de regroupement.
a2 b3 a2 b1 Quels sont les bi de R qui
a3 b3
Par exemple
a3 b1
a4 b3 sont en relation avec tous
a1 b2 S A B C
a1 b4 a2 b2 les ai de S ?
a2 b4 a3 b2
a n 17 CountB (R ) B Count
a3 b4 a1 b3 b o 14 n 2
S A a2 b3
T = T1 − T2
c n 9 m 2
a1 a3 b3
a2 a1 b4 T = R ÷S B d p 13 o 1
a3 a2 b4 b1 e m 20 p 1
a3 b4 b4
logo f m 10 logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 38 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 39 / 44
L’algèbre Relationnelle Les requêtes utilisant l’algèbre Relationnelle

Les opérations de calcul (suite)


Somme (sum) est une opération qui permet de faire la somme cumulée
des valeurs d’un attribut Y d’une relation qui ont une (ou plusieurs) même On utilise la composition des opérations de l’algèbre relationnelle pour
valeur d’attribut en commun. La relation en résultat ne contient que les définir des requêtes complexes. La composition est rendue possible par
attributs de regroupement Xi avec la somme cumulée des Y le fait que tout opérateur produit en sortie une relation sur laquelle on
correspondants. peut appliquer à nouveau des opérateurs.
Si aucun attribut de regroupement n’est donné, on renvoie la somme Par exemple :
cumulée de toutes les valeurs de Y .
Donner la liste de matériel qui a été acheté après 1997 et d’un
On notera SumXi ,...,Xn (R , Y ) avec Xi , ..., Xn les attributs de regroupement
coût de location supérieur à 70 euros.
et Y l’attribut dont les valeurs sont cumulées. Par exemple
SumB (R , C ) B Sum I σtarif>70 (σachat>1997 (materiel)), ou en utilisant le et logique ’∧’,
I σachat>1997 (materiel ) ∧ σtarif>70 (materiel)
n 26
Sum(R,C) Sum
m 30
83
o 14
p 13 logo logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 40 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 41 / 44

Les requêtes utilisant l’algèbre Relationnelle Les requêtes utilisant l’algèbre Relationnelle

Autre exemple
Donner le nom, prénom des clients qui ont eu une remise
Autre exemple
supérieure à 3% sur leur location.
Donner la liste de matériel qui a été acheté après 1997 ou d’un
coût de location supérieur à 70 euros. I πnom,prenom (θid =id (Client , σreduction>3 (location)))

I σachat>1997 (materiel ) ∪ σtarif>70 (materiel) ou en utilisant le ou logique ’∨’, Autre exemple


I σachat>1997 (materiel ) ∨ σtarif>70 (materiel) Donner le nom, prénom des clients qui ont loué le compresseur
Autre exemple I πnom,prenom (θref =refmat (θid =id (Client ∗ σdescription=0 compresseur0 (materiel )) ∗
Donner la liste de matériel qui a été acheté après 1997 mais location))
qui ne sont pas de qualité A.
Autre exemple
I σachat>1997 (materiel ) − σqualite=0 A0 (materiel ) Donner la liste du matériel qui ont toutes les options avec un
coût supérieur à 10 euros

logo
I πdescription (materiel ) − πdescription (θref =refmat (σprix ≤10 (option) ∗ materiel ))logo

(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 42 / 44 (IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 43 / 44

Les requêtes utilisant l’algèbre Relationnelle


Soit la base de données suivante :
I fournisseur(fno,nom, adresse, ville)
I produit(pno, libelle, prix, poids, couleur)
I commande(cno, fno, pno, quantite)

Donner les attributs référence, prix et quantité des produits


commandés en plus de 10 exemplaires par commande.

1 πpno,prix,quantite (σquantite>10 (θpno=pno (produit ∗ commande)))


2 πpno,prix,quantite (θpno=pno (produit ∗ σquantite>10 (commande)))
3 θpno=pno (πpno,prix (produit ) ∗ σquantite>10 (πpno,quantite (commande)))
Dans l’hypothèse où
chaque colonne fait 10 cars
la table produit contient 8 lignes de 5 cols = 400 cars
la table commande contient 10 lignes de 4 cols = 400 cars
La requête 1 occupera un espace de 400 ∗ 400 cars = 160000 cars, alors que
La requête 3 occupera un espace de (8 ∗ 2 ∗ 10) ∗ (2 ∗ 2 ∗ 10) cars = 6400 cars
logo

soit un gain de 75% .


(IUT Béthune — Département R&T) Introduction Base de Données Base de Données (I4) — 05/06 44 / 44

Vous aimerez peut-être aussi